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,9 +55,15 @@ module.exports = function (irc, network) {
lobby.pushMessage(client, msg, true); lobby.pushMessage(client, msg, true);
if (irc.connection.registered === false) { 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); const random = (data.nick || irc.user.nick) + Math.floor(Math.random() * 10);
// 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); irc.changeNick(random);
} }
}
client.emit("nick", { client.emit("nick", {
network: network.uuid, network: network.uuid,