Simplify name initializers

We no longer need to pass labels to DNS_NAME_INITABSOLUTE
and DNS_NAME_INITNONABSOLUTE.
This commit is contained in:
Ondřej Surý 2025-02-21 12:09:46 +01:00
parent 04c2c2cbc8
commit 1c22ab2ef7
No known key found for this signature in database
GPG key ID: 2820F37E873DEA41
13 changed files with 68 additions and 98 deletions

View file

@ -635,9 +635,7 @@ static bool
isdotlocal(dns_message_t *msg) {
isc_result_t result;
static unsigned char local_ndata[] = { "\005local" };
static unsigned char local_offsets[] = { 0, 6 };
static dns_name_t local = DNS_NAME_INITABSOLUTE(local_ndata,
local_offsets);
static dns_name_t local = DNS_NAME_INITABSOLUTE(local_ndata);
for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION);
result == ISC_R_SUCCESS;

View file

@ -151,24 +151,24 @@ extern const dns_name_t *dns_wildcardname;
*
* Typical usage:
* unsigned char data[] = "\005value";
* dns_name_t value = DNS_NAME_INITNONABSOLUTE(data, 1);
* dns_name_t value = DNS_NAME_INITNONABSOLUTE(data);
*
* unsigned char data[] = "\005value";
* dns_name_t value = DNS_NAME_INITABSOLUTE(data, 1);
* dns_name_t value = DNS_NAME_INITABSOLUTE(data);
*/
#define DNS_NAME_INITNONABSOLUTE(__ndata, __labels) \
{ \
.magic = 0 ? sizeof(__labels) : DNS_NAME_MAGIC, \
.ndata = (__ndata), \
.length = (sizeof(__ndata) - 1), \
.attributes = { .readonly = true }, \
.link = ISC_LINK_INITIALIZER, \
.list = ISC_LIST_INITIALIZER, \
#define DNS_NAME_INITNONABSOLUTE(__ndata) \
{ \
.magic = DNS_NAME_MAGIC, \
.ndata = (__ndata), \
.length = (sizeof(__ndata) - 1), \
.attributes = { .readonly = true }, \
.link = ISC_LINK_INITIALIZER, \
.list = ISC_LIST_INITIALIZER, \
}
#define DNS_NAME_INITABSOLUTE(__ndata, __labels) \
#define DNS_NAME_INITABSOLUTE(__ndata) \
{ \
.magic = 0 ? sizeof(__labels) : DNS_NAME_MAGIC, \
.magic = DNS_NAME_MAGIC, \
.ndata = (__ndata), \
.length = sizeof(__ndata), \
.attributes = { .readonly = true, .absolute = true }, \

View file

@ -324,14 +324,13 @@ loadctx_destroy(dns_loadctx_t *lctx);
source, line, isc_result_totext(result))
static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA";
static dns_name_t const in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data,
NULL);
static dns_name_t const in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data);
static unsigned char ip6_int_data[] = "\003IP6\003INT";
static dns_name_t const ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data, NULL);
static dns_name_t const ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data);
static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA";
static dns_name_t const ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, NULL);
static dns_name_t const ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
static bool
dns_master_isprimary(dns_loadctx_t *lctx) {

View file

@ -74,12 +74,12 @@ typedef enum {
* the const attribute of a string.
*/
static unsigned char root_ndata[] = { "" };
static dns_name_t root = DNS_NAME_INITABSOLUTE(root_ndata, NULL);
static dns_name_t root = DNS_NAME_INITABSOLUTE(root_ndata);
const dns_name_t *dns_rootname = &root;
static unsigned char wild_ndata[] = { "\001*" };
static dns_name_t const wild = DNS_NAME_INITNONABSOLUTE(wild_ndata, NULL);
static dns_name_t const wild = DNS_NAME_INITNONABSOLUTE(wild_ndata);
const dns_name_t *dns_wildcardname = &wild;
/*
@ -1952,11 +1952,11 @@ static unsigned char dr_dns_sd_udp_data[] = "\002dr\007_dns-sd\004_udp";
static unsigned char lb_dns_sd_udp_data[] = "\002lb\007_dns-sd\004_udp";
static dns_name_t const dns_sd[] = {
DNS_NAME_INITNONABSOLUTE(b_dns_sd_udp_data, NULL),
DNS_NAME_INITNONABSOLUTE(db_dns_sd_udp_data, NULL),
DNS_NAME_INITNONABSOLUTE(r_dns_sd_udp_data, NULL),
DNS_NAME_INITNONABSOLUTE(dr_dns_sd_udp_data, NULL),
DNS_NAME_INITNONABSOLUTE(lb_dns_sd_udp_data, NULL)
DNS_NAME_INITNONABSOLUTE(b_dns_sd_udp_data),
DNS_NAME_INITNONABSOLUTE(db_dns_sd_udp_data),
DNS_NAME_INITNONABSOLUTE(r_dns_sd_udp_data),
DNS_NAME_INITNONABSOLUTE(dr_dns_sd_udp_data),
DNS_NAME_INITNONABSOLUTE(lb_dns_sd_udp_data)
};
bool
@ -1999,24 +1999,15 @@ static unsigned char inaddr31172[] = "\00231\003172\007IN-ADDR\004ARPA";
static unsigned char inaddr168192[] = "\003168\003192\007IN-ADDR\004ARPA";
static dns_name_t const rfc1918names[] = {
DNS_NAME_INITABSOLUTE(inaddr10, NULL),
DNS_NAME_INITABSOLUTE(inaddr16172, NULL),
DNS_NAME_INITABSOLUTE(inaddr17172, NULL),
DNS_NAME_INITABSOLUTE(inaddr18172, NULL),
DNS_NAME_INITABSOLUTE(inaddr19172, NULL),
DNS_NAME_INITABSOLUTE(inaddr20172, NULL),
DNS_NAME_INITABSOLUTE(inaddr21172, NULL),
DNS_NAME_INITABSOLUTE(inaddr22172, NULL),
DNS_NAME_INITABSOLUTE(inaddr23172, NULL),
DNS_NAME_INITABSOLUTE(inaddr24172, NULL),
DNS_NAME_INITABSOLUTE(inaddr25172, NULL),
DNS_NAME_INITABSOLUTE(inaddr26172, NULL),
DNS_NAME_INITABSOLUTE(inaddr27172, NULL),
DNS_NAME_INITABSOLUTE(inaddr28172, NULL),
DNS_NAME_INITABSOLUTE(inaddr29172, NULL),
DNS_NAME_INITABSOLUTE(inaddr30172, NULL),
DNS_NAME_INITABSOLUTE(inaddr31172, NULL),
DNS_NAME_INITABSOLUTE(inaddr168192, NULL)
DNS_NAME_INITABSOLUTE(inaddr10), DNS_NAME_INITABSOLUTE(inaddr16172),
DNS_NAME_INITABSOLUTE(inaddr17172), DNS_NAME_INITABSOLUTE(inaddr18172),
DNS_NAME_INITABSOLUTE(inaddr19172), DNS_NAME_INITABSOLUTE(inaddr20172),
DNS_NAME_INITABSOLUTE(inaddr21172), DNS_NAME_INITABSOLUTE(inaddr22172),
DNS_NAME_INITABSOLUTE(inaddr23172), DNS_NAME_INITABSOLUTE(inaddr24172),
DNS_NAME_INITABSOLUTE(inaddr25172), DNS_NAME_INITABSOLUTE(inaddr26172),
DNS_NAME_INITABSOLUTE(inaddr27172), DNS_NAME_INITABSOLUTE(inaddr28172),
DNS_NAME_INITABSOLUTE(inaddr29172), DNS_NAME_INITABSOLUTE(inaddr30172),
DNS_NAME_INITABSOLUTE(inaddr31172), DNS_NAME_INITABSOLUTE(inaddr168192)
};
bool
@ -2031,14 +2022,11 @@ dns_name_isrfc1918(const dns_name_t *name) {
return false;
}
static unsigned char
__attribute((__unused__)) ulaoffsets[] = { 0, 2, 4, 8, 13 };
static unsigned char ip6fc[] = "\001c\001f\003ip6\004ARPA";
static unsigned char ip6fd[] = "\001d\001f\003ip6\004ARPA";
static dns_name_t const ulanames[] = { DNS_NAME_INITABSOLUTE(ip6fc, ulaoffsets),
DNS_NAME_INITABSOLUTE(ip6fd,
ulaoffsets) };
static dns_name_t const ulanames[] = { DNS_NAME_INITABSOLUTE(ip6fc),
DNS_NAME_INITABSOLUTE(ip6fd) };
bool
dns_name_isula(const dns_name_t *name) {

View file

@ -344,8 +344,7 @@ generic_rdata_in_svcb_current(dns_rdata_in_svcb_t *, isc_region_t *);
*/
static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs";
static dns_name_t const gc_msdcs = DNS_NAME_INITNONABSOLUTE(gc_msdcs_data,
NULL);
static dns_name_t const gc_msdcs = DNS_NAME_INITNONABSOLUTE(gc_msdcs_data);
/*%
* convert presentation level address to network order binary form.

View file

@ -261,7 +261,7 @@ freestruct_mx(ARGS_FREESTRUCT) {
}
static unsigned char port25_ndata[] = "\003_25\004_tcp";
static dns_name_t port25 = DNS_NAME_INITNONABSOLUTE(port25_ndata, NULL);
static dns_name_t port25 = DNS_NAME_INITNONABSOLUTE(port25_ndata);
static isc_result_t
additionaldata_mx(ARGS_ADDLDATA) {

View file

@ -225,14 +225,13 @@ checkowner_ptr(ARGS_CHECKOWNER) {
}
static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA";
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, NULL);
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
static unsigned char ip6_int_data[] = "\003IP6\003INT";
static const dns_name_t ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data, NULL);
static const dns_name_t ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data);
static unsigned char in_addr_arpa_data[] = "\007IN-ADDR\004ARPA";
static const dns_name_t in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data,
NULL);
static const dns_name_t in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data);
static bool
checknames_ptr(ARGS_CHECKNAMES) {

View file

@ -632,7 +632,7 @@ dns_resolver_setfuzzing(void) {
#endif /* ifdef ENABLE_AFL */
static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA";
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data, NULL);
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
static void
dns_resolver__destroy(dns_resolver_t *res);

View file

@ -89,12 +89,12 @@ static struct upcoming {
dns_rdatatype_t type;
isc_stdtime_t time;
} upcoming[] = { {
.name = DNS_NAME_INITABSOLUTE(b_data, NULL),
.name = DNS_NAME_INITABSOLUTE(b_data),
.type = dns_rdatatype_a,
.time = 1701086400 /* November 27 2023, 12:00 UTC */
},
{
.name = DNS_NAME_INITABSOLUTE(b_data, NULL),
.name = DNS_NAME_INITABSOLUTE(b_data),
.type = dns_rdatatype_aaaa,
.time = 1701086400 /* November 27 2023, 12:00 UTC */
} };

View file

@ -51,35 +51,31 @@
static unsigned char hmacmd5_ndata[] = "\010hmac-md5\007sig-alg\003reg\003int";
static dns_name_t const hmacmd5 = DNS_NAME_INITABSOLUTE(hmacmd5_ndata, NULL);
static dns_name_t const hmacmd5 = DNS_NAME_INITABSOLUTE(hmacmd5_ndata);
const dns_name_t *dns_tsig_hmacmd5_name = &hmacmd5;
static unsigned char gsstsig_ndata[] = "\010gss-tsig";
static dns_name_t const gsstsig = DNS_NAME_INITABSOLUTE(gsstsig_ndata, NULL);
static dns_name_t const gsstsig = DNS_NAME_INITABSOLUTE(gsstsig_ndata);
const dns_name_t *dns_tsig_gssapi_name = &gsstsig;
static unsigned char hmacsha1_ndata[] = "\011hmac-sha1";
static dns_name_t const hmacsha1 = DNS_NAME_INITABSOLUTE(hmacsha1_ndata, NULL);
static dns_name_t const hmacsha1 = DNS_NAME_INITABSOLUTE(hmacsha1_ndata);
const dns_name_t *dns_tsig_hmacsha1_name = &hmacsha1;
static unsigned char hmacsha224_ndata[] = "\013hmac-sha224";
static dns_name_t const hmacsha224 = DNS_NAME_INITABSOLUTE(hmacsha224_ndata,
NULL);
static dns_name_t const hmacsha224 = DNS_NAME_INITABSOLUTE(hmacsha224_ndata);
const dns_name_t *dns_tsig_hmacsha224_name = &hmacsha224;
static unsigned char hmacsha256_ndata[] = "\013hmac-sha256";
static dns_name_t const hmacsha256 = DNS_NAME_INITABSOLUTE(hmacsha256_ndata,
NULL);
static dns_name_t const hmacsha256 = DNS_NAME_INITABSOLUTE(hmacsha256_ndata);
const dns_name_t *dns_tsig_hmacsha256_name = &hmacsha256;
static unsigned char hmacsha384_ndata[] = "\013hmac-sha384";
static dns_name_t const hmacsha384 = DNS_NAME_INITABSOLUTE(hmacsha384_ndata,
NULL);
static dns_name_t const hmacsha384 = DNS_NAME_INITABSOLUTE(hmacsha384_ndata);
const dns_name_t *dns_tsig_hmacsha384_name = &hmacsha384;
static unsigned char hmacsha512_ndata[] = "\013hmac-sha512";
static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata,
NULL);
static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata);
const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512;
static const struct {

View file

@ -4859,7 +4859,7 @@ process_zone_setnsec3param(dns_zone_t *zone) {
}
static unsigned char er_ndata[] = "\001*\003_er";
static dns_name_t er = DNS_NAME_INITNONABSOLUTE(er_ndata, NULL);
static dns_name_t er = DNS_NAME_INITNONABSOLUTE(er_ndata);
static isc_result_t
check_reportchannel(dns_zone_t *zone, dns_db_t *db) {

View file

@ -4424,33 +4424,24 @@ static unsigned char inaddr31172[] = "\00231\003172\007IN-ADDR\004ARPA";
static unsigned char inaddr168192[] = "\003168\003192\007IN-ADDR\004ARPA";
static dns_name_t rfc1918names[] = { DNS_NAME_INITABSOLUTE(inaddr10, NULL),
DNS_NAME_INITABSOLUTE(inaddr16172, NULL),
DNS_NAME_INITABSOLUTE(inaddr17172, NULL),
DNS_NAME_INITABSOLUTE(inaddr18172, NULL),
DNS_NAME_INITABSOLUTE(inaddr19172, NULL),
DNS_NAME_INITABSOLUTE(inaddr20172, NULL),
DNS_NAME_INITABSOLUTE(inaddr21172, NULL),
DNS_NAME_INITABSOLUTE(inaddr22172, NULL),
DNS_NAME_INITABSOLUTE(inaddr23172, NULL),
DNS_NAME_INITABSOLUTE(inaddr24172, NULL),
DNS_NAME_INITABSOLUTE(inaddr25172, NULL),
DNS_NAME_INITABSOLUTE(inaddr26172, NULL),
DNS_NAME_INITABSOLUTE(inaddr27172, NULL),
DNS_NAME_INITABSOLUTE(inaddr28172, NULL),
DNS_NAME_INITABSOLUTE(inaddr29172, NULL),
DNS_NAME_INITABSOLUTE(inaddr30172, NULL),
DNS_NAME_INITABSOLUTE(inaddr31172, NULL),
DNS_NAME_INITABSOLUTE(inaddr168192,
NULL) };
static dns_name_t rfc1918names[] = {
DNS_NAME_INITABSOLUTE(inaddr10), DNS_NAME_INITABSOLUTE(inaddr16172),
DNS_NAME_INITABSOLUTE(inaddr17172), DNS_NAME_INITABSOLUTE(inaddr18172),
DNS_NAME_INITABSOLUTE(inaddr19172), DNS_NAME_INITABSOLUTE(inaddr20172),
DNS_NAME_INITABSOLUTE(inaddr21172), DNS_NAME_INITABSOLUTE(inaddr22172),
DNS_NAME_INITABSOLUTE(inaddr23172), DNS_NAME_INITABSOLUTE(inaddr24172),
DNS_NAME_INITABSOLUTE(inaddr25172), DNS_NAME_INITABSOLUTE(inaddr26172),
DNS_NAME_INITABSOLUTE(inaddr27172), DNS_NAME_INITABSOLUTE(inaddr28172),
DNS_NAME_INITABSOLUTE(inaddr29172), DNS_NAME_INITABSOLUTE(inaddr30172),
DNS_NAME_INITABSOLUTE(inaddr31172), DNS_NAME_INITABSOLUTE(inaddr168192)
};
static unsigned char prisoner_data[] = "\010prisoner\004iana\003org";
static unsigned char hostmaster_data[] = "\012hostmaster\014root-"
"servers\003org";
static dns_name_t const prisoner = DNS_NAME_INITABSOLUTE(prisoner_data, NULL);
static dns_name_t const hostmaster = DNS_NAME_INITABSOLUTE(hostmaster_data,
NULL);
static dns_name_t const prisoner = DNS_NAME_INITABSOLUTE(prisoner_data);
static dns_name_t const hostmaster = DNS_NAME_INITABSOLUTE(hostmaster_data);
static void
warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) {

View file

@ -32,19 +32,19 @@
#include <tests/dns.h>
unsigned char data_1[] = "\006name_1";
dns_name_t name_1 = DNS_NAME_INITABSOLUTE(data_1, NULL);
dns_name_t name_1 = DNS_NAME_INITABSOLUTE(data_1);
unsigned char data_2[] = "\006name_2";
dns_name_t name_2 = DNS_NAME_INITABSOLUTE(data_2, NULL);
dns_name_t name_2 = DNS_NAME_INITABSOLUTE(data_2);
unsigned char data_3[] = "\006name_3";
dns_name_t name_3 = DNS_NAME_INITABSOLUTE(data_3, NULL);
dns_name_t name_3 = DNS_NAME_INITABSOLUTE(data_3);
unsigned char data_dup[] = "\006name_1";
dns_name_t name_dup = DNS_NAME_INITABSOLUTE(data_dup, NULL);
dns_name_t name_dup = DNS_NAME_INITABSOLUTE(data_dup);
unsigned char data_nodup[] = "\006name_1";
dns_name_t name_nodup = DNS_NAME_INITABSOLUTE(data_nodup, NULL);
dns_name_t name_nodup = DNS_NAME_INITABSOLUTE(data_nodup);
static size_t
count_elements(const dns_diff_t *diff) {