summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/bs_bot.c2
-rw-r--r--src/core/cs_access.c7
-rw-r--r--src/core/cs_forbid.c4
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)