aboutsummaryrefslogtreecommitdiffstats
path: root/main/ngircd/username.patch
blob: db4cd97125365dbe508096b4c2c902101fec2231 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--- ./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;