]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/client.c
Block nicknames that are reserved for services
[ngircd-alex.git] / src / ngircd / client.c
index 2466c7175a3bd11eb52000a62e03baf355d56196..f163f72c371e2a84121a84d178c3552530109b3d 100644 (file)
@@ -905,6 +905,16 @@ Client_CheckNick(CLIENT *Client, char *Nick)
                return false;
        }
 
+       if (Client_Type(Client) != CLIENT_SERVER
+           && Client_Type(Client) != CLIENT_SERVICE) {
+               /* Make sure that this isn't a restricted/forbidden nick name */
+               if (Conf_NickIsBlocked(Nick)) {
+                       IRC_WriteStrClient(Client, ERR_FORBIDDENNICKNAME_MSG,
+                                          Client_ID(Client), Nick);
+                       return false;
+               }
+       }
+
        /* Nickname already registered? */
        if (Client_Search(Nick)) {
                IRC_WriteStrClient(Client, ERR_NICKNAMEINUSE_MSG,