LWResult::Result arecvfrom(std::string& packet, int flags, const ComboAddress& fromaddr, size_t *d_len,
uint16_t id, const DNSName& domain, uint16_t qtype, int fd, const struct timeval* now)
{
- static const boost::optional<unsigned int> nearMissLimit = ::arg().asNum("spoof-nearmiss-max");
+ static const unsigned int nearMissLimit = ::arg().asNum("spoof-nearmiss-max");
PacketID pident;
pident.fd=fd;
*d_len=packet.size();
- if (*nearMissLimit && pident.nearMisses > *nearMissLimit) {
- g_log<<Logger::Error<<"Too many ("<<pident.nearMisses<<" > "<<*nearMissLimit<<") bogus answers for '"<<domain<<"' from "<<fromaddr.toString()<<", assuming spoof attempt."<<endl;
+ if (nearMissLimit > 0 && pident.nearMisses > nearMissLimit) {
+ g_log<<Logger::Error<<"Too many ("<<pident.nearMisses<<" > "<<nearMissLimit<<") bogus answers for '"<<domain<<"' from "<<fromaddr.toString()<<", assuming spoof attempt."<<endl;
g_stats.spoofCount++;
return LWResult::Result::Spoofed;
}