diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/bs_bot.c | 2 | ||||
-rw-r--r-- | src/core/cs_access.c | 7 | ||||
-rw-r--r-- | src/core/cs_forbid.c | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c index e2c845ea2..eaf66b9c8 100644 --- a/src/core/bs_bot.c +++ b/src/core/bs_bot.c @@ -197,6 +197,8 @@ int do_bot(User * u) notice_lang(s_BotServ, u, BOT_DOES_NOT_EXIST, oldnick); else if (strlen(nick) > NickLen) notice_lang(s_BotServ, u, BOT_BAD_NICK); + else if (strlen(user) >= USERMAX) + notice_lang(s_BotServ, u, BOT_BAD_IDENT); else { NickAlias *na; diff --git a/src/core/cs_access.c b/src/core/cs_access.c index cf09573c5..f3858b44f 100644 --- a/src/core/cs_access.c +++ b/src/core/cs_access.c @@ -136,9 +136,6 @@ static int access_list_callback(User * u, int num, va_list args) * The /cs access command. * @param u The user who issued the command * @param MOD_CONT to continue processing other modules, MOD_STOP to stop processing. - * - * Known bug: EVENT_ACCESS_DEL won't be triggered if you use numbers instead of nicks. - * -Certus **/ int do_access(User * u) { @@ -346,8 +343,12 @@ int do_access(User * u) } } } + /* We don't know the nick if someone used numbers, so we trigger the event without + * nick param. We just do this once, even if someone enters a range. -Certus */ if (na) send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, na->nick); + else + send_event(EVENT_ACCESS_DEL, 2, ci->name, u->nick); } } else if (stricmp(cmd, "LIST") == 0) { int sent_header = 0; diff --git a/src/core/cs_forbid.c b/src/core/cs_forbid.c index e7efd39d5..07d52f174 100644 --- a/src/core/cs_forbid.c +++ b/src/core/cs_forbid.c @@ -81,6 +81,10 @@ int do_forbid(User * u) CHAN_FORBID_SYNTAX)); return MOD_CONT; } + if (*chan != '#') { + notice_lang(s_ChanServ, u, CHAN_SYMBOL_REQUIRED); + return MOD_CONT; + } if (readonly) notice_lang(s_ChanServ, u, READ_ONLY_MODE); if ((ci = cs_findchan(chan)) != NULL) |