From: Alexander Barton Date: Fri, 19 Aug 2011 09:09:40 +0000 (+0200) Subject: New 2nd message "Nickname too long" for error code 432 X-Git-Tag: rel-19-rc1~135 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51d7674ee7b17553a7481b7a154145300797d6e3;p=ngircd New 2nd message "Nickname too long" for error code 432 --- diff --git a/src/ngircd/client.c b/src/ngircd/client.c index 0f151ac8..16c551f9 100644 --- a/src/ngircd/client.c +++ b/src/ngircd/client.c @@ -864,8 +864,13 @@ Client_CheckNick(CLIENT *Client, char *Nick) assert(Nick != NULL); if (!Client_IsValidNick(Nick)) { - IRC_WriteStrClient(Client, ERR_ERRONEUSNICKNAME_MSG, - Client_ID(Client), Nick); + if (strlen(Nick ) >= Conf_MaxNickLength) + IRC_WriteStrClient(Client, ERR_NICKNAMETOOLONG_MSG, + Client_ID(Client), Nick, + Conf_MaxNickLength - 1); + else + IRC_WriteStrClient(Client, ERR_ERRONEUSNICKNAME_MSG, + Client_ID(Client), Nick); return false; } diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h index 93bef3d7..12791d23 100644 --- a/src/ngircd/messages.h +++ b/src/ngircd/messages.h @@ -105,6 +105,7 @@ #define ERR_NOMOTD_MSG "422 %s :MOTD file is missing" #define ERR_NONICKNAMEGIVEN_MSG "431 %s :No nickname given" #define ERR_ERRONEUSNICKNAME_MSG "432 %s %s :Erroneous nickname" +#define ERR_NICKNAMETOOLONG_MSG "432 %s %s :Nickname too long, max. %u characters" #define ERR_NICKNAMEINUSE_MSG "433 %s %s :Nickname already in use" #define ERR_USERNOTINCHANNEL_MSG "441 %s %s %s :They aren't on that channel" #define ERR_NOTONCHANNEL_MSG "442 %s %s :You are not on that channel"