]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use dns_view_findzone instead of dns_zt_find
authorMark Andrews <marka@isc.org>
Thu, 9 May 2024 01:35:06 +0000 (11:35 +1000)
committerMark Andrews <marka@isc.org>
Mon, 13 May 2024 22:46:00 +0000 (08:46 +1000)
With weak zone attachments being used for catzs, catzs->view->zonetable
may be NULL so we need to account for this which dns_view_findzone
does.  This is already done in main.

bin/named/server.c
lib/dns/catz.c

index 0e37e69c819f08003b689f93e39da30892f01fcf..f6549ab4363ae1c5eb23f77d5e1809b6292e1aef 100644 (file)
@@ -2704,7 +2704,7 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) {
                goto cleanup;
        }
 
-       result = dns_zt_find(ev->view->zonetable, name, 0, NULL, &zone);
+       result = dns_view_findzone(ev->view, name, &zone);
 
        if (ev->mod) {
                dns_catz_zone_t *parentcatz;
@@ -2899,8 +2899,8 @@ catz_delzone_taskaction(isc_task_t *task, isc_event_t *event0) {
 
        dns_name_format(dns_catz_entry_getname(ev->entry), cname,
                        DNS_NAME_FORMATSIZE);
-       result = dns_zt_find(ev->view->zonetable,
-                            dns_catz_entry_getname(ev->entry), 0, NULL, &zone);
+       result = dns_view_findzone(ev->view, dns_catz_entry_getname(ev->entry),
+                                  &zone);
        if (result != ISC_R_SUCCESS) {
                isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
                              NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING,
index 616d598e307587333852ff192c944eab2f38383a..613805221f6308d26511fec5e8dd145b9d8ea005 100644 (file)
@@ -525,7 +525,7 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
             result = delcur ? isc_ht_iter_delcurrent_next(iter1)
                             : isc_ht_iter_next(iter1))
        {
-               isc_result_t zt_find_result;
+               isc_result_t find_result;
                dns_catz_zone_t *parentcatz = NULL;
                dns_catz_entry_t *nentry = NULL;
                dns_catz_entry_t *oentry = NULL;
@@ -558,10 +558,10 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
                                            &catz->zoneoptions, &nentry->opts);
 
                /* Try to find the zone in the view */
-               zt_find_result = dns_zt_find(catz->catzs->view->zonetable,
-                                            dns_catz_entry_getname(nentry), 0,
-                                            NULL, &zone);
-               if (zt_find_result == ISC_R_SUCCESS) {
+               find_result = dns_view_findzone(catz->catzs->view,
+                                               dns_catz_entry_getname(nentry),
+                                               &zone);
+               if (find_result == ISC_R_SUCCESS) {
                        dns_catz_coo_t *coo = NULL;
                        char pczname[DNS_NAME_FORMATSIZE];
                        bool parentcatz_locked = false;
@@ -606,10 +606,6 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
                                UNLOCK(&parentcatz->lock);
                                LOCK(&catz->lock);
                        }
-               }
-               if (zt_find_result == ISC_R_SUCCESS ||
-                   zt_find_result == DNS_R_PARTIALMATCH)
-               {
                        dns_zone_detach(&zone);
                }
 
@@ -617,8 +613,7 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
                result = isc_ht_find(catz->entries, key, (uint32_t)keysize,
                                     (void **)&oentry);
                if (result != ISC_R_SUCCESS) {
-                       if (zt_find_result == ISC_R_SUCCESS &&
-                           parentcatz == catz)
+                       if (find_result == ISC_R_SUCCESS && parentcatz == catz)
                        {
                                /*
                                 * This means that the zone's unique label
@@ -645,7 +640,7 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
                        continue;
                }
 
-               if (zt_find_result != ISC_R_SUCCESS) {
+               if (find_result != ISC_R_SUCCESS) {
                        isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
                                      DNS_LOGMODULE_MASTER, ISC_LOG_DEBUG(3),
                                      "catz: zone '%s' was expected to exist "