Commit a5a13bd779 for bind
commit a5a13bd77945c3e981edd60d360d93649bdf61eb
Author: Alessio Podda <alessio@isc.org>
Date: Sun Sep 27 07:27:40 2026 +0200
Fix linked-name users after rebase
diff --git a/bin/plugins/synthrecord.c b/bin/plugins/synthrecord.c
index bbe35a0aad..b24b404263 100644
--- a/bin/plugins/synthrecord.c
+++ b/bin/plugins/synthrecord.c
@@ -159,9 +159,9 @@ synthrecord_respond(synthrecord_t *inst, query_ctx_t *qctx, void *rdata,
* rdataset to it.
*/
dns_message_gettempname(msg, &aname);
- dns_name_copy(qctx->client->query.qname, aname);
+ dns_name_copy(qctx->client->query.qname, dns_name(aname));
dns_message_addname(msg, aname, DNS_SECTION_ANSWER);
- dns_rdataset_setownercase(synthset, dns_linkedname_name(aname));
+ dns_rdataset_setownercase(synthset, dns_name(aname));
ISC_LIST_APPEND(aname->list, synthset, link);
/*
diff --git a/lib/dns/dnssec.c b/lib/dns/dnssec.c
index 9f30ad8692..ea3cdd78b5 100644
--- a/lib/dns/dnssec.c
+++ b/lib/dns/dnssec.c
@@ -492,9 +492,7 @@ dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
RETERR(dns_rdataset_first(set));
dns_rdataset_current(set, &rdata);
RETERR(dns_rdata_tostruct(&rdata, &nsec));
- if (!dns_name_issubdomain(&nsec.next,
- dns_name(&sig.signer)))
- {
+ if (!dns_name_issubdomain(&nsec.next, dns_name(&sig.signer))) {
return DNS_R_NOVALIDNSEC;
}
}
diff --git a/lib/dns/rdatalist.c b/lib/dns/rdatalist.c
index 328fd32914..448b9ac2b3 100644
--- a/lib/dns/rdatalist.c
+++ b/lib/dns/rdatalist.c
@@ -171,8 +171,9 @@ dns__rdatalist_count(dns_rdataset_t *rdataset) {
* NSEC or NSEC3 rdataset together with the RRSIG rdataset covering it.
*/
static bool
-findproof(dns_name_t *name, dns_rdataclass_t rdclass, dns_rdatatype_t type,
- dns_rdataset_t **negp, dns_rdataset_t **negsigp) {
+findproof(dns_linkedname_t *name, dns_rdataclass_t rdclass,
+ dns_rdatatype_t type, dns_rdataset_t **negp,
+ dns_rdataset_t **negsigp) {
dns_rdataset_t *neg = NULL;
dns_rdataset_t *negsig = NULL;
@@ -211,9 +212,7 @@ dns__rdatalist_addnoqname(dns_rdataset_t *rdataset, dns_linkedname_t *name,
REQUIRE(rdataset != NULL);
REQUIRE(DNS_NAME_VALID(dns_linkedname_name(name)));
- if (!findproof(dns_linkedname_name(name), rdataset->rdclass, type, &neg,
- &negsig))
- {
+ if (!findproof(name, rdataset->rdclass, type, &neg, &negsig)) {
return ISC_R_NOTFOUND;
}
@@ -244,8 +243,8 @@ dns__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name,
REQUIRE(DNS_NAME_VALID(dns_linkedname_name(noqname)));
- if (!findproof(dns_linkedname_name(noqname), rdataset->rdclass,
- rdataset->rdlist.noqnametype, &tneg, &tnegsig))
+ if (!findproof(noqname, rdataset->rdclass, rdataset->rdlist.noqnametype,
+ &tneg, &tnegsig))
{
return ISC_R_NOTFOUND;
}
diff --git a/lib/dns/validator.c b/lib/dns/validator.c
index 4e1cd0df51..3fee01daee 100644
--- a/lib/dns/validator.c
+++ b/lib/dns/validator.c
@@ -2911,7 +2911,7 @@ val_rdataset_next(dns_validator_t *val, dns_linkedname_t **namep,
}
static dns_rdataset_t *
-find_sigrdataset(const dns_name_t *name, dns_rdatatype_t covers) {
+find_sigrdataset(const dns_linkedname_t *name, dns_rdatatype_t covers) {
for (dns_rdataset_t *sigrdataset = ISC_LIST_HEAD(name->list);
sigrdataset != NULL;
sigrdataset = ISC_LIST_NEXT(sigrdataset, link))
@@ -2929,7 +2929,7 @@ find_sigrdataset(const dns_name_t *name, dns_rdatatype_t covers) {
* Return ISC_R_SUCCESS if every RRSIG covering an NSEC is signed by 'zonename'.
*/
static isc_result_t
-valid_nsec_signer(dns_validator_t *val, dns_name_t *name,
+valid_nsec_signer(dns_validator_t *val, dns_linkedname_t *name,
dns_name_t *zonename) {
isc_result_t result = DNS_R_NOVALIDNSEC;
dns_rdataset_t sigset = DNS_RDATASET_INIT;
@@ -2945,7 +2945,7 @@ valid_nsec_signer(dns_validator_t *val, dns_name_t *name,
return DNS_R_NOVALIDNSEC;
}
} else {
- RETERR(dns_ncache_getsigrdataset(val->rdataset, name,
+ RETERR(dns_ncache_getsigrdataset(val->rdataset, dns_name(name),
dns_rdatatype_nsec, &sigset));
sigrdataset = &sigset;
@@ -3035,8 +3035,7 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type,
dns_linkedname_t **proofs = val->proofs;
switch (rdataset->type) {
case dns_rdatatype_nsec:
- result = valid_nsec_signer(val, dns_name(name),
- zonename);
+ result = valid_nsec_signer(val, name, zonename);
if (result != ISC_R_SUCCESS) {
continue;
}
diff --git a/lib/ns/notify.c b/lib/ns/notify.c
index bd64dcf1f4..fa9774ca91 100644
--- a/lib/ns/notify.c
+++ b/lib/ns/notify.c
@@ -166,12 +166,12 @@ ns_notify_start(ns_client_t *client, isc_nmhandle_t *handle) {
if (zone_rdataset->type != dns_rdatatype_soa) {
result = DNS_R_NOTIMP;
- notify_log_received(client, ISC_LOG_DEBUG(3), zonename,
- zone_rdataset->type, result);
+ notify_log_received(client, ISC_LOG_DEBUG(3),
+ dns_name(zonename), zone_rdataset->type,
+ result);
goto done;
}
- result = dns_view_findzone(client->inner.view,
- dns_name(zonename),
+ result = dns_view_findzone(client->inner.view, dns_name(zonename),
DNS_ZTFIND_EXACT, &zone);
if (result == ISC_R_SUCCESS) {
dns_zonetype_t zonetype = dns_zone_gettype(zone);
@@ -183,7 +183,8 @@ ns_notify_start(ns_client_t *client, isc_nmhandle_t *handle) {
{
isc_sockaddr_t *from = ns_client_getsockaddr(client);
isc_sockaddr_t *to = ns_client_getdestaddr(client);
- notify_log_received(client, ISC_LOG_INFO, zonename,
+ notify_log_received(client, ISC_LOG_INFO,
+ dns_name(zonename),
zone_rdataset->type, ISC_R_SUCCESS);
result = dns_zone_notifyreceive(zone, from, to,
request);
@@ -192,7 +193,7 @@ ns_notify_start(ns_client_t *client, isc_nmhandle_t *handle) {
}
result = DNS_R_NOTAUTH;
- notify_log_received(client, ISC_LOG_NOTICE, zonename,
+ notify_log_received(client, ISC_LOG_NOTICE, dns_name(zonename),
zone_rdataset->type, result);
done:
diff --git a/tests/dns/ncache_test.c b/tests/dns/ncache_test.c
index 90f86bd4cd..10587de1b7 100644
--- a/tests/dns/ncache_test.c
+++ b/tests/dns/ncache_test.c
@@ -82,14 +82,16 @@ negative_response(void) {
static void
add_rrset(dns_message_t *msg, const char *ownerstr, dns_rdatatype_t type,
dns_rdatatype_t covers, unsigned int count, size_t size) {
- dns_name_t *name = NULL;
+ dns_linkedname_t *name = NULL;
dns_rdatalist_t *rdatalist = NULL;
dns_rdataset_t *rdataset = NULL;
size_t payload, rdlen;
dns_message_gettempname(msg, &name);
- name_fromstring((dns_fixedname_t *)name, ownerstr);
- name->attributes.ncache = true;
+ isc_result_t result = dns_name_fromstring(dns_name(name), ownerstr,
+ dns_rootname, 0, isc_g_mctx);
+ assert_int_equal(result, ISC_R_SUCCESS);
+ dns_linkedname_attrs(name)->ncache = true;
dns_message_gettemprdatalist(msg, &rdatalist);
rdatalist->rdclass = dns_rdataclass_in;
@@ -101,8 +103,8 @@ add_rrset(dns_message_t *msg, const char *ownerstr, dns_rdatatype_t type,
* Split the rdata bytes evenly, giving the remainder to the first
* rdatas one byte at a time.
*/
- assert_true(size >= name->length + 5 + count * 2);
- payload = size - name->length - 5 - count * 2;
+ assert_true(size >= dns_name(name)->length + 5 + count * 2);
+ payload = size - dns_name(name)->length - 5 - count * 2;
rdlen = payload / count;
for (unsigned int i = 0; i < count; i++) {
diff --git a/tests/dns/rdataset_test.c b/tests/dns/rdataset_test.c
index 0739b1174d..d597d828ed 100644
--- a/tests/dns/rdataset_test.c
+++ b/tests/dns/rdataset_test.c
@@ -121,8 +121,9 @@ typedef struct {
#define MAXSETS 4
static void
-addset(dns_name_t *owner, dns_rdatalist_t *rdatalist, dns_rdataset_t *rdataset,
- dns_rdatatype_t type, dns_rdatatype_t covers, dns_ttl_t ttl) {
+addset(dns_linkedname_t *owner, dns_rdatalist_t *rdatalist,
+ dns_rdataset_t *rdataset, dns_rdatatype_t type, dns_rdatatype_t covers,
+ dns_ttl_t ttl) {
dns_rdatalist_init(rdatalist);
rdatalist->rdclass = dns_rdataclass_in;
rdatalist->type = type;
@@ -145,7 +146,8 @@ static void
check_noqname(const proofset_t *sets, size_t nsets, dns_rdatatype_t type,
isc_result_t expected) {
dns_fixedname_t fowner;
- dns_name_t *owner = dns_fixedname_initname(&fowner);
+ dns_name_t *ownername = dns_fixedname_initname(&fowner);
+ dns_linkedname_t owner = DNS_LINKEDNAME_INITEMPTY;
dns_rdatalist_t rdatalists[MAXSETS], answerlist;
dns_rdataset_t rdatasets[MAXSETS], answer;
dns_rdataset_t neg = DNS_RDATASET_INIT, negsig = DNS_RDATASET_INIT;
@@ -154,12 +156,13 @@ check_noqname(const proofset_t *sets, size_t nsets, dns_rdatatype_t type,
isc_result_t result;
assert_true(nsets <= MAXSETS);
- result = dns_name_fromstring(owner, "proof.example.", dns_rootname, 0,
- NULL);
+ result = dns_name_fromstring(ownername, "proof.example.", dns_rootname,
+ 0, NULL);
assert_int_equal(result, ISC_R_SUCCESS);
+ dns_name_clone(ownername, dns_name(&owner));
for (size_t i = 0; i < nsets; i++) {
- addset(owner, &rdatalists[i], &rdatasets[i], sets[i].type,
+ addset(&owner, &rdatalists[i], &rdatasets[i], sets[i].type,
sets[i].covers, sets[i].ttl);
if (sets[i].type == type ||
(sets[i].type == dns_rdatatype_rrsig &&
@@ -170,7 +173,7 @@ check_noqname(const proofset_t *sets, size_t nsets, dns_rdatatype_t type,
}
addset(NULL, &answerlist, &answer, dns_rdatatype_a, 0, ANSWER_TTL);
- result = dns_rdataset_addnoqname(&answer, owner, type);
+ result = dns_rdataset_addnoqname(&answer, &owner, type);
assert_int_equal(result, expected);
if (result != ISC_R_SUCCESS) {
assert_false(answer.attributes.noqname);
@@ -182,7 +185,7 @@ check_noqname(const proofset_t *sets, size_t nsets, dns_rdatatype_t type,
result = dns_rdataset_getnoqname(&answer, &found, &neg, &negsig);
assert_int_equal(result, ISC_R_SUCCESS);
- assert_true(dns_name_equal(&found, owner));
+ assert_true(dns_name_equal(&found, &owner));
assert_int_equal(neg.type, type);
assert_int_equal(negsig.type, dns_rdatatype_rrsig);
assert_int_equal(negsig.covers, type);