From: Ondřej Surý Date: Wed, 12 Aug 2026 11:08:03 +0000 (+0200) Subject: Apply the semantic patch to use dns_name_empty() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0988d0581bcb11d1ba152f5b778244b0620bfd1;p=thirdparty%2Fbind9.git Apply the semantic patch to use dns_name_empty() Replace the easy dns_name_countlabels == 0 and > 0 occurrences with dns_name_empty() using the semantic patch from the previous commit. --- diff --git a/bin/plugins/filter-a.c b/bin/plugins/filter-a.c index 695ada25040..2070feb6a32 100644 --- a/bin/plugins/filter-a.c +++ b/bin/plugins/filter-a.c @@ -687,9 +687,7 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { dns_fixedname_t tfoundname; dns_rdataset_t *trdataset; - if (dns_name_countlabels( - dns_fixedname_name(&qctx->foundname)) == 0) - { + if (dns_name_empty(dns_fixedname_name(&qctx->foundname))) { return NS_HOOK_CONTINUE; } diff --git a/bin/plugins/filter-aaaa.c b/bin/plugins/filter-aaaa.c index 56b2bf1fbd8..187d4145256 100644 --- a/bin/plugins/filter-aaaa.c +++ b/bin/plugins/filter-aaaa.c @@ -691,9 +691,7 @@ filter_respond_begin(void *arg, void *cbdata, isc_result_t *resp) { dns_fixedname_t tfoundname; dns_rdataset_t *trdataset; - if (dns_name_countlabels( - dns_fixedname_name(&qctx->foundname)) == 0) - { + if (dns_name_empty(dns_fixedname_name(&qctx->foundname))) { return NS_HOOK_CONTINUE; } diff --git a/lib/dns/catz.c b/lib/dns/catz.c index 7d93a1eee86..59ebecf3784 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -1268,14 +1268,14 @@ catz_process_coo(dns_catz_zone_t *catz, dns_label_t *mhash, RETERR(dns_rdata_tostruct(&rdata, &ptr, NULL)); - if (dns_name_countlabels(&ptr.ptr) == 0) { + if (dns_name_empty(&ptr.ptr)) { CLEANUP(ISC_R_FAILURE); } CHECK(isc_ht_find(catz->entries, mhash->base, mhash->length, (void **)&entry)); - if (dns_name_countlabels(&entry->name) == 0) { + if (dns_name_empty(&entry->name)) { CLEANUP(ISC_R_FAILURE); } @@ -1318,7 +1318,7 @@ catz_process_zones_entry(dns_catz_zone_t *catz, dns_rdataset_t *value, result = isc_ht_find(catz->entries, mhash->base, mhash->length, (void **)&entry); if (result == ISC_R_SUCCESS) { - if (dns_name_countlabels(&entry->name) != 0) { + if (!dns_name_empty(&entry->name)) { /* We have a duplicate. */ dns_rdata_freestruct(&ptr); return ISC_R_FAILURE; diff --git a/lib/dns/masterdump.c b/lib/dns/masterdump.c index 5ad7c7c894d..ad321f79f85 100644 --- a/lib/dns/masterdump.c +++ b/lib/dns/masterdump.c @@ -883,7 +883,7 @@ dns_rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, * file and this rdataset has the same name as the * previous one.) */ - if (dns_name_countlabels(owner_name) == 0) { + if (dns_name_empty(owner_name)) { owner_name = NULL; } diff --git a/lib/dns/nsec3.c b/lib/dns/nsec3.c index 5d1fe87f073..f2fe79a55b7 100644 --- a/lib/dns/nsec3.c +++ b/lib/dns/nsec3.c @@ -1844,9 +1844,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, /* * Is this zone the same or deeper than the current zone? */ - if (dns_name_countlabels(zonename) == 0 || - dns_name_issubdomain(zone, zonename)) - { + if (dns_name_empty(zonename) || dns_name_issubdomain(zone, zonename)) { dns_name_copy(zone, zonename); } @@ -1985,7 +1983,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, */ if (order == 0) { if (closest != NULL && - (dns_name_countlabels(closest) == 0 || + (dns_name_empty(closest) || dns_name_issubdomain(qname, closest)) && !dns_nsec3_typepresent(&rdata, dns_rdatatype_ds) && !dns_nsec3_typepresent(&rdata, @@ -2029,7 +2027,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, "name does not exist: '%s'", namebuf); if (nearest != NULL && - (dns_name_countlabels(nearest) == 0 || + (dns_name_empty(nearest) || dns_name_issubdomain(nearest, qname))) { dns_name_copy(qname, nearest); diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 61b130e312d..57b26e68645 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -9580,7 +9580,7 @@ rctx_referral(respctx_t *rctx) { * XXXRTH We should check if we're in forward-only mode, and * if so we should bail out. */ - INSIST(dns_name_countlabels(fctx->domain) > 0); + INSIST(!dns_name_empty(fctx->domain)); fcount_decr(fctx); dns_delegset_detach(&fctx->delegset); diff --git a/lib/dns/tkey.c b/lib/dns/tkey.c index b57477c00a5..7a3e0f6b0b0 100644 --- a/lib/dns/tkey.c +++ b/lib/dns/tkey.c @@ -192,7 +192,7 @@ process_gsstkey(dns_message_t *msg, dns_name_t *name, dns_rdata_tkey_t *tkeyin, * rejected in dst_gssapi_acceptctx(), so if we reach here the * negotiation is complete and the principal must be set. */ - if (dns_name_countlabels(principal) == 0U) { + if (dns_name_empty(principal)) { tkeyout->error = dns_tsigerror_badkey; tkey_log("process_gsstkey(): " "completed context with empty principal"); diff --git a/lib/dns/validator.c b/lib/dns/validator.c index e6ee370a175..8a98f59eefe 100644 --- a/lib/dns/validator.c +++ b/lib/dns/validator.c @@ -2813,7 +2813,7 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type, dns_rdataset_init(&trdataset); wild = dns_fixedname_name(&val->wild); - if (dns_name_countlabels(wild) == 0) { + if (dns_name_empty(wild)) { validator_log(val, ISC_LOG_DEBUG(3), "in checkwildcard: no wildcard to check"); return ISC_R_SUCCESS; @@ -2933,7 +2933,7 @@ findnsec3proofs(dns_validator_t *val) { CLEANUP(result); } } - if (dns_name_countlabels(zonename) == 0) { + if (dns_name_empty(zonename)) { CLEANUP(ISC_R_SUCCESS); } @@ -2941,7 +2941,7 @@ findnsec3proofs(dns_validator_t *val) { * If the val->closest is set then we want to use it otherwise * we need to discover it. */ - if (dns_name_countlabels(dns_fixedname_name(&val->closest)) != 0) { + if (!dns_name_empty(dns_fixedname_name(&val->closest))) { char namebuf[DNS_NAME_FORMATSIZE]; dns_name_format(dns_fixedname_name(&val->closest), namebuf, @@ -3025,11 +3025,11 @@ findnsec3proofs(dns_validator_t *val) { * at proofs from the parent zone. */ dns_name_t *wildsigner = dns_fixedname_name(&val->wildsigner); - if (dns_name_countlabels(closest) > 0 && + if (!dns_name_empty(closest) && dns_name_countlabels(nearest) == dns_name_countlabels(closest) + 1 && dns_name_issubdomain(nearest, closest) && - (dns_name_countlabels(wildsigner) == 0 || + (dns_name_empty(wildsigner) || dns_name_equal(zonename, wildsigner))) { val->attributes |= VALATTR_FOUNDCLOSEST; @@ -3271,8 +3271,7 @@ validate_nx(dns_validator_t *val, bool resume) { marksecure(val, "validate_nx (noqname proof found)"); return ISC_R_SUCCESS; } else if (FOUNDOPTOUT(val) && - dns_name_countlabels( - dns_fixedname_name(&val->wild)) != 0) + !dns_name_empty(dns_fixedname_name(&val->wild))) { validator_log(val, ISC_LOG_DEBUG(3), "optout proof found"); diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 78f40729708..ac21cf5ac3f 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -2348,7 +2348,7 @@ integrity_checks(dns_zone_t *zone, dns_db_t *db) { * Is this name visible in the zone? */ if (!dns_name_issubdomain(name, &zone->origin) || - (dns_name_countlabels(bottom) > 0 && + (!dns_name_empty(bottom) && dns_name_issubdomain(name, bottom))) { goto next; diff --git a/lib/ns/query.c b/lib/ns/query.c index 4a8d44d16a1..f9e662d25d6 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -9393,7 +9393,7 @@ checksignames(dns_name_t *signer, dns_rdataset_t *sigrdataset) { result = dns_rdata_tostruct(&rdata, &rrsig, NULL); RUNTIME_CHECK(result == ISC_R_SUCCESS); - if (dns_name_countlabels(signer) == 0) { + if (dns_name_empty(signer)) { dns_name_copy(&rrsig.signer, signer); } else if (!dns_name_equal(signer, &rrsig.signer)) { return ISC_R_FAILURE;