From: Mark Andrews Date: Wed, 31 May 2023 06:13:29 +0000 (+1000) Subject: Use dns_view_findzone instead of dns_zt_find X-Git-Tag: v9.19.14~12^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=783c6a9538ac506adbae7904700439db5299e9d2;p=thirdparty%2Fbind9.git Use dns_view_findzone instead of dns_zt_find This ensures that rcu locking is properly applied for view->zonetable. --- diff --git a/bin/tests/system/dyndb/driver/syncptr.c b/bin/tests/system/dyndb/driver/syncptr.c index 270c7acca6c..4bbca88ce95 100644 --- a/bin/tests/system/dyndb/driver/syncptr.c +++ b/bin/tests/system/dyndb/driver/syncptr.c @@ -166,7 +166,7 @@ syncptr_find_zone(sample_instance_t *inst, dns_rdata_t *rdata, dns_name_t *name, } /* Find a zone containing owner name of the PTR record. */ - result = dns_zt_find(inst->view->zonetable, name, 0, zone); + result = dns_view_findzone(inst->view, name, 0, zone); if (result == DNS_R_PARTIALMATCH) { result = ISC_R_SUCCESS; } else if (result != ISC_R_SUCCESS) { diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index e7e3c3914dc..e4f98c769fa 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -6593,7 +6593,7 @@ name_external(const dns_name_t *name, dns_rdatatype_t type, fetchctx_t *fctx) { * then don't cache. */ dns_ztfind_t options = DNS_ZTFIND_NOEXACT | DNS_ZTFIND_MIRROR; - result = dns_zt_find(fctx->res->view->zonetable, name, options, &zone); + result = dns_view_findzone(fctx->res->view, name, options, &zone); if (result == ISC_R_SUCCESS || result == DNS_R_PARTIALMATCH) { dns_name_t *zname = dns_zone_getorigin(zone); dns_namereln_t reln = dns_name_fullcompare( diff --git a/lib/ns/query.c b/lib/ns/query.c index 63479e9a6c3..3d5752c8e5c 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -1116,7 +1116,7 @@ query_getzonedb(ns_client_t *client, const dns_name_t *name, ztoptions |= DNS_ZTFIND_NOEXACT; } - result = dns_zt_find(client->view->zonetable, name, ztoptions, &zone); + result = dns_view_findzone(client->view, name, ztoptions, &zone); if (result == DNS_R_PARTIALMATCH) { partial = true;