Merge pull request #3870 from thelounge/xpaw/random-nick-safeguard

Safeguard nick randomizer up to allowed length
This commit is contained in:
Pavel Djundik 2020-04-23 12:47:44 +03:00 committed by GitHub
commit 36844f948c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -55,8 +55,14 @@ module.exports = function (irc, network) {
lobby.pushMessage(client, msg, true);
if (irc.connection.registered === false) {
const nickLen = parseInt(network.irc.network.options.NICKLEN, 10) || 16;
const random = (data.nick || irc.user.nick) + Math.floor(Math.random() * 10);
irc.changeNick(random);
// Safeguard nick changes up to allowed length
// Some servers may send "nick in use" error even for randomly generated nicks
if (random.length <= nickLen) {
irc.changeNick(random);
}
}
client.emit("nick", {