--- ./src/ngircd/irc-login.c.orig +++ ./src/ngircd/irc-login.c @@ -421,9 +421,9 @@ /* User name: only alphanumeric characters are allowed! */ ptr = Req->argv[0]; while (*ptr) { - if ((*ptr < '0' || *ptr > '9') && - (*ptr < 'A' || *ptr > 'Z') && - (*ptr < 'a' || *ptr > 'z')) { + if (!isalnum((int)*ptr) && + *ptr != '+' && *ptr != '-' && *ptr != '@' && + *ptr != '.' && *ptr != '_') { Conn_Close(Client_Conn(Client), NULL, "Invalid user name", true); return DISCONNECTED;