NOTIMP is only appropriate for an unsupported opcode
authorKees Monshouwer <mind04@monshouwer.org>
Fri, 28 Jul 2017 11:04:16 +0000 (13:04 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 28 Jul 2017 11:05:22 +0000 (13:05 +0200)
pdns/packethandler.cc
regression-tests/tests/direct-rrsig/expected_result

index e4be541d29e02a92227c05066609e5d444123cd3..853128404f9d1eb387b638f0e946c46fd05042c6 100644 (file)
@@ -1200,7 +1200,7 @@ DNSPacket *PacketHandler::doQuestion(DNSPacket *p)
     // L<<Logger::Warning<<"Query for '"<<p->qdomain<<"' "<<p->qtype.getName()<<" from "<<p->getRemote()<< " (tcp="<<p->d_tcp<<")"<<endl;
     
     if(p->qtype.getCode()==QType::IXFR) {
-      r->setRcode(RCode::NotImp);
+      r->setRcode(RCode::Refused);
       return r;
     }
 
@@ -1214,9 +1214,9 @@ DNSPacket *PacketHandler::doQuestion(DNSPacket *p)
         return r;
     }
 
-    // we only know about qclass IN (and ANY), send NotImp for everything else.
+    // we only know about qclass IN (and ANY), send Refused for everything else.
     if(p->qclass != QClass::IN && p->qclass!=QClass::ANY) {
-      r->setRcode(RCode::NotImp);
+      r->setRcode(RCode::Refused);
       return r;
     }
 
@@ -1299,7 +1299,7 @@ DNSPacket *PacketHandler::doQuestion(DNSPacket *p)
     // this TRUMPS a cname!
     if(p->qtype.getCode() == QType::RRSIG) {
       L<<Logger::Info<<"Direct RRSIG query for "<<target<<" from "<<p->getRemote()<<endl;
-      r->setRcode(RCode::NotImp);
+      r->setRcode(RCode::Refused);
       goto sendit;
     }
 
index c6e05f4038eba7640475d57065b4b8201bb501c4..bd42abb7230979535df4d2368ef15bed60965b8f 100644 (file)
@@ -1,3 +1,3 @@
 2      .       IN      OPT     32768   
-Rcode: 4 (Not Implemented), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Rcode: 5 (Query Refused), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
 Reply to question for qname='example.com.', qtype=RRSIG