]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] Prevent bogus warning from being logged
authorMichał Kępień <michal@isc.org>
Thu, 23 Nov 2017 08:36:04 +0000 (09:36 +0100)
committerMichał Kępień <michal@isc.org>
Thu, 23 Nov 2017 08:36:04 +0000 (09:36 +0100)
4825. [bug] Prevent a bogus "error during managed-keys processing
(no more)" warning from being logged. [RT #46645]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 1809657c652d393a8ec6594cef36f311f189f1b9..53c80680702a2aaa6ca73cd646d38b5bddebed76 100644 (file)
--- 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
index 708c119b56aab01ae559585a9bf86325d4a2ae20..1cb07feba1d083e6e57a176af2903ec16dcbb738 100644 (file)
@@ -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: