summaryrefslogtreecommitdiff
path: root/src/protocol.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2015-01-10 15:17:16 -0500
committerAdam <Adam@anope.org>2015-01-10 15:19:40 -0500
commit32007f81cf0bb475f3621d7637666b06ffa482b9 (patch)
tree10d225b06dab05bcb6553e9ee51a97ab4c804f9c /src/protocol.cpp
parent609f87d39fd0d0eeea28aefceca1702e692f2554 (diff)
Add networkinfo:nick_chars option to allow configuring additional characters allowed in nicknames
Diffstat (limited to 'src/protocol.cpp')
-rw-r--r--src/protocol.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 05bcb54fe..0d09fee24 100644
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -365,8 +365,10 @@ bool IRCDProto::IsNickValid(const Anope::string &nick)
Anope::string special = "[]\\`_^{|}";
for (unsigned i = 0; i < nick.length(); ++i)
- if (!(nick[i] >= 'A' && nick[i] <= 'Z') && !(nick[i] >= 'a' && nick[i] <= 'z') && special.find(nick[i]) == Anope::string::npos
- && (!i || (!(nick[i] >= '0' && nick[i] <= '9') && nick[i] != '-')))
+ if (!(nick[i] >= 'A' && nick[i] <= 'Z') && !(nick[i] >= 'a' && nick[i] <= 'z')
+ && special.find(nick[i]) == Anope::string::npos
+ && (Config && Config->NickChars.find(nick[i]) == Anope::string::npos)
+ && (!i || (!(nick[i] >= '0' && nick[i] <= '9') && nick[i] != '-')))
return false;
return true;