]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Convert more stuff to use numerics.h, change SERVER to send ERR_ALREADYREGISTERED...
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 13 Jul 2008 22:57:45 +0000 (22:57 +0000)
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 13 Jul 2008 22:57:45 +0000 (22:57 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10013 e03df62e-2008-0410-955e-edbf42e46eb7

include/numerics.h
src/commands/cmd_join.cpp
src/commands/cmd_pass.cpp
src/commands/cmd_rehash.cpp
src/commands/cmd_server.cpp
src/commands/cmd_time.cpp
src/commands/cmd_version.cpp

index 90a739d2f914793b320cdee09016f6ccbd5edbb8..53620661eb8cbd5e5abcbe5f8217b0ee3ddd5371 100644 (file)
@@ -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..
index c19e7c015410055a6816d3f8e9d6965b92559316..0abfb73b1162bc08358b5aca3731a470baa8684e 100644 (file)
@@ -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;
 }
index b9b55d007aba5a7bdf5e7d96eda6740f862dafda..300479df31848cde604583f75c004dab45802000 100644 (file)
@@ -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();
index 6a7ed124ba15fa49dea5802333928d0af762f00a..985d3c530d37d6adf22194038dad83d7a3116253 100644 (file)
@@ -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
index c7b413406513561fed331baba3cc2a023d1aef21..81f9e722ca7765aac9d3a80f245fc8b6d8be054d 100644 (file)
@@ -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;
 }
index 79b8e823df5837eb95f54431b8efbd2a1831ac55..f25ab793adbb1846c370c22c5f0ec1e4cd140d82 100644 (file)
@@ -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;
 }
index 091577aba9110c63208bf03b793d1052cd9af4d1..73bf18508b1da491ee55495a0a82cc82b4e6f7a3 100644 (file)
@@ -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;
 }