summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-07-15 13:32:28 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-07-15 13:32:28 +0000
commit403d16068410909b8d352588dc83f6d255a018b7 (patch)
tree94e9d77a2be5577d4e5123c1ca09bf3bc985db9c /src
parenta3720495e19fe1628a036376a03964f4e8421a22 (diff)
Send ERR_NOTREGISTERED to clients that send SERVER on a client port with a text that tells them what they are doing wrong. Should help them debug it themselves.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10023 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/commands/cmd_server.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/commands/cmd_server.cpp b/src/commands/cmd_server.cpp
index 81f9e722c..811d59057 100644
--- a/src/commands/cmd_server.cpp
+++ b/src/commands/cmd_server.cpp
@@ -23,6 +23,13 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance)
CmdResult CommandServer::Handle (const std::vector<std::string>&, User *user)
{
- user->WriteNumeric(ERR_ALREADYREGISTERED, "%s :You are already registered. (Perhaps your IRC client does not have a /SERVER command).",user->nick.c_str());
+ if (user->registered == REG_ALL)
+ {
+ user->WriteNumeric(ERR_ALREADYREGISTERED, "%s :You are already registered. (Perhaps your IRC client does not have a /SERVER command).",user->nick.c_str());
+ }
+ else
+ {
+ user->WriteNumeric(ERR_NOTREGISTERED, "%s :You may not register as a server (servers have seperate ports from clients, change your config)",command.c_str());
+ }
return CMD_FAILURE;
}