From 4a8d526c4dafb821ff3ebae1a0fa95a27f3fae37 Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Thu, 21 Apr 2016 10:21:36 +1000 Subject: [PATCH] strings: Nicks and usernames can't contain ! or @ --- irc/strings.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/irc/strings.go b/irc/strings.go index 59abb700..d3f9aa7f 100644 --- a/irc/strings.go +++ b/irc/strings.go @@ -41,7 +41,10 @@ func (name Name) IsNickname() bool { // , is used as a separator by the protocol // # is a channel prefix // @+ are channel membership prefixes - if namestr == "*" || strings.Contains(namestr, ",") || strings.Contains("#@+", string(namestr[0])) { + // ! separates username from nickname + // @ separates nick+user from hostname + if namestr == "*" || strings.Contains(namestr, ",") || strings.Contains("#@+", string(namestr[0])) || + strings.Contains(namestr, "!") || strings.Contains(namestr, "@") { return false } return NicknameExpr.MatchString(namestr)