diff options
author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-01-22 11:49:08 +0000 |
---|---|---|
committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-01-22 11:49:08 +0000 |
commit | 5a191ce5a64bb2b626d6a79c5d63e589f55d9dad (patch) | |
tree | 9b86f633d8bd9ccdf6ce98b4aa9f7a8ab776321d /src | |
parent | a68730adb16fb4ca5697cfe5b19e8e4181aa91ad (diff) |
Backport of fix for bug 1000, do not allow a nick to be grouped if the IRCd protocol deems the nick invalid.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@1926 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ns_group.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/ns_group.c b/src/core/ns_group.c index 2b0b9a92a..3be4060d9 100644 --- a/src/core/ns_group.c +++ b/src/core/ns_group.c @@ -6,8 +6,8 @@ * Please read COPYING and README for further details. * * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - * + * Based on the original code of Services by Andy Church. + * * $Id$ * */ @@ -111,6 +111,11 @@ int do_group(User * u) return MOD_CONT; } + if (!anope_valid_nick(u->nick)) { + notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, u->nick); + return MOD_CONT; + } + if (RestrictOperNicks) { for (i = 0; i < RootNumber; i++) { if (stristr(u->nick, ServicesRoots[i]) && !is_oper(u)) { @@ -233,7 +238,7 @@ int do_group(User * u) if (ircd->modeonreg) { len = strlen(ircd->modeonreg); strncpy(modes,ircd->modeonreg,512); - if(ircd->rootmodeonid && is_services_root(u)) { + if(ircd->rootmodeonid && is_services_root(u)) { strncat(modes,ircd->rootmodeonid,512-len); } else if(ircd->adminmodeonid && is_services_admin(u)) { strncat(modes,ircd->adminmodeonid,512-len); |