diff options
-rw-r--r-- | include/numerics.h | 5 | ||||
-rw-r--r-- | src/commands/cmd_join.cpp | 2 | ||||
-rw-r--r-- | src/commands/cmd_pass.cpp | 2 | ||||
-rw-r--r-- | src/commands/cmd_rehash.cpp | 7 | ||||
-rw-r--r-- | src/commands/cmd_server.cpp | 3 | ||||
-rw-r--r-- | src/commands/cmd_time.cpp | 2 | ||||
-rw-r--r-- | src/commands/cmd_version.cpp | 2 |
7 files changed, 15 insertions, 8 deletions
diff --git a/include/numerics.h b/include/numerics.h index 90a739d2f..53620661e 100644 --- a/include/numerics.h +++ b/include/numerics.h @@ -45,6 +45,7 @@ enum Numerics RPL_CHANNELCREATED = 329, // ??? RPL_TOPIC = 332, RPL_TOPICTIME = 333, // not RFC, extremely common though + RPL_VERSION = 351, RPL_NAMREPLY = 353, RPL_ENDOFNAMES = 366, @@ -52,12 +53,15 @@ enum Numerics RPL_MOTDSTART = 375, RPL_ENDOFMOTD = 376, + RPL_REHASHING = 382, + RPL_TIME = 391, RPL_YOURDISPLAYEDHOST = 396, // from charybdis/etc, common convention /* * Error range of numerics. */ ERR_NOSUCHNICK = 401, + ERR_NOSUCHCHANNEL = 403, // used to indicate an invalid channel name also, so don't rely on RFC text (don't do that anyway!) ERR_TOOMANYCHANNELS = 405, ERR_UNKNOWNCOMMAND = 421, ERR_NOMOTD = 422, @@ -65,6 +69,7 @@ enum Numerics ERR_USERNOTINCHANNEL = 441, ERR_NOTREGISTERED = 451, ERR_NEEDMOREPARAMS = 461, + ERR_ALREADYREGISTERED = 462, /* * A quick side-rant about the next group of numerics.. diff --git a/src/commands/cmd_join.cpp b/src/commands/cmd_join.cpp index c19e7c015..0abfb73b1 100644 --- a/src/commands/cmd_join.cpp +++ b/src/commands/cmd_join.cpp @@ -46,6 +46,6 @@ CmdResult CommandJoin::Handle (const std::vector<std::string>& parameters, User } } - user->WriteNumeric(403, "%s %s :Invalid channel name",user->nick.c_str(), parameters[0].c_str()); + user->WriteNumeric(ERR_NOSUCHCHANNEL, "%s %s :Invalid channel name",user->nick.c_str(), parameters[0].c_str()); return CMD_FAILURE; } diff --git a/src/commands/cmd_pass.cpp b/src/commands/cmd_pass.cpp index b9b55d007..300479df3 100644 --- a/src/commands/cmd_pass.cpp +++ b/src/commands/cmd_pass.cpp @@ -24,7 +24,7 @@ CmdResult CommandPass::Handle (const std::vector<std::string>& parameters, User // Check to make sure they havnt registered -- Fix by FCS if (user->registered == REG_ALL) { - user->WriteNumeric(462, "%s :You may not reregister",user->nick.c_str()); + user->WriteNumeric(ERR_ALREADYREGISTERED, "%s :You may not reregister",user->nick.c_str()); return CMD_FAILURE; } ConnectClass* a = user->GetClass(); diff --git a/src/commands/cmd_rehash.cpp b/src/commands/cmd_rehash.cpp index 6a7ed124b..985d3c530 100644 --- a/src/commands/cmd_rehash.cpp +++ b/src/commands/cmd_rehash.cpp @@ -44,7 +44,7 @@ CmdResult CommandRehash::Handle (const std::vector<std::string>& parameters, Use FOREACH_MOD(I_OnRehash,OnRehash(user, "")); // XXX write this to a remote user correctly - user->WriteNumeric(382, "%s %s :Rehashing",user->nick.c_str(),ServerConfig::CleanFilename(ServerInstance->ConfigFileName)); + user->WriteNumeric(RPL_REHASHING, "%s %s :Rehashing",user->nick.c_str(),ServerConfig::CleanFilename(ServerInstance->ConfigFileName)); std::string m = user->nick + " is rehashing config file " + ServerConfig::CleanFilename(ServerInstance->ConfigFileName) + " on " + ServerInstance->Config->ServerName; ServerInstance->SNO->WriteToSnoMask('A', m); @@ -69,7 +69,10 @@ CmdResult CommandRehash::Handle (const std::vector<std::string>& parameters, Use } else { - /* A rehash is already in progress! ahh shit. */ + /* + * A rehash is already in progress! ahh shit. + * XXX, todo: we should find some way to kill runaway rehashes that are blocking, this is a major problem for unrealircd users + */ if (IS_LOCAL(user)) user->WriteServ("NOTICE %s :*** Could not rehash: A rehash is already in progress.", user->nick.c_str()); else diff --git a/src/commands/cmd_server.cpp b/src/commands/cmd_server.cpp index c7b413406..81f9e722c 100644 --- a/src/commands/cmd_server.cpp +++ b/src/commands/cmd_server.cpp @@ -23,7 +23,6 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance) CmdResult CommandServer::Handle (const std::vector<std::string>&, User *user) { - user->WriteNumeric(666, "%s :You cannot identify as a server, you are a USER. IRC Operators informed.",user->nick.c_str()); - ServerInstance->SNO->WriteToSnoMask('A', "WARNING: %s attempted to issue a SERVER command and is registered as a user!", user->nick.c_str()); + user->WriteNumeric(ERR_ALREADYREGISTERED, "%s :You are already registered. (Perhaps your IRC client does not have a /SERVER command).",user->nick.c_str()); return CMD_FAILURE; } diff --git a/src/commands/cmd_time.cpp b/src/commands/cmd_time.cpp index 79b8e823d..f25ab793a 100644 --- a/src/commands/cmd_time.cpp +++ b/src/commands/cmd_time.cpp @@ -32,7 +32,7 @@ CmdResult CommandTime::Handle (const std::vector<std::string>&, User *user) snprintf(tms,26,"%s",asctime(timeinfo)); tms[24] = 0; - user->WriteNumeric(391, "%s %s :%s",user->nick.c_str(),ServerInstance->Config->ServerName,tms); + user->WriteNumeric(RPL_TIME, "%s %s :%s",user->nick.c_str(),ServerInstance->Config->ServerName,tms); return CMD_SUCCESS; } diff --git a/src/commands/cmd_version.cpp b/src/commands/cmd_version.cpp index 091577aba..73bf18508 100644 --- a/src/commands/cmd_version.cpp +++ b/src/commands/cmd_version.cpp @@ -23,7 +23,7 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance) CmdResult CommandVersion::Handle (const std::vector<std::string>&, User *user) { - user->WriteNumeric(351, "%s :%s",user->nick.c_str(),ServerInstance->GetVersionString().c_str()); + user->WriteNumeric(RPL_VERSION, "%s :%s",user->nick.c_str(),ServerInstance->GetVersionString().c_str()); ServerInstance->Config->Send005(user); return CMD_SUCCESS; } |