Blob Blame Raw
Index: /trunk/pdns/pdns/packethandler.cc
===================================================================
--- /trunk/pdns/pdns/packethandler.cc (revision 1079)
+++ /trunk/pdns/pdns/packethandler.cc (revision 1081)
@@ -399,6 +399,8 @@
       }
     }
-    if(hits && !found && !rfound && shortcut ) // we found matching qnames but not a qtype
+    if(hits && !found && !rfound && shortcut ) { // we found matching qnames but not a qtype
+      DLOG(L<<"Found matching qname, but not the qtype"<<endl);
       return 2;
+    }
 
     if(rfound)
@@ -654,4 +656,5 @@
 
     if(mret==2) { // there is some data, but not of the correct type
+      r->clearRecords();
       DLOG(L<<"There is some data, but not of the correct type, adding SOA for NXRECORDSET"<<endl);
       SOAData sd;
@@ -696,5 +699,4 @@
       }
     }
-
     noSameLevelNS=true;
 
@@ -739,5 +741,5 @@
     // not found yet, try wildcards (we only try here in case of recursion - we should check before we hand off)
 
-    if(p->d.rd && d_doRecursion && d_doWildcards) { 
+    if(mret != 2 && p->d.rd && d_doRecursion && d_doWildcards) { 
       int res=doWildcardRecords(p,r,target);
       if(res) { // had a result