]> granicus.if.org Git - pdns/commitdiff
auth-bindbackend: only compare ips in isMaster()
authorKees Monshouwer <mind04@monshouwer.org>
Fri, 4 May 2018 09:03:17 +0000 (11:03 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 4 May 2018 09:03:17 +0000 (11:03 +0200)
modules/bindbackend/bindbackend2.cc

index 86159c424d907cc984043c9186e25c2165ac8b07..3dea35d3af25c490d375b1363dc1107f9d0f54da 100644 (file)
@@ -1211,10 +1211,16 @@ bool Bind2Backend::isMaster(const DNSName& name, const string &ip)
   if(bbd.d_kind != DomainInfo::Slave)
     return false;
 
-  for(vector<string>::const_iterator iter = bbd.d_masters.begin(); iter != bbd.d_masters.end(); ++iter)
-    if(*iter==ip)
-      return true;
-  
+  for(vector<string>::const_iterator iter = bbd.d_masters.begin(); iter != bbd.d_masters.end(); ++iter) {
+    try {
+      const ComboAddress caMaster(*iter);
+      if(ip == caMaster.toString()) {
+        return true;
+      }
+    }
+    catch(...) {}
+  }
+
   return false;
 }