1
0
mirror of https://github.com/anope/anope.git synced 2026-06-28 23:06:39 +02:00

Added an asynchronous DNS system and m_dnsbl, which checks clients against DNS blacklists.

Rewrote internal handling of IPs, we now properly support users using IPv6.
Fixed a few problems with the UnrealIRCd protocol module.
This commit is contained in:
Adam
2010-09-09 23:43:11 -04:00
parent fdd196e50b
commit 46813ccb8c
34 changed files with 1304 additions and 349 deletions
@@ -41,14 +41,20 @@ class SocketEngineSelect : public SocketEngineBase
Sockets.erase(s->GetSock());
}
void MarkWriteable(Socket *s)
void MarkWritable(Socket *s)
{
if (s->HasFlag(SF_WRITABLE))
return;
FD_SET(s->GetSock(), &WriteFDs);
s->SetFlag(SF_WRITABLE);
}
void ClearWriteable(Socket *s)
void ClearWritable(Socket *s)
{
if (!s->HasFlag(SF_WRITABLE))
return;
FD_CLR(s->GetSock(), &WriteFDs);
s->UnsetFlag(SF_WRITABLE);
}
void Process()
@@ -101,7 +107,7 @@ class SocketEngineSelect : public SocketEngineBase
class ModuleSocketEngineSelect : public Module
{
SocketEngineSelect *engine;
SocketEngineSelect engine;
public:
ModuleSocketEngineSelect(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator)
@@ -110,13 +116,11 @@ class ModuleSocketEngineSelect : public Module
this->SetPermanent(true);
this->SetType(SOCKETENGINE);
engine = new SocketEngineSelect();
SocketEngine = engine;
SocketEngine = &engine;
}
~ModuleSocketEngineSelect()
{
delete engine;
SocketEngine = NULL;
}
};