From b1e213ccf0ca95e56e79cb67d92e5d907c84e07a Mon Sep 17 00:00:00 2001 From: "certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Sat, 16 Oct 2004 15:25:18 +0000 Subject: BUILD : 1.7.5 (404) BUGS : NOTES : Fixed bug 188. git-svn-id: svn://svn.anope.org/anope/trunk@404 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@268 5417fbe8-f217-4b02-8779-1006273d7864 --- src/nickserv.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src') diff --git a/src/nickserv.c b/src/nickserv.c index 8e3974ef8..784efa341 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -2319,6 +2319,7 @@ static int do_confirm(User * u) static int do_group(User * u) { NickAlias *na, *target; + NickCore *nc; char *nick = strtok(NULL, " "); char *pass = strtok(NULL, " "); int i; @@ -2338,6 +2339,30 @@ static int do_group(User * u) return MOD_CONT; } + if (RestrictOperNicks) { + for (i = 0; i < RootNumber; i++) { + if (strstr(u->nick, ServicesRoots[i]) && !is_oper(u)) { + notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, + u->nick); + return MOD_CONT; + } + } + for (i = 0; i < servadmins.count && (nc = servadmins.list[i]); i++) { + if (strstr(u->nick, nc->display) && !is_oper(u)) { + notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, + u->nick); + return MOD_CONT; + } + } + for (i = 0; i < servopers.count && (nc = servopers.list[i]); i++) { + if (strstr(u->nick, nc->display) && !is_oper(u)) { + notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, + u->nick); + return MOD_CONT; + } + } + } + if (!nick || !pass) { syntax_error(s_NickServ, u, "GROUP", NICK_GROUP_SYNTAX); } else if (time(NULL) < u->lastnickreg + NSRegDelay) { -- cgit