]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Properly select active rdatasets when iterating across node
authorMark Andrews <marka@isc.org>
Tue, 15 Nov 2022 23:09:56 +0000 (10:09 +1100)
committerMark Andrews <marka@isc.org>
Wed, 7 Dec 2022 22:20:02 +0000 (22:20 +0000)
Active rdatasets where not being properly selected in rdatasetiter_first
and rdatasetiter_next.

lib/dns/rbtdb.c

index de5d3b170c33b5e8ec32d79e6fdf6642233ad0a7..c7550b474ad7a3367a7a3ab79cad87d5900dd91f 100644 (file)
@@ -8867,10 +8867,7 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) {
                                 *  queries for 0 TTL rdatasets to work.
                                 */
                                if (NONEXISTENT(header) ||
-                                   (now != 0 &&
-                                    (now - RBTDB_VIRTUAL) >
-                                            header->rdh_ttl +
-                                                    STALE_TTL(header, rbtdb)))
+                                   (now != 0 && now > header->rdh_ttl))
                                {
                                        header = NULL;
                                }
@@ -8950,9 +8947,7 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) {
                                         * queries for 0 TTL rdatasets to work.
                                         */
                                        if (NONEXISTENT(header) ||
-                                           (now != 0 &&
-                                            (now - RBTDB_VIRTUAL) >
-                                                    header->rdh_ttl))
+                                           (now != 0 && now > header->rdh_ttl))
                                        {
                                                header = NULL;
                                        }