}
/* Note: This may be called multiple times for multiple A record results */
- virtual void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached, int resultnum = 0)
+ virtual void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached)
{
- /* for bitmask reply types, we arent interested in any but the first result (number 0) */
- if ((ConfEntry->type == DNSBLConfEntry::A_BITMASK) && (resultnum))
- return;
-
/* Check the user still exists */
if ((them) && (them == ServerInstance->SE->GetRef(theirfd)))
{
}
e->banaction = str2banaction(MyConf->ReadValue("dnsbl", "action", i));
- e->duration = ServerInstance->Duration(MyConf->ReadValue("dnsbl", "duration", i));
+ e->duration = ServerInstance->Duration(MyConf->ReadValue("dnsbl", "duration", "60", i));
/* Use portparser for record replies */
{
ServerInstance->SNO->WriteGlobalSno('a', "DNSBL(#%d): Invalid banaction", i);
}
+ else if (e->duration <= 0)
+ {
+ ServerInstance->SNO->WriteGlobalSno('a', "DNSBL(#%d): Invalid duration", i);
+ }
else
{
if (e->reason.empty())
delete MyConf;
}
- virtual void OnRehash(User* user, const std::string ¶meter)
+ virtual void OnRehash(User* user)
{
ReadConf();
}