]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/dns.cpp
Added the <cloak:ipalways> and <cloak:lowercase> options. Patch by nenolod
[user/henk/code/inspircd.git] / src / dns.cpp
index fab9631b79baca213f072c1307730111b8397ea3..292ca00acb791311bd27e121f767b1b0101e0ac7 100644 (file)
@@ -42,6 +42,7 @@ using irc::sockets::insp_inaddr;
 using irc::sockets::insp_ntoa;
 using irc::sockets::insp_aton;
 using irc::sockets::OpenTCPSocket;
+using irc::sockets::NonBlocking;
 
 /** Masks to mask off the responses we get from the DNSRequest methods
  */
@@ -359,6 +360,7 @@ void DNS::Rehash()
        /* Initialize mastersocket */
        int s = OpenTCPSocket(ServerInstance->Config->DNSServer, SOCK_DGRAM);
        this->SetFd(s);
+       NonBlocking(s);
 
        /* Have we got a socket and is it nonblocking? */
        if (this->GetFd() != -1)
@@ -624,6 +626,10 @@ DNSResult DNS::GetResult()
 #endif
        const char* ipaddr_from;
        unsigned short int port_from = 0;
+
+       void* m_readEvent = NULL;
+       GetExt("windows_readevent", m_readEvent);
+
        int length = _recvfrom(this->GetFd(),(char*)buffer,sizeof(DNSHeader),0,from,&x);
 
        /* Did we get the whole header? */
@@ -1148,7 +1154,6 @@ void DNS::CleanResolvers(Module* module)
 /** Generate pseudo-random number */
 unsigned long DNS::PRNG()
 {
-#ifndef WIN32
        unsigned long val = 0;
        timeval n;
        serverstats* s = ServerInstance->stats;
@@ -1157,13 +1162,5 @@ unsigned long DNS::PRNG()
        val = val + s->statsCollisions ^ s->statsDnsGood - s->statsDnsBad;
        val += (s->statsConnects ^ (unsigned long)s->statsSent ^ (unsigned long)s->statsRecv) - ServerInstance->Config->ports.size();
        return val;
-#else
-       unsigned long val = 0;
-       serverstats* s = ServerInstance->stats;
-       val = (time(NULL) ^ GetCurrentProcessId() ^ GetCurrentThreadId() ^ (this->currid++)) ^ s->statsAccept + time(NULL);
-       val = val + s->statsCollisions ^ s->statsDnsGood - s->statsDnsBad;
-       val += (s->statsConnects ^ (unsigned long)s->statsSent ^ (unsigned long)s->statsRecv);
-       return val;
-#endif
 }