+ case DNSBLConfEntry::I_GLINE:
+ {
+ GLine* gl = new GLine(ServerInstance->Time(), ConfEntry->duration, ServerInstance->Config->ServerName.c_str(), reason.c_str(),
+ "*", them->GetIPString());
+ if (ServerInstance->XLines->AddLine(gl,NULL))
+ {
+ ServerInstance->SNO->WriteToSnoMask('x', "G-line added due to DNSBL match on *@%s to expire in %s (on %s): %s",
+ them->GetIPString().c_str(), InspIRCd::DurationString(gl->duration).c_str(),
+ InspIRCd::TimeString(gl->expiry).c_str(), reason.c_str());
+ ServerInstance->XLines->ApplyLines();
+ }
+ else
+ {
+ delete gl;
+ return;
+ }
+ break;
+ }
+ case DNSBLConfEntry::I_ZLINE:
+ {
+ ZLine* zl = new ZLine(ServerInstance->Time(), ConfEntry->duration, ServerInstance->Config->ServerName.c_str(), reason.c_str(),
+ them->GetIPString());
+ if (ServerInstance->XLines->AddLine(zl,NULL))
+ {
+ ServerInstance->SNO->WriteToSnoMask('x', "Z-line added due to DNSBL match on %s to expire in %s (on %s): %s",
+ them->GetIPString().c_str(), InspIRCd::DurationString(zl->duration).c_str(),
+ InspIRCd::TimeString(zl->expiry).c_str(), reason.c_str());
+ ServerInstance->XLines->ApplyLines();
+ }
+ else
+ {
+ delete zl;
+ return;
+ }
+ break;
+ }
+ case DNSBLConfEntry::I_UNKNOWN:
+ default:
+ break;