]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/dns.cpp
Added some missing parameter checking in m_swhois
[user/henk/code/inspircd.git] / src / dns.cpp
index df79eba24096b1e255512ccddfb874d4237bd176..fab9631b79baca213f072c1307730111b8397ea3 100644 (file)
@@ -29,6 +29,7 @@ looks like this, walks like this or tastes like this.
 #include <arpa/inet.h>
 #else
 #include "inspircd_win32wrapper.h"
+#include "inspircd_se_config.h"
 #endif
 
 #include "dns.h"
@@ -623,8 +624,7 @@ DNSResult DNS::GetResult()
 #endif
        const char* ipaddr_from;
        unsigned short int port_from = 0;
-
-       int length = recvfrom(this->GetFd(),(char*)buffer,sizeof(DNSHeader),0,from,&x);
+       int length = _recvfrom(this->GetFd(),(char*)buffer,sizeof(DNSHeader),0,from,&x);
 
        /* Did we get the whole header? */
        if (length < 12)
@@ -651,14 +651,11 @@ DNSResult DNS::GetResult()
                port_from = ntohs(((sockaddr_in6*)from)->sin6_port);
        }
        else
+#endif
        {
                ipaddr_from = inet_ntoa(((sockaddr_in*)from)->sin_addr);
                port_from = ntohs(((sockaddr_in*)from)->sin_port);
        }
-#else
-       ipaddr_from = inet_ntoa(((sockaddr_in*)from)->sin_addr);
-       port_from = ntohs(((sockaddr_in*)from)->sin_port);
-#endif
 
        delete[] from;
 
@@ -759,7 +756,7 @@ DNSResult DNS::GetResult()
                                 * as the last parameter on the line with a value ":1".
                                 */
                                if (*formatted == ':')
-                                       resultstr = "0" + resultstr;
+                                       resultstr.insert(0, "0");
                        }
                        break;
 
@@ -1161,12 +1158,12 @@ unsigned long DNS::PRNG()
        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;
+       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
 }