]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[v9_11] 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:37:08 +0000 (09:37 +0100)
4825. [bug] Prevent a bogus "error during managed-keys processing
(no more)" warning from being logged. [RT #46645]

(cherry picked from commit 165df18f7500b203f0ab845dedfc0fc8ba03c1e3)

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 86314bb353fefbf55297fc36a9a6d007d4ced995..23a78169e9f681b3f0ddf5756bedca6f04bee155 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]
+
 4823.  [test]          Refactor reclimit system test to improve its
                        reliability and speed. [RT #46632]
 
index dc948a28ee3712b8fccec5a9c9315b14857bfa6f..004d4e14d4766863f04f8708e4a235d6853ce938 100644 (file)
@@ -9549,6 +9549,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: