diff options
author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-09-11 18:06:27 +0000 |
---|---|---|
committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-09-11 18:06:27 +0000 |
commit | 78030c9c0ab2aa692b7af5aaabf763397914c23c (patch) | |
tree | ae5c190be1cf5f8f9fc5f1628364dbc2ffb81f14 /src | |
parent | 46c42cbee471e7fef117881c0b9d62056e8efe67 (diff) |
BUILD : 1.7.10 (881) BUGS : NOTES : Added a NickLen directive to make sure bot nicks are not longer than the nets
git-svn-id: svn://svn.anope.org/anope/trunk@881 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@628 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/config.c | 12 | ||||
-rw-r--r-- | src/core/bs_bot.c | 7 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/config.c b/src/config.c index 3abdc46bd..5f956b229 100644 --- a/src/config.c +++ b/src/config.c @@ -44,6 +44,7 @@ static char *temp_userhost; char *HelpChannel; char *LogChannel; char *NetworkName; +int NickLen; char *s_NickServ; char *s_ChanServ; @@ -517,6 +518,7 @@ Directive directives[] = { {"NetworkName", {{PARAM_STRING, PARAM_RELOAD, &NetworkName}}}, {"NewsCount", {{PARAM_POSINT, PARAM_RELOAD, &NewsCount}}}, {"NewsDB", {{PARAM_STRING, PARAM_RELOAD, &NewsDBName}}}, + {"NickLen", {{PARAM_POSINT, 0, &NickLen}}}, {"NickservDB", {{PARAM_STRING, PARAM_RELOAD, &NickDBName}}}, {"Numeric", {{PARAM_STRING, PARAM_RELOAD, &Numeric}}}, {"PreNickServDB", {{PARAM_STRING, PARAM_RELOAD, &PreNickDBName}}}, @@ -945,12 +947,11 @@ int read_config(int reload) CHECK(RemoteServer); CHECK(ServerName); CHECK(ServerDesc); - } - if (!reload) { + CHECK(NickLen); + if (RemoteServer3) CHECK(RemoteServer2); - } - if (!reload) { + if (LocalHost && RemoteServer) { if ((!stricmp(LocalHost, RemoteServer)) && LocalPort == RemotePort) { @@ -962,6 +963,9 @@ int read_config(int reload) retval = 0; } } + + if (NickLen >= NICKMAX) + NickLen = NICKMAX - 1; } CHECK(IRCDModule); diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c index af4a587d9..cd826d39d 100644 --- a/src/core/bs_bot.c +++ b/src/core/bs_bot.c @@ -84,7 +84,6 @@ int do_bot(User * u) BotInfo *bi; char *cmd = strtok(NULL, " "); char *ch = NULL; - int len; if (!cmd) syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX); @@ -100,9 +99,8 @@ int do_bot(User * u) notice_lang(s_BotServ, u, BOT_BOT_READONLY); else if (findbot(nick)) notice_lang(s_BotServ, u, BOT_BOT_ALREADY_EXISTS, nick); - else if((len=strlen(nick))>NICKMAX) { + else if (strlen(nick) > NickLen) notice_lang(s_BotServ, u, BOT_BAD_NICK); - } else { NickAlias *na; @@ -195,9 +193,8 @@ int do_bot(User * u) notice_lang(s_BotServ, u, BOT_BOT_READONLY); else if (!(bi = findbot(oldnick))) notice_lang(s_BotServ, u, BOT_DOES_NOT_EXIST, oldnick); - else if((len=strlen(nick))>NICKMAX) { + else if (strlen(nick) > NickLen) notice_lang(s_BotServ, u, BOT_BAD_NICK); - } else { NickAlias *na; |