]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
prevent powerdns being hammered by servers repeating malformed queries ad nauseam
authorBert Hubert <bert.hubert@netherlabs.nl>
Fri, 25 Jul 2008 18:43:39 +0000 (18:43 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Fri, 25 Jul 2008 18:43:39 +0000 (18:43 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1239 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/packethandler.cc

index 3ff12aa8b9086de670107523777179b7711a0351..978bc7478ef96619f9923c2fbb8afeea788a27b9 100644 (file)
@@ -603,9 +603,11 @@ DNSPacket *PacketHandler::questionOrRecurse(DNSPacket *p, bool *shouldRecurse)
 
     if(!validDNSName(p->qdomain)) {
       if(::arg().mustDo("log-dns-details"))
-        L<<Logger::Error<<"Received a malformed qdomain from "<<p->getRemote()<<", '"<<p->qdomain<<"': dropping"<<endl;
+        L<<Logger::Error<<"Received a malformed qdomain from "<<p->getRemote()<<", '"<<p->qdomain<<"': sending servfail"<<endl;
       S.inc("corrupt-packets");
-      return 0;
+      r=p->replyPacket(); 
+      r->setRcode(RCode::ServFail);
+      return r;
     }
     if(p->d.opcode) { // non-zero opcode (again thanks RA!)
       if(p->d.opcode==Opcode::Update) {