]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cloaking.cpp
Annotations
[user/henk/code/inspircd.git] / src / modules / m_cloaking.cpp
index fcda8881a56a439a5c3179dc5bf287e5fb1d995e..29d26a9ec7ab297f90af2e54d0f4ae226d95d9bf 100644 (file)
@@ -60,6 +60,8 @@ typedef unsigned int uint32_t;
 typedef uint32_t word32; /* NOT unsigned long. We don't support 16 bit platforms, anyway. */
 typedef unsigned char byte;
 
+/** An MD5 context, used by m_cloaking
+ */
 class xMD5Context : public classbase
 {
  public:
@@ -68,6 +70,8 @@ class xMD5Context : public classbase
        word32 in[16];
 };
 
+/** Handles user mode +x
+ */
 class CloakUser : public ModeHandler
 {
        
@@ -348,7 +352,7 @@ class CloakUser : public ModeHandler
                                                // else, they have an ip
                                                b = std::string(ra) + "." + prefix + ".cloak";
                                        }
-                                       log(DEBUG,"cloak: allocated "+b);
+                                       ServerInstance->Log(DEBUG,"cloak: allocated "+b);
                                        dest->ChangeDisplayedHost(b.c_str());
                                }
                                
@@ -416,6 +420,7 @@ class ModuleCloaking : public Module
        
        virtual ~ModuleCloaking()
        {
+               ServerInstance->Modes->DelMode(cu);
                DELETE(cu);
        }
        
@@ -423,7 +428,7 @@ class ModuleCloaking : public Module
        {
                // returns the version number of the module to be
                // listed in /MODULES
-               return Version(1,0,0,2,VF_STATIC|VF_VENDOR);
+               return Version(1,0,0,2,VF_COMMON|VF_VENDOR);
        }
 
        virtual void OnRehash(const std::string &parameter)
@@ -433,23 +438,8 @@ class ModuleCloaking : public Module
 
        void Implements(char* List)
        {
-               List[I_OnRehash] = List[I_OnUserConnect] = 1;
+               List[I_OnRehash] = 1;
        }
-
-       virtual void OnUserConnect(userrec* user)
-       {
-               // Heres the weird bit. When a user connects we must set +x on them, so
-               // we're going to use the SendMode method of the Server class to send
-               // the mode to the client. This is basically the same as sending an
-               // SAMODE in unreal. Note that to the user it will appear as if they set
-               // the mode on themselves.
-               
-               const char* modes[2];           // only two parameters
-               modes[0] = user->nick;          // first parameter is the nick
-               modes[1] = "+x";                // second parameter is the mode
-               ServerInstance->SendMode(modes,2,user); // send these, forming the command "MODE <nick> +x"
-       }
-
 };
 
 // stuff down here is the module-factory stuff. For basic modules you can ignore this.