From 7fbe85c6d7e47a8dfdc018a1f5fae2e8eb6cbd60 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 5 Oct 2016 10:35:18 +1100 Subject: [PATCH] 4472. [bug] Named could fail to find the correct NSEC3 records when a zone was update between looking for the answer and looking for the NSEC3 records proving non-existance of the answer. [RT #43247] --- CHANGES | 5 +++++ bin/named/query.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 97ed3a520d..74a68ec2d3 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +4472. [bug] Named could fail to find the correct NSEC3 records when + a zone was update between looking for the answer and + looking for the NSEC3 records proving non-existance + of the answer. [RT #43247] + --- 9.11.0 released --- --- 9.11.0rc3 released --- diff --git a/bin/named/query.c b/bin/named/query.c index e4753941ad..bd9df5cbfe 100644 --- a/bin/named/query.c +++ b/bin/named/query.c @@ -3621,7 +3621,7 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db, /* * Add closest (provable) encloser NSEC3. */ - query_findclosestnsec3(cname, db, NULL, client, rdataset, + query_findclosestnsec3(cname, db, version, client, rdataset, sigrdataset, fname, ISC_TRUE, cname); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; @@ -3660,7 +3660,7 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db, else dns_name_split(name, labels, NULL, wname); - query_findclosestnsec3(wname, db, NULL, client, rdataset, + query_findclosestnsec3(wname, db, version, client, rdataset, sigrdataset, fname, ISC_FALSE, NULL); if (!dns_rdataset_isassociated(rdataset)) goto cleanup; @@ -3700,7 +3700,7 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db, if (result != ISC_R_SUCCESS) goto cleanup; - query_findclosestnsec3(wname, db, NULL, client, rdataset, + query_findclosestnsec3(wname, db, version, client, rdataset, sigrdataset, fname, nodata, NULL); if (!dns_rdataset_isassociated(rdataset)) goto cleanup;