d_tcbit=mdp.d_header.tc;
d_rcode=mdp.d_header.rcode;
- if(strcasecmp(d_domain.c_str(), mdp.d_qname.c_str())) {
- L<<Logger::Error<<"Packet purporting to come from remote server "<<U32ToIP(d_ip)<<" contained wrong answer: '" << d_domain << "' != '" << mdp.d_qname << "'" << endl;
- g_stats.spoofedCount++;
+ if(strcasecmp(d_domain.c_str(), mdp.d_qname.c_str())) {
+ if(d_domain.find((char)0)==string::npos) {// embedded nulls are too noisy
+ L<<Logger::Error<<"Packet purporting to come from remote server "<<U32ToIP(d_ip)<<" contained wrong answer: '" << d_domain << "' != '" << mdp.d_qname << "'" << endl;
+ g_stats.spoofedCount++;
+ }
goto out;
}
set<GetBestNSAnswer>beenthere;
if(k->qtype==QType(QType::MX)) {
pair<string,string> prioServer=splitField(k->content,' ');
- doResolve(prioServer.second, QType(QType::A), addit, 1, beenthere);
- if(*l_doIPv6AP)
- doResolve(prioServer.second, QType(QType::AAAA), addit, 1, beenthere);
+ doResolve(prioServer.second, QType(QType::A), addit, 1, beenthere);
+ if(*l_doIPv6AP)
+ doResolve(prioServer.second, QType(QType::AAAA), addit, 1, beenthere);
}
else {
doResolve(k->content,QType(QType::A),addit,1,beenthere);