|
@@ -47,6 +47,7 @@ func (name Name) IsNickname() bool {
|
47
|
47
|
// * is used for unregistered clients
|
48
|
48
|
// * is used for mask matching
|
49
|
49
|
// ? is used for mask matching
|
|
50
|
+ // . is used to denote server names
|
50
|
51
|
// , is used as a separator by the protocol
|
51
|
52
|
// ! separates username from nickname
|
52
|
53
|
// @ separates nick+user from hostname
|
|
@@ -55,8 +56,9 @@ func (name Name) IsNickname() bool {
|
55
|
56
|
// - is typically disallowed from first char of nicknames
|
56
|
57
|
// nicknames can't start with digits
|
57
|
58
|
if strings.Contains(namestr, "*") || strings.Contains(namestr, "?") ||
|
58
|
|
- strings.Contains(namestr, ",") || strings.Contains(namestr, "!") ||
|
59
|
|
- strings.Contains(namestr, "@") || strings.Contains("#@+-1234567890", string(namestr[0])) {
|
|
59
|
+ strings.Contains(namestr, ".") || strings.Contains(namestr, ",") ||
|
|
60
|
+ strings.Contains(namestr, "!") || strings.Contains(namestr, "@") ||
|
|
61
|
+ strings.Contains("#@+-1234567890", string(namestr[0])) {
|
60
|
62
|
return false
|
61
|
63
|
}
|
62
|
64
|
// names that look like hostnames are restricted to servers, as with other ircds
|