diff options
author | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-11-07 03:36:30 +0000 |
---|---|---|
committer | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-11-07 03:36:30 +0000 |
commit | c58d37f49dfc674920ae2ccd93d6fd32df68544d (patch) | |
tree | cc978d68faceecbac0b087cd2a6e8218ca23643d /src/nickserv.c | |
parent | b4489cffedcc217d72403f00c3087e446e4b7348 (diff) |
BUILD : 1.7.6 (439) BUGS : 68, 170, 209 NOTES : 1. DrSteins XOP patch (bug# 170), 2. Cleaned up the English language file for grammar (bug# 209), 3. Patch that fixes segfaults under NetBSD, 4. Cleaned up some places that could lead to segfaults, 5. DrSteins patch for NS ACCESS LIST, 6. Chanserv taking modes more than once (bug #68), 7. Fixed errors when doing "make" under some BSD systems, 8. Fixed syntax error when NSForceEmail is disabled
git-svn-id: svn://svn.anope.org/anope/trunk@439 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@294 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/nickserv.c')
-rw-r--r-- | src/nickserv.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/nickserv.c b/src/nickserv.c index 65ee90489..87a2228dc 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -2044,9 +2044,13 @@ static int do_register(User * u) } } - if (!pass || (NSForceEmail && !email)) { - syntax_error(s_NickServ, u, "REGISTER", - NICK_REGISTER_SYNTAX_EMAIL); + if (!pass) { + if (NSForceEmail && !email) { + syntax_error(s_NickServ, u, "REGISTER", + NICK_REGISTER_SYNTAX_EMAIL); + } else { + syntax_error(s_NickServ, u, "REGISTER", NICK_REGISTER_SYNTAX); + } } else if (time(NULL) < u->lastnickreg + NSRegDelay) { notice_lang(s_NickServ, u, NICK_REG_PLEASE_WAIT, NSRegDelay); } else if (u->na) { /* i.e. there's already such a nick regged */ @@ -3247,6 +3251,11 @@ static int do_access(User * u) if (cmd && stricmp(cmd, "LIST") == 0 && mask && is_services_admin(u) && (na = findnick(mask))) { + if (na->nc->accesscount == 0) { + notice_lang(s_NickServ, u, NICK_ACCESS_LIST_X_EMPTY, na->nick); + return MOD_CONT; + } + if (na->status & NS_VERBOTEN) { notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, na->nick); return MOD_CONT; @@ -3326,6 +3335,11 @@ static int do_access(User * u) na->nc->access = NULL; } } else if (stricmp(cmd, "LIST") == 0) { + if (na->nc->accesscount == 0) { + notice_lang(s_NickServ, u, NICK_ACCESS_LIST_EMPTY, u->nick); + return MOD_CONT; + } + notice_lang(s_NickServ, u, NICK_ACCESS_LIST); for (access = na->nc->access, i = 0; i < na->nc->accesscount; access++, i++) { |