commit - 1189200d4a1df4cf338c7d5979c2a54fc7edfc8d
commit + 51d7674ee7b17553a7481b7a154145300797d6e3
blob - 0f151ac8685469f83a8807682a72ddfd32a7ac9b
blob + 16c551f97a89b422bf356465f45b0cc85a522e11
--- src/ngircd/client.c
+++ src/ngircd/client.c
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;
}
blob - 93bef3d78eb0ba033722136ce842a2518a077f5c
blob + 12791d23d3a4ed319e34910d27bc3a25cf333524
--- src/ngircd/messages.h
+++ src/ngircd/messages.h
#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"