]> 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 16:40:02 +0000 (17:40 +0100)
This reverts commit 937a66255ff05f2e754ef113833e54cc4cf2004b.
It doesn't work with multiple backends since the `zoneId` is passed to
every available backend on `lookup()`.

modules/bindbackend/bindbackend2.cc

index 837fd509f6edcecb39e98d1461bfe47a9bb57351..c7cec262bf1d1ab9fbf63d8aea7edbcaae908855 100644 (file)
@@ -1015,17 +1015,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)