* ---------------------------------------------------
*/
-#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 */
bool NotifyOpers;
CGIHostlist Hosts;
public:
- ModuleCgiIRC(InspIRCd* Me) : Module::Module(Me)
+ ModuleCgiIRC(InspIRCd* Me) : Module(Me)
{
OnRehash(NULL,"");
}
}
- 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"))
{
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);
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
{
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);
};
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
{
return new ModuleCgiIRCFactory;
}