diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-07-15 13:32:28 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-07-15 13:32:28 +0000 |
commit | 403d16068410909b8d352588dc83f6d255a018b7 (patch) | |
tree | 94e9d77a2be5577d4e5123c1ca09bf3bc985db9c | |
parent | a3720495e19fe1628a036376a03964f4e8421a22 (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
-rw-r--r-- | include/commands/cmd_server.h | 2 | ||||
-rw-r--r-- | src/commands/cmd_server.cpp | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/include/commands/cmd_server.h b/include/commands/cmd_server.h index 9de4b8381..f562a7ddf 100644 --- a/include/commands/cmd_server.h +++ b/include/commands/cmd_server.h @@ -29,7 +29,7 @@ class CommandServer : public Command public: /** Constructor for server. */ - CommandServer (InspIRCd* Instance) : Command(Instance,"SERVER",0,0) { } + CommandServer (InspIRCd* Instance) : Command(Instance,"SERVER",0,0,true) { } /** Handle command. * @param parameters The parameters to the comamnd * @param pcnt The number of parameters passed to teh command 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; } |