findZone(qdomain, zoneId, d_records, d_currentZone);
if (d_records) {
- if (qdomain == DNSName("geo.powerdns.com.") && pkt_p != nullptr && pkt_p->getRealRemote() == Netmask("192.0.2.1")) {
- d_currentScopeMask = 32;
+ if (qdomain == DNSName("geo.powerdns.com.") && pkt_p != nullptr) {
+ if (pkt_p->getRealRemote() == Netmask("192.0.2.1")) {
+ d_currentScopeMask = 32;
+ }
+ else if (pkt_p->getRealRemote() == Netmask("198.51.100.1")) {
+ d_currentScopeMask = 24;
+ }
}
auto& idx = d_records->get<OrderedNameTypeTag>();
::arg().set("query-cache-ttl")="0";
::arg().set("negquery-cache-ttl")="0";
::arg().set("consistent-backends")="no";
- QC.cleanup();
+ QC.purge();
::arg().set("zone-cache-refresh-interval")="0";
g_zoneCache.clear();
BackendMakers().clear();
/* disable the cache */
::arg().set("query-cache-ttl")="0";
::arg().set("negquery-cache-ttl")="0";
- QC.cleanup();
+ QC.purge();
QC.setMaxEntries(0);
/* keep zone cache disabled */
::arg().set("zone-cache-refresh-interval")="0";
/* enable the cache */
::arg().set("query-cache-ttl")="20";
::arg().set("negquery-cache-ttl")="60";
- QC.cleanup();
+ QC.purge();
QC.setMaxEntries(100000);
/* keep zone cache disabled */
::arg().set("zone-cache-refresh-interval")="0";
/* keep auth caches disabled */
::arg().set("query-cache-ttl")="0";
::arg().set("negquery-cache-ttl")="0";
- QC.cleanup();
+ QC.purge();
QC.setMaxEntries(0);
UeberBackend ub;
/* keep auth caches disabled */
::arg().set("query-cache-ttl")="0";
::arg().set("negquery-cache-ttl")="0";
- QC.cleanup();
+ QC.purge();
QC.setMaxEntries(0);
UeberBackend ub;
BOOST_REQUIRE_EQUAL(records.size(), 1U);
checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 32, true);
// and that we don't get the same result for a different client
- remote = ComboAddress("192.0.2.2");
+ remote = ComboAddress("198.51.100.1");
pkt.setRemote(&remote);
records = getRecords(ub, DNSName("geo.powerdns.com."), QType::ANY, 1, &pkt);
BOOST_REQUIRE_EQUAL(records.size(), 1U);
- checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 0, true);
+ checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 24, true);
}
};
BOOST_REQUIRE_EQUAL(records.size(), 1U);
checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 32, true);
// and that we don't get the same result for a different client
- remote = ComboAddress("192.0.2.2");
+ remote = ComboAddress("198.51.100.1");
pkt.setRemote(&remote);
records = getRecords(ub, DNSName("geo.powerdns.com."), QType::ANY, 1, &pkt);
BOOST_REQUIRE_EQUAL(records.size(), 1U);
- checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 0, true);
+ checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 24, true);
}
};
BOOST_REQUIRE_EQUAL(records.size(), 1U);
checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 32, true);
// and that we don't get the same result for a different client
- remote = ComboAddress("192.0.2.2");
+ remote = ComboAddress("198.51.100.1");
pkt.setRemote(&remote);
records = getRecords(ub, DNSName("geo.powerdns.com."), QType::ANY, 1, &pkt);
BOOST_REQUIRE_EQUAL(records.size(), 1U);
- checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 0, true);
+ checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 24, true);
}
};
BOOST_REQUIRE_EQUAL(records.size(), 1U);
checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 32, true);
// and that we don't get the same result for a different client
- remote = ComboAddress("192.0.2.2");
+ remote = ComboAddress("198.51.100.1");
pkt.setRemote(&remote);
records = getRecords(ub, DNSName("geo.powerdns.com."), QType::ANY, 1, &pkt);
BOOST_REQUIRE_EQUAL(records.size(), 1U);
- checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 0, true);
+ checkRecordExists(records, DNSName("geo.powerdns.com."), QType::A, 1, 24, true);
}
};
BOOST_REQUIRE(ub.getAuth(DNSName("2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa."), QType::PTR, &sd));
BOOST_CHECK_EQUAL(sd.qname.toString(), "d.0.1.0.0.2.ip6.arpa.");
BOOST_CHECK_EQUAL(sd.domain_id, 1);
- // check that only one auth lookup occurred to this backend
- BOOST_CHECK_EQUAL(sbba->d_authLookupCount, 1U);
+
+ // check that at most one auth lookup occurred to this backend (O with caching enabled)
+ BOOST_CHECK_LE(sbba->d_authLookupCount, 1U);
}
};