diff --git a/CHANGES b/CHANGES index 1809657c65..53c8068070 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4825. [bug] Prevent a bogus "error during managed-keys processing + (no more)" warning from being logged. [RT #46645] + 4824. [port] Add iOS hooks to dig. [RT #42011] 4823. [test] Refactor reclimit system test to improve its diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 708c119b56..1cb07feba1 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -9604,6 +9604,17 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) { DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_LOADED); zone_needdump(zone, 30); + } else if (result == ISC_R_NOMORE) { + /* + * If "updatekey" was true for all keys found in the DNSKEY + * response and the previous update of those keys happened + * during the same second (only possible if a key refresh was + * externally triggered), it may happen that all relevant + * update_one_rr() calls will return ISC_R_SUCCESS, but + * diff.tuples will remain empty. Reset result to + * ISC_R_SUCCESS to prevent a bogus warning from being logged. + */ + result = ISC_R_SUCCESS; } failure: