]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] check signing time on signed db
authorEvan Hunt <each@isc.org>
Thu, 24 Jan 2013 22:24:59 +0000 (14:24 -0800)
committerEvan Hunt <each@isc.org>
Thu, 24 Jan 2013 22:24:59 +0000 (14:24 -0800)
     - rndc zonestatus now checks the signing time on the
       signed, not raw, db when looking at inline-signing zones

3476. [bug] "rndc zonestatus" could report a spurious "not
found" error on inline-signing zones. [RT #29226]

CHANGES
bin/named/server.c

diff --git a/CHANGES b/CHANGES
index 918ec5da912ea5ad6af388604759e2791f42746f..9a2aff7166709166ef4a1b10d700f07c5db558f0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3476.  [bug]           "rndc zonestatus" could report a spurious "not
+                       found" error on inline-signing zones. [RT #29226]
+
 3475.  [cleanup]       Changed name of 'map' zone file format (previously
                        'fast'). [RT #32458]
 
index caf7fd66eb654716d89d392462256bb773fb72a2..28434187e95adf998d7644b283a0b6b44270000b 100644 (file)
@@ -8411,15 +8411,12 @@ ns_server_zonestatus(ns_server_t *server, char *args, isc_buffer_t *text) {
                dns_name_t *name;
                dns_fixedname_t fixed;
                dns_rdataset_t next;
-               dns_db_t *signingdb;
 
                dns_rdataset_init(&next);
                dns_fixedname_init(&fixed);
                name = dns_fixedname_name(&fixed);
 
-               signingdb = hasraw ? rawdb : db;
-
-               result = dns_db_getsigningtime(signingdb, &next, name);
+               result = dns_db_getsigningtime(db, &next, name);
                if (result == ISC_R_SUCCESS) {
                        isc_stdtime_t timenow;
                        char namebuf[DNS_NAME_FORMATSIZE];
@@ -8435,7 +8432,8 @@ ns_server_zonestatus(ns_server_t *server, char *args, isc_buffer_t *text) {
                        isc_time_formathttptimestamp(&resigntime, rtbuf,
                                                     sizeof(rtbuf));
                        dns_rdataset_disassociate(&next);
-               }
+               } else if (result == ISC_R_NOTFOUND)
+                       result = ISC_R_SUCCESS;
        }
 
        /* Create text */