From 005340c83f3f481bdcdc6a03ae9b9b2973248ceb Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Wed, 26 Sep 2012 23:28:13 +0200 Subject: Simplify check for valid user names in IRC_USER(). Patches from Federico G. Schwindt, thanks! (cherry picked from commit a44b7126227ba1118ec02b399e31b08102af5e8c and 6fbe9583753b2620da275676cde46a89cb4d06c2) --- src/ngircd/irc-login.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index 74d8b9d1..99cd26f4 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -18,6 +18,7 @@ #include "imp.h" #include +#include #include #include #include @@ -422,11 +423,9 @@ IRC_USER(CLIENT * Client, REQUEST * Req) punctuation is allowed.*/ ptr = Req->argv[0]; while (*ptr) { - if ((*ptr < '0' || *ptr > '9') && - (*ptr < 'A' || *ptr > 'Z') && - (*ptr < 'a' || *ptr > 'z') && - (*ptr != '+') && (*ptr != '-') && - (*ptr != '.') && (*ptr != '_')) { + if (!isalnum(*ptr) && + *ptr != '+' && *ptr != '-' && + *ptr != '.' && *ptr != '_') { Conn_Close(Client_Conn(Client), NULL, "Invalid user name", true); return DISCONNECTED; -- cgit 1.4.1