This commit is contained in:
Shivaram Lingamneni 2020-12-07 03:51:52 -05:00
parent 31003bd02d
commit 48d5bd9144
2 changed files with 9 additions and 0 deletions

@ -117,6 +117,10 @@ func (clients *ClientManager) SetNick(client *Client, session *Session, newNick
realname := client.realname
client.stateMutex.RUnlock()
if newNick != accountName && strings.ContainsAny(newNick, disfavoredNameCharacters) {
return "", errNicknameInvalid, false
}
// recompute always-on status, because client.alwaysOn is not set for unregistered clients
var alwaysOn, useAccountName bool
if account != "" {

@ -31,6 +31,11 @@ const (
// @ separates username from hostname
// : means trailing
protocolBreakingNameCharacters = " ,*?.!@:"
// #1436: we discovered that these characters are problematic,
// so we're disallowing them in new nicks/account names, but allowing
// previously registered names
disfavoredNameCharacters = `<>'"`
)
var (