]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cgiirc.cpp
Convert more modules
[user/henk/code/inspircd.git] / src / modules / m_cgiirc.cpp
index 04a56b1fafc4a3acd56d4c1cfee73efb820b0cde..3ab2f50be9b8d0b8a0dc2941f5130d7750e4c84e 100644 (file)
  * ---------------------------------------------------
  */
 
-#include <vector>
-#include <string>
-#include <stdlib.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
+#include "inspircd.h"
 #include "users.h"
 #include "modules.h"
 #include "dns.h"
-#include "inspircd.h"
+#ifndef WINDOWS
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#endif
 
 /* $ModDesc: Change user's hosts connecting from known CGI:IRC hosts */
 
@@ -127,7 +126,7 @@ class ModuleCgiIRC : public Module
        bool NotifyOpers;
        CGIHostlist Hosts;
 public:
-       ModuleCgiIRC(InspIRCd* Me) : Module::Module(Me)
+       ModuleCgiIRC(InspIRCd* Me) : Module(Me)
        {
                
                OnRehash(NULL,"");
@@ -209,7 +208,7 @@ public:
                }
        }
        
-       virtual void OnSyncUserMetaData(userrec* user, Module* proto, void* opaque, const std::string &extname)
+       virtual void OnSyncUserMetaData(userrec* user, Module* proto, void* opaque, const std::string &extname, bool displayable)
        {
                if((extname == "cgiirc_realhost") || (extname == "cgiirc_realip"))
                {
@@ -342,7 +341,7 @@ public:
                                        CGIResolver* r = new CGIResolver(this, ServerInstance, NotifyOpers, user->password, false, user, user->GetFd(), "PASS", cached);
                                        ServerInstance->AddResolver(r, cached);
                                }
-                               catch (ModuleException& e)
+                               catch (...)
                                {
                                        if (NotifyOpers)
                                                ServerInstance->WriteOpers("*** Connecting user %s detected as using CGI:IRC (%s), but i could not resolve their hostname!", user->nick, user->host);
@@ -386,10 +385,8 @@ public:
                if (user->GetProtocolFamily() == AF_INET6)
                        inet_pton(AF_INET6, newip, &((sockaddr_in6*)user->ip)->sin6_addr);
                else
-                       inet_aton(newip, &((sockaddr_in*)user->ip)->sin_addr);
-#else
-               inet_aton(newip, &((sockaddr_in*)user->ip)->sin_addr);
 #endif
+               inet_aton(newip, &((sockaddr_in*)user->ip)->sin_addr);
                                        
                try
                {
@@ -401,7 +398,7 @@ public:
                        CGIResolver* r = new CGIResolver(this, ServerInstance, NotifyOpers, newip, false, user, user->GetFd(), "IDENT", cached);
                        ServerInstance->AddResolver(r, cached);
                }
-               catch (ModuleException& e)
+               catch (...)
                {
                        strlcpy(user->host, newip, 16);
                        strlcpy(user->dhost, newip, 16);
@@ -518,7 +515,7 @@ class ModuleCgiIRCFactory : public ModuleFactory
 };
 
 
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
 {
        return new ModuleCgiIRCFactory;
 }