]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Simplify name initializers
authorOndřej Surý <ondrej@isc.org>
Fri, 21 Feb 2025 11:09:46 +0000 (12:09 +0100)
committerOndřej Surý <ondrej@isc.org>
Tue, 25 Feb 2025 11:17:34 +0000 (12:17 +0100)
We no longer need to pass labels to DNS_NAME_INITABSOLUTE
and DNS_NAME_INITNONABSOLUTE.

13 files changed:
bin/dig/dig.c
lib/dns/include/dns/name.h
lib/dns/master.c
lib/dns/name.c
lib/dns/rdata.c
lib/dns/rdata/generic/mx_15.c
lib/dns/rdata/generic/ptr_12.c
lib/dns/resolver.c
lib/dns/rootns.c
lib/dns/tsig.c
lib/dns/zone.c
lib/ns/query.c
tests/dns/diff_test.c

index 065643417f941986deeb0bdf851f8e65601c4749..b7a1a24cd6ea367edbe5d7ef295562c60830d0df 100644 (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;
index d5f0a80e06a0f32f1d63baedd19b21fd27bc8a97..ff4d3c4e088ebcfc987026cab4755c0789a77bfb 100644 (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 }, \
index 5b12fe655273da354c5142d266b92de5ceee5a09..08b3a49046d5d8032ac16cf465ab74369c6e3903 100644 (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) {
index 43a2f9a605c2ff4c36f3a34a92e5e8935bc0eff8..2e584b29d4a5032deb1412279e6398212269d224 100644 (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) {
index 558ea00b03489d09362a240477e8e5ad6f2257ee..748ae8ca0d0d7658e4abd52076e9ef7ad0bfe3c5 100644 (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.
index 6e4b37cca6d2453d6c9f243fa1a4134adf91d93c..50464d71b65db3f859eb033385c663e8286fef1f 100644 (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) {
index 72af20fdaaafe83b6bd20b942ecc25eeedb9b8ac..b24178c9677185165c73b152bb7b57d5fa87f9d1 100644 (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) {
index 6a25c4b2107e5373438f6fac3d5291476c081708..7712f790b74668981ab42e68279cffaa0ccc78d6 100644 (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);
index 17442a103914e39ceabc7cde6f73188647c01252..84c47fa0fb361a09573224beeb5120e948821977 100644 (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 */
                 } };
index 56591587a170cf85e4b5f988733755fe9787d8c9..f365ae93ee980d20df4e4c437ba6b696ac16a3b1 100644 (file)
 
 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 {
index 99db1a18a75ca62ffe4c6487f3812125cc7a0937..119de7ed681d5354d93d263eb33f732385b70c4c 100644 (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) {
index 60f11d4362646d227fc2cea6cd556577047c5019..b9d33f11425591af6332604a9c93ffa8c86863fe 100644 (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) {
index d7c4b24d06d2905ed453b76361efbcbc26f897bf..59d32f74a2cb3be8ab4f00759d81fdc05f761884 100644 (file)
 #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) {