]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
authorMark Andrews <marka@isc.org>
Mon, 13 Nov 2017 05:58:12 +0000 (16:58 +1100)
committerMark Andrews <marka@isc.org>
Mon, 13 Nov 2017 05:58:12 +0000 (16:58 +1100)
                        [RT #45433]

CHANGES
lib/bind9/check.c
lib/dns/include/dns/name.h
lib/dns/master.c
lib/dns/name.c
lib/dns/rdata.c
lib/dns/tsig.c
lib/ns/query.c

diff --git a/CHANGES b/CHANGES
index f559a9af01a1cad0d424f2a0a23f81c119ba85a0..2a82089069f795bbd4ea0c4276b232f42bbfc3a6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+4817.  [cleanup]       Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
+                       [RT #45433]
+
 4816.  [bug]           Don't use a common array for storing EDNS options
                        in DiG as it could fill up. [RT #45611]
 
index 214392cd9d3d1d3d47834d05a437ea33ce527650..0645cc44cce42e79c6ce8a68a206e0e5c158fd1a 100644 (file)
@@ -51,7 +51,7 @@
 
 static unsigned char dlviscorg_ndata[] = "\003dlv\003isc\003org";
 static unsigned char dlviscorg_offsets[] = { 0, 4, 8, 12 };
-static const dns_name_t dlviscorg =
+static dns_name_t const dlviscorg =
        DNS_NAME_INITABSOLUTE(dlviscorg_ndata, dlviscorg_offsets);
 
 static isc_result_t
index 0010a5175a041073fa54fbb1e0d29830de0f54f9..425e5bb7832bde590d132bf0c0e8803c91ef6c9f 100644 (file)
@@ -143,6 +143,26 @@ struct dns_name {
 LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_rootname;
 LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_wildcardname;
 
+/*%<
+ * DNS_NAME_INITNONABSOLUTE and DNS_NAME_INITABSOLUTE are macros for
+ * initializing dns_name_t structures.
+ *
+ * Note[1]: 'length' is set to (sizeof(A) - 1) in DNS_NAME_INITNONABSOLUTE
+ * and sizeof(A) in DNS_NAME_INITABSOLUTE to allow C strings to be used
+ * to initialize 'ndata'.
+ *
+ * Note[2]: The final value of offsets for DNS_NAME_INITABSOLUTE should
+ * match (sizeof(A) - 1) which is the offset of the root label.
+ *
+ * Typical usage:
+ *     unsigned char data[] = "\005value";
+ *     unsigned char offsets[] = { 0 };
+ *     dns_name_t value = DNS_NAME_INITNONABSOLUTE(data, offsets);
+ *
+ *     unsigned char data[] = "\005value";
+ *     unsigned char offsets[] = { 0, 6 };
+ *     dns_name_t value = DNS_NAME_INITABSOLUTE(data, offsets);
+ */
 #define DNS_NAME_INITNONABSOLUTE(A,B) { \
        DNS_NAME_MAGIC, \
        A, (sizeof(A) - 1), sizeof(B), \
index c7d5d2ca21e3056501ca73df4076eb015f788222..1f5b3698aa920bd4e724add98f54d4b7a5fa6350 100644 (file)
@@ -322,39 +322,18 @@ loadctx_destroy(dns_loadctx_t *lctx);
 
 static unsigned char in_addr_arpa_data[]  = "\007IN-ADDR\004ARPA";
 static unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 };
-static const dns_name_t in_addr_arpa =
-{
-       DNS_NAME_MAGIC,
-       in_addr_arpa_data, 14, 3,
-       DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
-       in_addr_arpa_offsets, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
+static dns_name_t const in_addr_arpa =
+       DNS_NAME_INITABSOLUTE(in_addr_arpa_data, in_addr_arpa_offsets);
 
 static unsigned char ip6_int_data[]  = "\003IP6\003INT";
 static unsigned char ip6_int_offsets[] = { 0, 4, 8 };
-static const dns_name_t ip6_int =
-{
-       DNS_NAME_MAGIC,
-       ip6_int_data, 9, 3,
-       DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
-       ip6_int_offsets, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
+static dns_name_t const ip6_int =
+       DNS_NAME_INITABSOLUTE(ip6_int_data, ip6_int_offsets);
 
 static unsigned char ip6_arpa_data[]  = "\003IP6\004ARPA";
 static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 };
-static const dns_name_t ip6_arpa =
-{
-       DNS_NAME_MAGIC,
-       ip6_arpa_data, 10, 3,
-       DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
-       ip6_arpa_offsets, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
+static dns_name_t const ip6_arpa =
+       DNS_NAME_INITABSOLUTE(ip6_arpa_data, ip6_arpa_offsets);
 
 static inline isc_result_t
 gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *token,
index 95abca5cc5caf561274ab576057d8f55e36961ae..1dab524c7eea23b8a040c6032a55f84027028f42 100644 (file)
@@ -144,34 +144,17 @@ do { \
  * literal, to avoid compiler warnings about discarding
  * the const attribute of a string.
  */
-static unsigned char root_ndata[] = { '\0' };
+static unsigned char root_ndata[] = { "" };
 static unsigned char root_offsets[] = { 0 };
 
-static dns_name_t root =
-{
-       DNS_NAME_MAGIC,
-       root_ndata, 1, 1,
-       DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
-       root_offsets, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
-
-/* XXXDCL make const? */
+static dns_name_t root = DNS_NAME_INITABSOLUTE(root_ndata, root_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_rootname = &root;
 
-static unsigned char wild_ndata[] = { '\001', '*' };
+static unsigned char wild_ndata[] = { "\001*" };
 static unsigned char wild_offsets[] = { 0 };
 
-static dns_name_t wild =
-{
-       DNS_NAME_MAGIC,
-       wild_ndata, 2, 1,
-       DNS_NAMEATTR_READONLY,
-       wild_offsets, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
+static dns_name_t const wild =
+       DNS_NAME_INITNONABSOLUTE(wild_ndata, wild_offsets);
 
 /* XXXDCL make const? */
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_wildcardname = &wild;
@@ -2613,47 +2596,12 @@ static unsigned char dr_dns_sd_udp_offsets[] = { 0, 3, 11 };
 static unsigned char lb_dns_sd_udp_data[]  = "\002lb\007_dns-sd\004_udp";
 static unsigned char lb_dns_sd_udp_offsets[] = { 0, 3, 11 };
 
-static const dns_name_t dns_sd[] = {
-       {
-               DNS_NAME_MAGIC,
-               b_dns_sd_udp_data, 15, 3,
-               DNS_NAMEATTR_READONLY,
-               b_dns_sd_udp_offsets, NULL,
-               {(void *)-1, (void *)-1},
-               {NULL, NULL}
-       },
-       {
-               DNS_NAME_MAGIC,
-               db_dns_sd_udp_data, 16, 3,
-               DNS_NAMEATTR_READONLY,
-               db_dns_sd_udp_offsets, NULL,
-               {(void *)-1, (void *)-1},
-               {NULL, NULL}
-       },
-       {
-               DNS_NAME_MAGIC,
-               r_dns_sd_udp_data, 15, 3,
-               DNS_NAMEATTR_READONLY,
-               r_dns_sd_udp_offsets, NULL,
-               {(void *)-1, (void *)-1},
-               {NULL, NULL}
-       },
-       {
-               DNS_NAME_MAGIC,
-               dr_dns_sd_udp_data, 16, 3,
-               DNS_NAMEATTR_READONLY,
-               dr_dns_sd_udp_offsets, NULL,
-               {(void *)-1, (void *)-1},
-               {NULL, NULL}
-       },
-       {
-               DNS_NAME_MAGIC,
-               lb_dns_sd_udp_data, 16, 3,
-               DNS_NAMEATTR_READONLY,
-               lb_dns_sd_udp_offsets, NULL,
-               {(void *)-1, (void *)-1},
-               {NULL, NULL}
-       }
+static dns_name_t const dns_sd[] = {
+       DNS_NAME_INITNONABSOLUTE(b_dns_sd_udp_data,  b_dns_sd_udp_offsets),
+       DNS_NAME_INITNONABSOLUTE(db_dns_sd_udp_data, db_dns_sd_udp_offsets),
+       DNS_NAME_INITNONABSOLUTE(r_dns_sd_udp_data, r_dns_sd_udp_offsets),
+       DNS_NAME_INITNONABSOLUTE(dr_dns_sd_udp_data, dr_dns_sd_udp_offsets),
+       DNS_NAME_INITNONABSOLUTE(lb_dns_sd_udp_data, lb_dns_sd_udp_offsets)
 };
 
 isc_boolean_t
@@ -2672,15 +2620,6 @@ dns_name_isdnssd(const dns_name_t *name) {
        return (ISC_FALSE);
 }
 
-#define NS_NAME_INIT(A,B) \
-        { \
-               DNS_NAME_MAGIC, \
-               A, sizeof(A), sizeof(B), \
-               DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE, \
-               B, NULL, { (void *)-1, (void *)-1}, \
-               {NULL, NULL} \
-       }
-
 static unsigned char inaddr10_offsets[] = { 0, 3, 11, 16 };
 static unsigned char inaddr172_offsets[] = { 0, 3, 7, 15, 20 };
 static unsigned char inaddr192_offsets[] = { 0, 4, 8, 16, 21 };
@@ -2707,24 +2646,24 @@ static unsigned char inaddr31172[] = "\00231\003172\007IN-ADDR\004ARPA";
 static unsigned char inaddr168192[] = "\003168\003192\007IN-ADDR\004ARPA";
 
 static dns_name_t const rfc1918names[] = {
-       NS_NAME_INIT(inaddr10, inaddr10_offsets),
-       NS_NAME_INIT(inaddr16172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr17172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr18172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr19172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr20172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr21172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr22172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr23172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr24172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr25172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr26172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr27172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr28172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr29172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr30172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr31172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr168192, inaddr192_offsets)
+       DNS_NAME_INITABSOLUTE(inaddr10, inaddr10_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr16172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr17172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr18172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr19172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr20172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr21172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr22172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr23172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr24172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr25172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr26172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr27172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr28172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr29172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr30172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr31172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr168192, inaddr192_offsets)
 };
 
 isc_boolean_t
@@ -2742,8 +2681,8 @@ static unsigned char ip6fc[] = "\001c\001f\003ip6\004ARPA";
 static unsigned char ip6fd[] = "\001d\001f\003ip6\004ARPA";
 
 static dns_name_t const ulanames[] = {
-       NS_NAME_INIT(ip6fc, ulaoffsets),
-       NS_NAME_INIT(ip6fd, ulaoffsets),
+       DNS_NAME_INITABSOLUTE(ip6fc, ulaoffsets),
+       DNS_NAME_INITABSOLUTE(ip6fd, ulaoffsets)
 };
 
 isc_boolean_t
index cecfd7dd38d1f76211065847a027337782cff2af..04e02a63a6ba3a010ab41b4e2a8b006897dad0a2 100644 (file)
@@ -313,14 +313,8 @@ generic_freestruct_tlsa(ARGS_FREESTRUCT);
 static unsigned char gc_msdcs_data[]  = "\002gc\006_msdcs";
 static unsigned char gc_msdcs_offset [] = { 0, 3 };
 
-static const dns_name_t gc_msdcs = {
-       DNS_NAME_MAGIC,
-       gc_msdcs_data, 10, 2,
-       DNS_NAMEATTR_READONLY,
-       gc_msdcs_offset, NULL,
-       {(void *)-1, (void *)-1},
-       {NULL, NULL}
-};
+static dns_name_t const gc_msdcs =
+       DNS_NAME_INITNONABSOLUTE(gc_msdcs_data, gc_msdcs_offset);
 
 /*%
  *     convert presentation level address to network order binary form.
index 9b328d5146b6b218948cf741563dc24d46c93fd4..9568ec736c36776db7583ce0e8beca40033c7587 100644 (file)
 static unsigned char hmacmd5_ndata[] = "\010hmac-md5\007sig-alg\003reg\003int";
 static unsigned char hmacmd5_offsets[] = { 0, 9, 17, 21, 25 };
 
-static dns_name_t hmacmd5 =
+static dns_name_t const hmacmd5 =
        DNS_NAME_INITABSOLUTE(hmacmd5_ndata, hmacmd5_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacmd5_name = &hmacmd5;
 #endif
 
 static unsigned char gsstsig_ndata[] = "\010gss-tsig";
 static unsigned char gsstsig_offsets[] = { 0, 9 };
-static dns_name_t gsstsig =
+static dns_name_t const gsstsig =
        DNS_NAME_INITABSOLUTE(gsstsig_ndata, gsstsig_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapi_name = &gsstsig;
 
@@ -69,41 +69,41 @@ LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapi_name = &gsstsig;
  */
 static unsigned char gsstsigms_ndata[] = "\003gss\011microsoft\003com";
 static unsigned char gsstsigms_offsets[] = { 0, 4, 14, 18 };
-static dns_name_t gsstsigms =
+static dns_name_t const gsstsigms =
        DNS_NAME_INITABSOLUTE(gsstsigms_ndata, gsstsigms_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapims_name = &gsstsigms;
 
 static unsigned char hmacsha1_ndata[] = "\011hmac-sha1";
 static unsigned char hmacsha1_offsets[] = { 0, 10 };
-static dns_name_t  hmacsha1 =
+static dns_name_t const  hmacsha1 =
        DNS_NAME_INITABSOLUTE(hmacsha1_ndata, hmacsha1_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha1_name = &hmacsha1;
 
 static unsigned char hmacsha224_ndata[] = "\013hmac-sha224";
 static unsigned char hmacsha224_offsets[] = { 0, 12 };
-static dns_name_t hmacsha224 =
+static dns_name_t const hmacsha224 =
        DNS_NAME_INITABSOLUTE(hmacsha224_ndata, hmacsha224_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha224_name = &hmacsha224;
 
 static unsigned char hmacsha256_ndata[] = "\013hmac-sha256";
 static unsigned char hmacsha256_offsets[] = { 0, 12 };
-static dns_name_t hmacsha256 =
+static dns_name_t const hmacsha256 =
        DNS_NAME_INITABSOLUTE(hmacsha256_ndata, hmacsha256_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha256_name = &hmacsha256;
 
 static unsigned char hmacsha384_ndata[] = "\013hmac-sha384";
 static unsigned char hmacsha384_offsets[] = { 0, 12 };
-static dns_name_t hmacsha384 =
+static dns_name_t const hmacsha384 =
        DNS_NAME_INITABSOLUTE(hmacsha384_ndata, hmacsha384_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha384_name = &hmacsha384;
 
 static unsigned char hmacsha512_ndata[] = "\013hmac-sha512";
 static unsigned char hmacsha512_offsets[] = { 0, 12 };
-static dns_name_t hmacsha512 =
+static dns_name_t const hmacsha512 =
        DNS_NAME_INITABSOLUTE(hmacsha512_ndata, hmacsha512_offsets);
 LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512;
 
-static struct {
+static const struct {
        const dns_name_t *name;
        unsigned int dstalg;
 } known_algs[] = {
index fea369225436e661dd432a1c69c431ae8cdd9399..6f8df29dceac73a3c02cacc25ee35d791b037aff 100644 (file)
@@ -4343,15 +4343,6 @@ rdata_tonetaddr(const dns_rdata_t *rdata, isc_netaddr_t *netaddr) {
        }
 }
 
-#define NS_NAME_INIT(A,B) \
-        { \
-               DNS_NAME_MAGIC, \
-               A, sizeof(A), sizeof(B), \
-               DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE, \
-               B, NULL, { (void *)-1, (void *)-1}, \
-               {NULL, NULL} \
-       }
-
 static unsigned char inaddr10_offsets[] = { 0, 3, 11, 16 };
 static unsigned char inaddr172_offsets[] = { 0, 3, 7, 15, 20 };
 static unsigned char inaddr192_offsets[] = { 0, 4, 8, 16, 21 };
@@ -4378,24 +4369,24 @@ static unsigned char inaddr31172[] = "\00231\003172\007IN-ADDR\004ARPA";
 static unsigned char inaddr168192[] = "\003168\003192\007IN-ADDR\004ARPA";
 
 static dns_name_t rfc1918names[] = {
-       NS_NAME_INIT(inaddr10, inaddr10_offsets),
-       NS_NAME_INIT(inaddr16172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr17172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr18172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr19172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr20172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr21172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr22172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr23172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr24172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr25172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr26172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr27172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr28172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr29172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr30172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr31172, inaddr172_offsets),
-       NS_NAME_INIT(inaddr168192, inaddr192_offsets)
+       DNS_NAME_INITABSOLUTE(inaddr10, inaddr10_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr16172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr17172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr18172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr19172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr20172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr21172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr22172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr23172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr24172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr25172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr26172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr27172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr28172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr29172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr30172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr31172, inaddr172_offsets),
+       DNS_NAME_INITABSOLUTE(inaddr168192, inaddr192_offsets)
 };
 
 
@@ -4405,8 +4396,10 @@ static unsigned char hostmaster_data[] = "\012hostmaster\014root-servers\003org"
 static unsigned char prisoner_offsets[] = { 0, 9, 14, 18 };
 static unsigned char hostmaster_offsets[] = { 0, 11, 24, 28 };
 
-static dns_name_t prisoner = NS_NAME_INIT(prisoner_data, prisoner_offsets);
-static dns_name_t hostmaster = NS_NAME_INIT(hostmaster_data, hostmaster_offsets);
+static dns_name_t const prisoner =
+       DNS_NAME_INITABSOLUTE(prisoner_data, prisoner_offsets);
+static dns_name_t const hostmaster =
+       DNS_NAME_INITABSOLUTE(hostmaster_data, hostmaster_offsets);
 
 static void
 warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) {