]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ssl_dummy.cpp
Add support for blacklists and whitelists, just http password auth to go (the most...
[user/henk/code/inspircd.git] / src / modules / m_ssl_dummy.cpp
index 4b3390c8d22c8febcb8982bfa46a74cbea52b681..9efb9f88d6554e7e571c38a62a0913680d8e5017 100644 (file)
@@ -1,23 +1,17 @@
-/*   +------------------------------------+
- *   | Inspire Internet Relay Chat Daemon |
- *   +------------------------------------+
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *   E-mail:
- *     <brain@chatspike.net>
- *     <Craig@chatspike.net>
- * <omster@gmail.com>
- * 
- * Written by Craig Edwards, Craig McLure, and others.
  * This program is free but copyrighted software; see
- *the file COPYING for details.
+ *            the file COPYING for details.
  *
  * ---------------------------------------------------
  */
 
-#include "users.h"
-#include "modules.h"
-
+#include "inspircd.h"
 
 /* $ModDesc: Makes remote /whoises to SSL servers work on a non-ssl server */
 
@@ -27,9 +21,11 @@ class ModuleSSLDummy : public Module
        char* dummy;
  public:
        
-       ModuleSSLDummy(InspIRCd* Me)    : Module::Module(Me)
+       ModuleSSLDummy(InspIRCd* Me)    : Module(Me)
        {
                
+               Implementation eventlist[] = { I_OnSyncUserMetaData, I_OnDecodeMetaData, I_OnWhois };
+               ServerInstance->Modules->Attach(eventlist, this, 3);
        }
        
        virtual ~ModuleSSLDummy()
@@ -38,24 +34,20 @@ class ModuleSSLDummy : public Module
                
        virtual Version GetVersion()
        {
-               return Version(1, 0, 0, 0, VF_VENDOR);
+               return Version(1, 0, 0, 0, VF_VENDOR, API_VERSION);
        }
 
-       void Implements(char* List)
-       {
-               List[I_OnSyncUserMetaData] = List[I_OnDecodeMetaData] = List[I_OnWhois] = 1;
-       }
 
        // :kenny.chatspike.net 320 Om Epy|AFK :is a Secure Connection
-       virtual void OnWhois(userrec* source, userrec* dest)
+       virtual void OnWhois(User* source, User* dest)
        {
                if(dest->GetExt("ssl", dummy))
                {
-                       source->WriteServ("320 %s %s :is using a secure connection", source->nick, dest->nick);
+                       ServerInstance->SendWhoisLine(source, dest, 320, "%s %s :is using a secure connection", source->nick, dest->nick);
                }
        }
        
-       virtual void OnSyncUserMetaData(userrec* user, Module* proto, void* opaque, const std::string &extname)
+       virtual void OnSyncUserMetaData(User* user, Module* proto, void* opaque, const std::string &extname, bool displayable)
        {
                // check if the linking module wants to know about OUR metadata
                if(extname == "ssl")
@@ -65,7 +57,7 @@ class ModuleSSLDummy : public Module
                        {
                                // call this function in the linking module, let it format the data how it
                                // sees fit, and send it on its way. We dont need or want to know how.
-                               proto->ProtoSendMetaData(opaque, TYPE_USER, user, extname, "ON");
+                               proto->ProtoSendMetaData(opaque, TYPE_USER, user, extname, displayable ? "Enabled" : "ON");
                        }
                }
        }
@@ -75,7 +67,7 @@ class ModuleSSLDummy : public Module
                // check if its our metadata key, and its associated with a user
                if ((target_type == TYPE_USER) && (extname == "ssl"))
                {
-                       userrec* dest = (userrec*)target;
+                       User* dest = (User*)target;
                        // if they dont already have an ssl flag, accept the remote server's
                        if (!dest->GetExt(extname, dummy))
                        {
@@ -85,26 +77,4 @@ class ModuleSSLDummy : public Module
        }
 };
 
-class ModuleSSLDummyFactory : public ModuleFactory
-{
- public:
-       ModuleSSLDummyFactory()
-       {
-       }
-       
-       ~ModuleSSLDummyFactory()
-       {
-       }
-       
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleSSLDummy(Me);
-       }
-};
-
-
-extern "C" void * init_module( void )
-{
-       return new ModuleSSLDummyFactory;
-}
-
+MODULE_INIT(ModuleSSLDummy)