]> granicus.if.org Git - pdns/commitdiff
Revert "auth: In `Bind2Backend::lookup()`, use the `zoneId` when we have it"
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 13 Jan 2017 16:40:02 +0000 (17:40 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 13 Jan 2017 18:30:20 +0000 (19:30 +0100)
This reverts commit 937a66255ff05f2e754ef113833e54cc4cf2004b.
It doesn't work with multiple backends since the `zoneId` is passed to
every available backend on `lookup()`.

(cherry picked from commit 98b9845f2dae3a9fecc64aecaf41150b54388d26)

modules/bindbackend/bindbackend2.cc

index 4f9b06fc766defa0dfff73c43dbbc3588045da6d..3baf25ebb43e7e8b937bf08407d22243e5ca29dd 100644 (file)
@@ -1036,17 +1036,9 @@ void Bind2Backend::lookup(const QType &qtype, const DNSName &qname, DNSPacket *p
   bool found=false;
   BB2DomainInfo bbd;
 
-  if (zoneId != -1) {
-    found = safeGetBBDomainInfo(zoneId, &bbd);
-    if (found) {
-      domain = bbd.d_name;
-    }
-  }
-  else {
-    do {
-      found = safeGetBBDomainInfo(domain, &bbd);
-    } while (!found && domain.chopOff());
-  }
+  do {
+    found = safeGetBBDomainInfo(domain, &bbd);
+  } while ((!found || (zoneId != (int)bbd.d_id && zoneId != -1)) && domain.chopOff());
 
   if(!found) {
     if(mustlog)