]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_conn_waitpong.cpp
Forward port r9782: show IP (not unknown) for unauthed connections
[user/henk/code/inspircd.git] / src / modules / m_conn_waitpong.cpp
index 4ab3ed793de1ddc5f04a23aa7aba63455f6f7307..4fe71f1629dca01ec869717128ba6bc060853ffe 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -26,6 +26,8 @@ class ModuleWaitPong : public Module
         : Module(Me), extenstr("waitpong_pingstr")
        {
                OnRehash(NULL,"");
+               Implementation eventlist[] = { I_OnUserRegister, I_OnCheckReady, I_OnPreCommand, I_OnRehash, I_OnUserDisconnect, I_OnCleanup };
+               ServerInstance->Modules->Attach(eventlist, this, 6);
        }
        
        virtual void OnRehash(User* user, const std::string &param)
@@ -43,10 +45,6 @@ class ModuleWaitPong : public Module
                        killonbadreply = true;
        }
 
-       void Implements(char* List)
-       {
-               List[I_OnUserRegister] = List[I_OnCheckReady] = List[I_OnPreCommand] = List[I_OnRehash] = List[I_OnUserDisconnect] = List[I_OnCleanup] = 1;
-       }
 
        char* RandString(unsigned int length)
        {
@@ -65,13 +63,13 @@ class ModuleWaitPong : public Module
                user->Write("PING :%s", pingrpl);
                
                if(sendsnotice)
-                       user->WriteServ("NOTICE %s :*** If you are having problems connecting due to ping timeouts, please type /quote PONG %s or /raw PONG %s now.", user->nick, pingrpl, pingrpl);
+                       user->WriteServ("NOTICE %s :*** If you are having problems connecting due to ping timeouts, please type /quote PONG %s or /raw PONG %s now.", user->nick.c_str(), pingrpl, pingrpl);
                        
                user->Extend(extenstr, pingrpl);
                return 0;
        }
        
-       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, User* user, bool validated, const std::string &original_line)
+       virtual int OnPreCommand(const std::string &command, const std::vector<std::string> &parameters, User* user, bool validated, const std::string &original_line)
        {
                if (command == "PONG")
                {
@@ -80,7 +78,7 @@ class ModuleWaitPong : public Module
                        
                        if (pingrpl)
                        {
-                               if (strcmp(pingrpl, parameters[0]) == 0)
+                               if (strcmp(pingrpl, parameters[0].c_str()) == 0)
                                {
                                        delete[] pingrpl;
                                        user->Shrink(extenstr);
@@ -89,7 +87,7 @@ class ModuleWaitPong : public Module
                                else
                                {
                                        if(killonbadreply)
-                                               User::QuitUser(ServerInstance, user, "Incorrect ping reply for registration");
+                                               ServerInstance->Users->QuitUser(user, "Incorrect ping reply for registration");
                                        return 1;
                                }
                        }
@@ -137,7 +135,7 @@ class ModuleWaitPong : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1, 1, 0, 1, VF_VENDOR, API_VERSION);
+               return Version(1, 2, 0, 1, VF_VENDOR, API_VERSION);
        }
        
 };