#include <netinet/in.h>
#include <arpa/inet.h>
#include "dns.h"
+#include "inspircd.h"
#include "helperfuncs.h"
#include "socketengine.h"
-extern SocketEngine* SE;
+extern InspIRCd* ServerInstance;
extern ServerConfig* Config;
-serverstats* stats;
#define max(a,b) (a > b ? a : b)
#define DNS_MAX 8 /* max number of nameservers used */
bool DNS::ReverseLookup(std::string ip)
{
- stats->statsDns++;
+ ServerInstance->stats->statsDns++;
binip = dns_aton4(ip.c_str());
if (binip == NULL) {
return false;
}
log(DEBUG,"DNS: ReverseLookup, fd=%d",this->myfd);
#ifndef THREADED_DNS
- SE->AddFd(this->myfd,true,X_ESTAB_DNS);
+ ServerInstance->SE->AddFd(this->myfd,true,X_ESTAB_DNS);
#endif
return true;
}
bool DNS::ForwardLookup(std::string host)
{
- stats->statsDns++;
+ ServerInstance->stats->statsDns++;
this->myfd = dns_getip4(host.c_str());
if (this->myfd == -1)
{
}
log(DEBUG,"DNS: ForwardLookup, fd=%d",this->myfd);
#ifndef THREADED_DNS
- SE->AddFd(this->myfd,true,X_ESTAB_DNS);
+ ServerInstance->SE->AddFd(this->myfd,true,X_ESTAB_DNS);
#endif
return true;
}
log(DEBUG,"DNS: GetResult()");
result = dns_getresult(this->myfd);
#ifndef THREADED_DNS
- SE->DelFd(this->myfd);
+ ServerInstance->SE->DelFd(this->myfd);
#endif
if (result) {
- stats->statsDnsGood++;
+ ServerInstance->stats->statsDnsGood++;
dns_close(this->myfd);
return result;
} else {
- stats->statsDnsBad++;
+ ServerInstance->stats->statsDnsBad++;
if (this->myfd != -1)
{
dns_close(this->myfd);
if (this->myfd != -1)
{
#ifndef THREADED_DNS
- SE->DelFd(this->myfd);
+ ServerInstance->SE->DelFd(this->myfd);
#endif
dns_close(this->myfd);
}
if (result)
{
- stats->statsDnsGood++;
+ ServerInstance->stats->statsDnsGood++;
unsigned char a = (unsigned)result[0];
unsigned char b = (unsigned)result[1];
unsigned char c = (unsigned)result[2];
}
else
{
- stats->statsDnsBad++;
+ ServerInstance->stats->statsDnsBad++;
log(DEBUG,"DANGER WILL ROBINSON! NXDOMAIN for forward lookup, but we got a reverse lookup!");
return "";
}