From 3d7a9fba3b41c97b9e536e17c0f711388f1c898a Mon Sep 17 00:00:00 2001 From: Aram Sargsyan Date: Wed, 25 Dec 2024 14:30:53 +0000 Subject: [PATCH] Don't disable RPZ and CATZ for zones with an $INCLUDE statement The code in zone_startload() disables RPZ and CATZ for a zone if dns_master_loadfile() returns anything other than ISC_R_SUCCESS, which makes sense, but it's an error because zone_startload() can also return DNS_R_SEENINCLUDE upon success when the zone had an $INCLUDE statement. --- lib/dns/zone.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 00e2bdb55d..c2b8186f4d 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -2657,13 +2657,13 @@ zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) { } cleanup: - if (result != ISC_R_SUCCESS) { + if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE) { dns_zone_rpz_disable_db(zone, load->db); dns_zone_catz_disable_db(zone, load->db); } tresult = dns_db_endload(db, &load->callbacks); - if (result == ISC_R_SUCCESS) { + if (result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE) { result = tresult; }