Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv30450/src
Modified Files:
nickserv.c
Log Message:
check account name and nick length in more situations
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.266
retrieving revision 1.267
diff -C2 -r1.266 -r1.267
*** nickserv.c 7 Nov 2003 02:44:54 -0000 1.266
--- nickserv.c 4 Dec 2003 22:33:40 -0000 1.267
***************
*** 98,102 ****
#define NSMSG_UNKNOWN "<unknown>"
#define NSMSG_HANDLE_EXISTS "Account $b%s$b is already registered."
- #define NSMSG_HANDLE_TOO_LONG "Account name too long."
#define NSMSG_PASSWORD_SHORT "Your password must be at least %lu characters long."
#define NSMSG_PASSWORD_ACCOUNT "Your password may not be the same as your account name."
--- 98,101 ----
***************
*** 179,183 ****
#define NSMSG_MUST_AUTH "You must be authenticated first."
#define NSMSG_TOO_MANY_NICKS "You have already registered the maximum permitted number of nicks."
- #define NSMSG_NICK_TOO_LONG "Nick too long."
#define NSMSG_NICK_EXISTS "Nick $b%s$b already registered."
#define NSMSG_NICK_IN_USE "Nick $b%s$b is already in use."
--- 178,181 ----
***************
*** 216,221 ****
#define NSMSG_DB_MERGED "$N merged DB from %s (in "FMT_TIME_T".%03lu seconds)."
#define NSMSG_HANDLE_CHANGED "$b%s$b's account name has been changed to $b%s$b."
! #define NSMSG_BAD_HANDLE "Account $b%s$b not registered because it is in use by a network service, or contains invalid characters."
! #define NSMSG_BAD_NICK "Nickname $b%s$b not registered because it is in use by a network service, or contains invalid characters."
#define NSMSG_BAD_EMAIL_ADDR "Please use a well-formed email address."
#define NSMSG_FAIL_RENAME "Account $b%s$b not renamed to $b%s$b because it is in use by a network services, or contains invalid characters."
--- 214,219 ----
#define NSMSG_DB_MERGED "$N merged DB from %s (in "FMT_TIME_T".%03lu seconds)."
#define NSMSG_HANDLE_CHANGED "$b%s$b's account name has been changed to $b%s$b."
! #define NSMSG_BAD_HANDLE "Account $b%s$b not registered because it is in use by a network service, is too long, or contains invalid characters."
! #define NSMSG_BAD_NICK "Nickname $b%s$b not registered because it is in use by a network service, is too long, or contains invalid characters."
#define NSMSG_BAD_EMAIL_ADDR "Please use a well-formed email address."
#define NSMSG_FAIL_RENAME "Account $b%s$b not renamed to $b%s$b because it is in use by a network services, or contains invalid characters."
***************
*** 575,578 ****
--- 573,579 ----
if (user && IsLocal(user))
return 0;
+ /* check against maximum length */
+ if (strlen(handle) > NICKSERV_HANDLE_LEN)
+ return 0;
/* for consistency, only allow account names that could be nicks */
if (!is_valid_nick(handle))
***************
*** 601,604 ****
--- 602,608 ----
if (!is_valid_handle(nick))
return 0;
+ /* check length */
+ if (strlen(nick) > NICKLEN)
+ return 0;
/* test either regex or as valid handle */
if (nickserv_conf.valid_nick_regex_set) {
***************
*** 888,896 ****
if ((hi = dict_find(nickserv_handle_dict, handle, NULL))) {
nickserv_notice(user, NSMSG_HANDLE_EXISTS, handle);
- return 0;
- }
-
- if (strlen(handle) > NICKSERV_HANDLE_LEN) {
- nickserv_notice(user, NSMSG_HANDLE_TOO_LONG);
return 0;
}
--- 892,895 ----
|