diff --git a/bin/dnssec/dnssec-dsfromkey.c b/bin/dnssec/dnssec-dsfromkey.c index ffd5a411b9..f8f221ff5a 100644 --- a/bin/dnssec/dnssec-dsfromkey.c +++ b/bin/dnssec/dnssec-dsfromkey.c @@ -274,7 +274,7 @@ emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata) { fatal("can't build record"); } - result = dns_name_totext(name, false, &nameb); + result = dns_name_totext(name, 0, &nameb); if (result != ISC_R_SUCCESS) { fatal("can't print name"); } diff --git a/bin/named/server.c b/bin/named/server.c index 324bc9587e..d8fb3fb36a 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -2672,7 +2672,7 @@ catz_addmodzone_cb(void *arg) { name = dns_catz_entry_getname(cz->entry); isc_buffer_init(&namebuf, nameb, DNS_NAME_FORMATSIZE); - dns_name_totext(name, true, &namebuf); + dns_name_totext(name, DNS_NAME_OMITFINALDOT, &namebuf); isc_buffer_putuint8(&namebuf, 0); result = dns_fwdtable_find(cz->view->fwdtable, name, &dnsforwarders); @@ -5652,7 +5652,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, CHECK(dns_name_fromstring(name, cfg_obj_asstring(obj), dns_rootname, 0, NULL)); isc_buffer_init(&buffer, server, sizeof(server) - 1); - CHECK(dns_name_totext(name, false, &buffer)); + CHECK(dns_name_totext(name, 0, &buffer)); server[isc_buffer_usedlength(&buffer)] = 0; empty_dbtype[2] = server; } else { @@ -5665,7 +5665,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, CHECK(dns_name_fromstring(name, cfg_obj_asstring(obj), dns_rootname, 0, NULL)); isc_buffer_init(&buffer, contact, sizeof(contact) - 1); - CHECK(dns_name_totext(name, false, &buffer)); + CHECK(dns_name_totext(name, 0, &buffer)); contact[isc_buffer_usedlength(&buffer)] = 0; empty_dbtype[3] = contact; } else { diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c index 6f2e262ce3..05d60a2f47 100644 --- a/bin/nsupdate/nsupdate.c +++ b/bin/nsupdate/nsupdate.c @@ -2827,7 +2827,7 @@ lookforsoa: size_t size; isc_buffer_init(&buf, serverstr, sizeof(serverstr)); - result = dns_name_totext(&primary, true, &buf); + result = dns_name_totext(&primary, DNS_NAME_OMITFINALDOT, &buf); check_result(result, "dns_name_totext"); serverstr[isc_buffer_usedlength(&buf)] = 0; diff --git a/lib/dns/catz.c b/lib/dns/catz.c index d75f688433..26be1ec9e1 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -1868,13 +1868,13 @@ dns_catz_generate_masterfilename(dns_catz_zone_t *catz, dns_catz_entry_t *entry, isc_buffer_putstr(tbuf, catz->catzs->view->name); isc_buffer_putstr(tbuf, "_"); - result = dns_name_totext(&catz->name, true, tbuf); + result = dns_name_totext(&catz->name, DNS_NAME_OMITFINALDOT, tbuf); if (result != ISC_R_SUCCESS) { goto cleanup; } isc_buffer_putstr(tbuf, "_"); - result = dns_name_totext(&entry->name, true, tbuf); + result = dns_name_totext(&entry->name, DNS_NAME_OMITFINALDOT, tbuf); if (result != ISC_R_SUCCESS) { goto cleanup; } @@ -1967,7 +1967,7 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *catz, dns_catz_entry_t *entry, isc_buffer_allocate(catz->catzs->mctx, &buffer, ISC_BUFFER_INCR); isc_buffer_putstr(buffer, "zone \""); - dns_name_totext(&entry->name, true, buffer); + dns_name_totext(&entry->name, DNS_NAME_OMITFINALDOT, buffer); isc_buffer_putstr(buffer, "\" { type secondary; primaries"); isc_buffer_putstr(buffer, " { "); @@ -2004,7 +2004,7 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *catz, dns_catz_entry_t *entry, if (entry->opts.masters.keys[i] != NULL) { isc_buffer_putstr(buffer, " key "); result = dns_name_totext(entry->opts.masters.keys[i], - true, buffer); + DNS_NAME_OMITFINALDOT, buffer); if (result != ISC_R_SUCCESS) { goto cleanup; } @@ -2013,7 +2013,7 @@ dns_catz_generate_zonecfg(dns_catz_zone_t *catz, dns_catz_entry_t *entry, if (entry->opts.masters.tlss[i] != NULL) { isc_buffer_putstr(buffer, " tls "); result = dns_name_totext(entry->opts.masters.tlss[i], - true, buffer); + DNS_NAME_OMITFINALDOT, buffer); if (result != ISC_R_SUCCESS) { goto cleanup; } diff --git a/lib/dns/gssapictx.c b/lib/dns/gssapictx.c index 631acd1bfa..f1f98fd0bb 100644 --- a/lib/dns/gssapictx.c +++ b/lib/dns/gssapictx.c @@ -117,7 +117,8 @@ name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer, namep = &tname; } - result = dns_name_toprincipal(namep, buffer); + result = dns_name_totext( + namep, DNS_NAME_OMITFINALDOT | DNS_NAME_PRINCIPAL, buffer); RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_buffer_putuint8(buffer, 0); isc_buffer_usedregion(buffer, &r); @@ -383,7 +384,8 @@ dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer, * a string, and do string operations on them. */ isc_buffer_init(&buffer, sbuf, sizeof(sbuf)); - result = dns_name_toprincipal(signer, &buffer); + result = dns_name_totext( + signer, DNS_NAME_OMITFINALDOT | DNS_NAME_PRINCIPAL, &buffer); RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_buffer_putuint8(&buffer, 0); dns_name_format(realm, rbuf, sizeof(rbuf)); @@ -461,7 +463,8 @@ dst_gssapi_identitymatchesrealmms(const dns_name_t *signer, * a string, and do string operations on them. */ isc_buffer_init(&buffer, sbuf, sizeof(sbuf)); - result = dns_name_toprincipal(signer, &buffer); + result = dns_name_totext( + signer, DNS_NAME_OMITFINALDOT | DNS_NAME_PRINCIPAL, &buffer); RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_buffer_putuint8(&buffer, 0); dns_name_format(realm, rbuf, sizeof(rbuf)); diff --git a/lib/dns/include/dns/name.h b/lib/dns/include/dns/name.h index b04130699c..9e4216b561 100644 --- a/lib/dns/include/dns/name.h +++ b/lib/dns/include/dns/name.h @@ -797,30 +797,22 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source, */ #define DNS_NAME_OMITFINALDOT 0x01U -#define DNS_NAME_MASTERFILE 0x02U /* escape $ and @ */ +#define DNS_NAME_PRINCIPAL 0x02U /* do not escape $ and @ */ isc_result_t -dns_name_toprincipal(const dns_name_t *name, isc_buffer_t *target); - -isc_result_t -dns_name_totext(const dns_name_t *name, bool omit_final_dot, +dns_name_totext(const dns_name_t *name, unsigned int options, isc_buffer_t *target); - -isc_result_t -dns_name_totext2(const dns_name_t *name, unsigned int options, - isc_buffer_t *target); /*%< * Convert 'name' into text format, storing the result in 'target'. * * Notes: - *\li If 'omit_final_dot' is true, then the final '.' in absolute - * names other than the root name will be omitted. - * *\li If DNS_NAME_OMITFINALDOT is set in options, then the final '.' * in absolute names other than the root name will be omitted. * - *\li If DNS_NAME_MASTERFILE is set in options, '$' and '@' will also - * be escaped. + *\li If DNS_NAME_PRINCIPAL is set in options, '$' and '@' will *not* + * be escaped; otherwise they will, along with other characters that + * are special in zone files ('"', '(', ')', '.', ';', and '\'), + * which are always escaped. * *\li If dns_name_countlabels == 0, the name will be "@", representing the * current origin as described by RFC1035. @@ -831,9 +823,9 @@ dns_name_totext2(const dns_name_t *name, unsigned int options, * *\li 'name' is a valid name * - *\li 'target' is a valid buffer. + *\li 'target' is a valid buffer * - *\li if dns_name_isabsolute == FALSE, then omit_final_dot == FALSE + *\li if dns_name_isabsolute is false, then omit_final_dot is false * * Ensures: * diff --git a/lib/dns/masterdump.c b/lib/dns/masterdump.c index b80cd640eb..32b13b630f 100644 --- a/lib/dns/masterdump.c +++ b/lib/dns/masterdump.c @@ -503,7 +503,10 @@ ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot, CHECK(str_totext("; ", target)); } - CHECK(dns_name_totext(&name, omit_final_dot, target)); + CHECK(dns_name_totext( + &name, + omit_final_dot ? DNS_NAME_OMITFINALDOT : 0, + target)); CHECK(str_totext(" ", target)); CHECK(dns_rdatatype_totext(rds.type, target)); if (rds.type == dns_rdatatype_rrsig) { @@ -603,7 +606,10 @@ rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, !first)) { unsigned int name_start = target->used; - RETERR(dns_name_totext(name, omit_final_dot, target)); + RETERR(dns_name_totext( + name, + omit_final_dot ? DNS_NAME_OMITFINALDOT : 0, + target)); column += target->used - name_start; } @@ -800,7 +806,8 @@ question_totext(dns_rdataset_t *rdataset, const dns_name_t *owner_name, /* Owner name */ { unsigned int name_start = target->used; - RETERR(dns_name_totext(owner_name, omit_final_dot, target)); + unsigned int opts = omit_final_dot ? DNS_NAME_OMITFINALDOT : 0; + RETERR(dns_name_totext(owner_name, opts, target)); column += target->used - name_start; } @@ -1055,7 +1062,7 @@ dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t *name, if (itresult == ISC_R_SUCCESS && ctx->neworigin != NULL) { isc_buffer_clear(buffer); - itresult = dns_name_totext(ctx->neworigin, false, buffer); + itresult = dns_name_totext(ctx->neworigin, 0, buffer); RUNTIME_CHECK(itresult == ISC_R_SUCCESS); isc_buffer_usedregion(buffer, &r); fprintf(f, "$ORIGIN %.*s\n", (int)r.length, (char *)r.base); diff --git a/lib/dns/name.c b/lib/dns/name.c index 0333ac3e64..318b80b7dc 100644 --- a/lib/dns/name.c +++ b/lib/dns/name.c @@ -1098,24 +1098,8 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source, } isc_result_t -dns_name_totext(const dns_name_t *name, bool omit_final_dot, +dns_name_totext(const dns_name_t *name, unsigned int options, isc_buffer_t *target) { - unsigned int options = DNS_NAME_MASTERFILE; - - if (omit_final_dot) { - options |= DNS_NAME_OMITFINALDOT; - } - return (dns_name_totext2(name, options, target)); -} - -isc_result_t -dns_name_toprincipal(const dns_name_t *name, isc_buffer_t *target) { - return (dns_name_totext2(name, DNS_NAME_OMITFINALDOT, target)); -} - -isc_result_t -dns_name_totext2(const dns_name_t *name, unsigned int options, - isc_buffer_t *target) { unsigned char *ndata; char *tdata; unsigned int nlen, tlen; @@ -1202,8 +1186,7 @@ dns_name_totext2(const dns_name_t *name, unsigned int options, /* Special modifiers in zone files. */ case 0x40: /* '@' */ case 0x24: /* '$' */ - if ((options & DNS_NAME_MASTERFILE) == - 0) + if ((options & DNS_NAME_PRINCIPAL) != 0) { goto no_escape; } @@ -2020,7 +2003,7 @@ dns_name_print(const dns_name_t *name, FILE *stream) { REQUIRE(VALID_NAME(name)); isc_buffer_init(&b, t, sizeof(t)); - result = dns_name_totext(name, false, &b); + result = dns_name_totext(name, 0, &b); if (result != ISC_R_SUCCESS) { return (result); } @@ -2061,7 +2044,7 @@ dns_name_format(const dns_name_t *name, char *cp, unsigned int size) { * Leave room for null termination after buffer. */ isc_buffer_init(&buf, cp, size - 1); - result = dns_name_totext(name, true, &buf); + result = dns_name_totext(name, DNS_NAME_OMITFINALDOT, &buf); if (result == ISC_R_SUCCESS) { isc_buffer_putuint8(&buf, (uint8_t)'\0'); } else { @@ -2084,7 +2067,7 @@ dns_name_tostring(const dns_name_t *name, char **target, isc_mem_t *mctx) { REQUIRE(target != NULL && *target == NULL); isc_buffer_init(&buf, txt, sizeof(txt)); - result = dns_name_totext(name, false, &buf); + result = dns_name_totext(name, 0, &buf); if (result != ISC_R_SUCCESS) { return (result); } diff --git a/lib/dns/nta.c b/lib/dns/nta.c index 7f2895dd2f..35ee03e8de 100644 --- a/lib/dns/nta.c +++ b/lib/dns/nta.c @@ -551,7 +551,7 @@ dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp) { } isc_buffer_init(&b, nbuf, sizeof(nbuf)); - result = dns_name_totext(n->name, false, &b); + result = dns_name_totext(n->name, 0, &b); if (result != ISC_R_SUCCESS) { continue; } diff --git a/lib/dns/rdata/any_255/tsig_250.c b/lib/dns/rdata/any_255/tsig_250.c index 9bbe567783..e92fe60697 100644 --- a/lib/dns/rdata/any_255/tsig_250.c +++ b/lib/dns/rdata/any_255/tsig_250.c @@ -139,9 +139,9 @@ totext_any_tsig(ARGS_TOTEXT) { char *bufp; dns_name_t name; dns_name_t prefix; - bool sub; uint64_t sigtime; unsigned short n; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_tsig); REQUIRE(rdata->rdclass == dns_rdataclass_any); @@ -154,8 +154,9 @@ totext_any_tsig(ARGS_TOTEXT) { dns_name_init(&name, NULL); dns_name_init(&prefix, NULL); dns_name_fromregion(&name, &sr); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); isc_region_consume(&sr, name_length(&name)); diff --git a/lib/dns/rdata/ch_3/a_1.c b/lib/dns/rdata/ch_3/a_1.c index 9fd96c0d7c..1e68680a13 100644 --- a/lib/dns/rdata/ch_3/a_1.c +++ b/lib/dns/rdata/ch_3/a_1.c @@ -69,7 +69,7 @@ totext_ch_a(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("0177777")]; uint16_t addr; @@ -85,8 +85,9 @@ totext_ch_a(ARGS_TOTEXT) { isc_region_consume(®ion, name_length(&name)); addr = uint16_fromregion(®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); snprintf(buf, sizeof(buf), "%o", addr); /* note octal */ RETERR(str_totext(" ", target)); diff --git a/lib/dns/rdata/generic/afsdb_18.c b/lib/dns/rdata/generic/afsdb_18.c index 69bc39e4ff..e4a78a020e 100644 --- a/lib/dns/rdata/generic/afsdb_18.c +++ b/lib/dns/rdata/generic/afsdb_18.c @@ -71,8 +71,7 @@ totext_afsdb(ARGS_TOTEXT) { dns_name_t prefix; isc_region_t region; char buf[sizeof("64000 ")]; - bool sub; - unsigned int num; + unsigned int num, opts; REQUIRE(rdata->type == dns_rdatatype_afsdb); REQUIRE(rdata->length != 0); @@ -86,8 +85,9 @@ totext_afsdb(ARGS_TOTEXT) { snprintf(buf, sizeof(buf), "%u ", num); RETERR(str_totext(buf, target)); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/amtrelay_260.c b/lib/dns/rdata/generic/amtrelay_260.c index 6d8ac21456..fccd297fca 100644 --- a/lib/dns/rdata/generic/amtrelay_260.c +++ b/lib/dns/rdata/generic/amtrelay_260.c @@ -174,7 +174,7 @@ totext_amtrelay(ARGS_TOTEXT) { case 3: dns_name_init(&name, NULL); dns_name_fromregion(&name, ®ion); - return (dns_name_totext(&name, false, target)); + return (dns_name_totext(&name, 0, target)); default: UNREACHABLE(); diff --git a/lib/dns/rdata/generic/cname_5.c b/lib/dns/rdata/generic/cname_5.c index 7e78c6cf21..59fa54f328 100644 --- a/lib/dns/rdata/generic/cname_5.c +++ b/lib/dns/rdata/generic/cname_5.c @@ -46,7 +46,7 @@ totext_cname(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_cname); REQUIRE(rdata->length != 0); @@ -57,9 +57,9 @@ totext_cname(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/dname_39.c b/lib/dns/rdata/generic/dname_39.c index 14c085fe47..1e913be4de 100644 --- a/lib/dns/rdata/generic/dname_39.c +++ b/lib/dns/rdata/generic/dname_39.c @@ -47,7 +47,7 @@ totext_dname(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_dname); REQUIRE(rdata->length != 0); @@ -58,9 +58,9 @@ totext_dname(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/hip_55.c b/lib/dns/rdata/generic/hip_55.c index 8b347bc258..5ee1d297a3 100644 --- a/lib/dns/rdata/generic/hip_55.c +++ b/lib/dns/rdata/generic/hip_55.c @@ -177,7 +177,7 @@ totext_hip(ARGS_TOTEXT) { while (region.length > 0) { dns_name_fromregion(&name, ®ion); - RETERR(dns_name_totext(&name, false, target)); + RETERR(dns_name_totext(&name, 0, target)); isc_region_consume(®ion, name.length); if (region.length > 0) { RETERR(str_totext(tctx->linebreak, target)); diff --git a/lib/dns/rdata/generic/ipseckey_45.c b/lib/dns/rdata/generic/ipseckey_45.c index 73214a9ee6..10c954fd0d 100644 --- a/lib/dns/rdata/generic/ipseckey_45.c +++ b/lib/dns/rdata/generic/ipseckey_45.c @@ -187,7 +187,7 @@ totext_ipseckey(ARGS_TOTEXT) { case 3: dns_name_fromregion(&name, ®ion); - RETERR(dns_name_totext(&name, false, target)); + RETERR(dns_name_totext(&name, 0, target)); isc_region_consume(®ion, name_length(&name)); break; } diff --git a/lib/dns/rdata/generic/lp_107.c b/lib/dns/rdata/generic/lp_107.c index 4fd8f36726..62fb73b068 100644 --- a/lib/dns/rdata/generic/lp_107.c +++ b/lib/dns/rdata/generic/lp_107.c @@ -55,7 +55,7 @@ totext_lp(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -74,8 +74,9 @@ totext_lp(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/mb_7.c b/lib/dns/rdata/generic/mb_7.c index 8d09c456f5..e149c29011 100644 --- a/lib/dns/rdata/generic/mb_7.c +++ b/lib/dns/rdata/generic/mb_7.c @@ -45,7 +45,7 @@ totext_mb(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_mb); REQUIRE(rdata->length != 0); @@ -56,9 +56,9 @@ totext_mb(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/md_3.c b/lib/dns/rdata/generic/md_3.c index 945ee8c6ba..f9319014c4 100644 --- a/lib/dns/rdata/generic/md_3.c +++ b/lib/dns/rdata/generic/md_3.c @@ -45,7 +45,7 @@ totext_md(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_md); REQUIRE(rdata->length != 0); @@ -56,9 +56,9 @@ totext_md(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/mf_4.c b/lib/dns/rdata/generic/mf_4.c index f9946effcc..e4ba81659a 100644 --- a/lib/dns/rdata/generic/mf_4.c +++ b/lib/dns/rdata/generic/mf_4.c @@ -45,7 +45,7 @@ totext_mf(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_mf); REQUIRE(rdata->length != 0); @@ -56,9 +56,9 @@ totext_mf(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/mg_8.c b/lib/dns/rdata/generic/mg_8.c index 9d8aa28608..ca80a883d6 100644 --- a/lib/dns/rdata/generic/mg_8.c +++ b/lib/dns/rdata/generic/mg_8.c @@ -45,7 +45,7 @@ totext_mg(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_mg); REQUIRE(rdata->length != 0); @@ -56,9 +56,9 @@ totext_mg(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/minfo_14.c b/lib/dns/rdata/generic/minfo_14.c index 1816d1c651..5c98f46085 100644 --- a/lib/dns/rdata/generic/minfo_14.c +++ b/lib/dns/rdata/generic/minfo_14.c @@ -61,7 +61,7 @@ totext_minfo(ARGS_TOTEXT) { dns_name_t rmail; dns_name_t email; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_minfo); REQUIRE(rdata->length != 0); @@ -78,14 +78,17 @@ totext_minfo(ARGS_TOTEXT) { dns_name_fromregion(&email, ®ion); isc_region_consume(®ion, email.length); - sub = name_prefix(&rmail, tctx->origin, &prefix); - - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&rmail, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); - sub = name_prefix(&email, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&email, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/mr_9.c b/lib/dns/rdata/generic/mr_9.c index 863afd89f3..b0e4200b6a 100644 --- a/lib/dns/rdata/generic/mr_9.c +++ b/lib/dns/rdata/generic/mr_9.c @@ -45,7 +45,7 @@ totext_mr(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_mr); REQUIRE(rdata->length != 0); @@ -56,9 +56,9 @@ totext_mr(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/mx_15.c b/lib/dns/rdata/generic/mx_15.c index b5f1318ea6..c772ec2f30 100644 --- a/lib/dns/rdata/generic/mx_15.c +++ b/lib/dns/rdata/generic/mx_15.c @@ -101,7 +101,7 @@ totext_mx(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -120,8 +120,9 @@ totext_mx(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/naptr_35.c b/lib/dns/rdata/generic/naptr_35.c index a9a3df8bb6..f12713a883 100644 --- a/lib/dns/rdata/generic/naptr_35.c +++ b/lib/dns/rdata/generic/naptr_35.c @@ -244,7 +244,7 @@ totext_naptr(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -296,8 +296,9 @@ totext_naptr(ARGS_TOTEXT) { * Replacement. */ dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/ns_2.c b/lib/dns/rdata/generic/ns_2.c index 7b6d4532b9..e16f2df4ec 100644 --- a/lib/dns/rdata/generic/ns_2.c +++ b/lib/dns/rdata/generic/ns_2.c @@ -56,7 +56,7 @@ totext_ns(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_ns); REQUIRE(rdata->length != 0); @@ -67,9 +67,9 @@ totext_ns(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/nsec_47.c b/lib/dns/rdata/generic/nsec_47.c index 748c23f74e..a8838126ae 100644 --- a/lib/dns/rdata/generic/nsec_47.c +++ b/lib/dns/rdata/generic/nsec_47.c @@ -65,7 +65,7 @@ totext_nsec(ARGS_TOTEXT) { dns_rdata_toregion(rdata, &sr); dns_name_fromregion(&name, &sr); isc_region_consume(&sr, name_length(&name)); - RETERR(dns_name_totext(&name, false, target)); + RETERR(dns_name_totext(&name, 0, target)); /* * Don't leave a trailing space when there's no typemap present. */ diff --git a/lib/dns/rdata/generic/nxt_30.c b/lib/dns/rdata/generic/nxt_30.c index 5eb1fa55f2..6b09aa68c5 100644 --- a/lib/dns/rdata/generic/nxt_30.c +++ b/lib/dns/rdata/generic/nxt_30.c @@ -91,10 +91,9 @@ fromtext_nxt(ARGS_FROMTEXT) { static isc_result_t totext_nxt(ARGS_TOTEXT) { isc_region_t sr; - unsigned int i, j; + unsigned int i, j, opts; dns_name_t name; dns_name_t prefix; - bool sub; REQUIRE(rdata->type == dns_rdatatype_nxt); REQUIRE(rdata->length != 0); @@ -104,8 +103,9 @@ totext_nxt(ARGS_TOTEXT) { dns_rdata_toregion(rdata, &sr); dns_name_fromregion(&name, &sr); isc_region_consume(&sr, name_length(&name)); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); for (i = 0; i < sr.length; i++) { if (sr.base[i] != 0) { diff --git a/lib/dns/rdata/generic/ptr_12.c b/lib/dns/rdata/generic/ptr_12.c index d0df61996b..1c3d633a74 100644 --- a/lib/dns/rdata/generic/ptr_12.c +++ b/lib/dns/rdata/generic/ptr_12.c @@ -58,7 +58,7 @@ totext_ptr(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_ptr); REQUIRE(rdata->length != 0); @@ -69,9 +69,9 @@ totext_ptr(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/rp_17.c b/lib/dns/rdata/generic/rp_17.c index f165ae45d3..440ad341ea 100644 --- a/lib/dns/rdata/generic/rp_17.c +++ b/lib/dns/rdata/generic/rp_17.c @@ -63,7 +63,7 @@ totext_rp(ARGS_TOTEXT) { dns_name_t rmail; dns_name_t email; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_rp); REQUIRE(rdata->length != 0); @@ -80,13 +80,17 @@ totext_rp(ARGS_TOTEXT) { dns_name_fromregion(&email, ®ion); isc_region_consume(®ion, email.length); - sub = name_prefix(&rmail, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&rmail, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); - sub = name_prefix(&email, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&email, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/rrsig_46.c b/lib/dns/rdata/generic/rrsig_46.c index 7fb0bf5762..062e38f954 100644 --- a/lib/dns/rdata/generic/rrsig_46.c +++ b/lib/dns/rdata/generic/rrsig_46.c @@ -268,7 +268,7 @@ totext_rrsig(ARGS_TOTEXT) { dns_name_init(&name, NULL); dns_name_fromregion(&name, &sr); isc_region_consume(&sr, name_length(&name)); - RETERR(dns_name_totext(&name, false, target)); + RETERR(dns_name_totext(&name, 0, target)); /* * Sig. diff --git a/lib/dns/rdata/generic/rt_21.c b/lib/dns/rdata/generic/rt_21.c index f54e843623..89ff01491c 100644 --- a/lib/dns/rdata/generic/rt_21.c +++ b/lib/dns/rdata/generic/rt_21.c @@ -65,7 +65,7 @@ totext_rt(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -82,8 +82,9 @@ totext_rt(ARGS_TOTEXT) { RETERR(str_totext(buf, target)); RETERR(str_totext(" ", target)); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/sig_24.c b/lib/dns/rdata/generic/sig_24.c index eac8ec9d02..b67f1efa63 100644 --- a/lib/dns/rdata/generic/sig_24.c +++ b/lib/dns/rdata/generic/sig_24.c @@ -150,7 +150,7 @@ totext_sig(ARGS_TOTEXT) { unsigned long foot; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_sig); REQUIRE(rdata->length != 0); @@ -235,8 +235,9 @@ totext_sig(ARGS_TOTEXT) { dns_name_init(&prefix, NULL); dns_name_fromregion(&name, &sr); isc_region_consume(&sr, name_length(&name)); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); /* * Sig. diff --git a/lib/dns/rdata/generic/soa_6.c b/lib/dns/rdata/generic/soa_6.c index 2345f68678..42c229f285 100644 --- a/lib/dns/rdata/generic/soa_6.c +++ b/lib/dns/rdata/generic/soa_6.c @@ -85,7 +85,7 @@ totext_soa(ARGS_TOTEXT) { dns_name_t mname; dns_name_t rname; dns_name_t prefix; - bool sub; + unsigned int opts; int i; bool multiline; bool comm; @@ -112,13 +112,17 @@ totext_soa(ARGS_TOTEXT) { dns_name_fromregion(&rname, &dregion); isc_region_consume(&dregion, name_length(&rname)); - sub = name_prefix(&mname, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&mname, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); - sub = name_prefix(&rname, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&rname, tctx->origin, &prefix) + ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); if (multiline) { RETERR(str_totext(" (", target)); diff --git a/lib/dns/rdata/generic/talink_58.c b/lib/dns/rdata/generic/talink_58.c index fa591d7cda..c27395a7f4 100644 --- a/lib/dns/rdata/generic/talink_58.c +++ b/lib/dns/rdata/generic/talink_58.c @@ -52,7 +52,7 @@ totext_talink(ARGS_TOTEXT) { dns_name_t prev; dns_name_t next; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_talink); REQUIRE(rdata->length != 0); @@ -69,13 +69,15 @@ totext_talink(ARGS_TOTEXT) { dns_name_fromregion(&next, &dregion); isc_region_consume(&dregion, name_length(&next)); - sub = name_prefix(&prev, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&prev, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); - sub = name_prefix(&next, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&next, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/generic/tkey_249.c b/lib/dns/rdata/generic/tkey_249.c index 217bf76607..b2fb112aab 100644 --- a/lib/dns/rdata/generic/tkey_249.c +++ b/lib/dns/rdata/generic/tkey_249.c @@ -126,7 +126,7 @@ totext_tkey(ARGS_TOTEXT) { unsigned long n; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_tkey); REQUIRE(rdata->length != 0); @@ -139,8 +139,9 @@ totext_tkey(ARGS_TOTEXT) { dns_name_init(&name, NULL); dns_name_init(&prefix, NULL); dns_name_fromregion(&name, &sr); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); isc_region_consume(&sr, name_length(&name)); diff --git a/lib/dns/rdata/in_1/a6_38.c b/lib/dns/rdata/in_1/a6_38.c index 8589f49d60..dd62f284f0 100644 --- a/lib/dns/rdata/in_1/a6_38.c +++ b/lib/dns/rdata/in_1/a6_38.c @@ -106,7 +106,7 @@ totext_in_a6(ARGS_TOTEXT) { char buf[sizeof("128")]; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_a6); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -140,8 +140,9 @@ totext_in_a6(ARGS_TOTEXT) { dns_name_init(&name, NULL); dns_name_init(&prefix, NULL); dns_name_fromregion(&name, &sr); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/in_1/kx_36.c b/lib/dns/rdata/in_1/kx_36.c index a8c2abcca3..6c7ef5589f 100644 --- a/lib/dns/rdata/in_1/kx_36.c +++ b/lib/dns/rdata/in_1/kx_36.c @@ -54,7 +54,7 @@ totext_in_kx(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -74,8 +74,9 @@ totext_in_kx(ARGS_TOTEXT) { RETERR(str_totext(" ", target)); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/in_1/nsap-ptr_23.c b/lib/dns/rdata/in_1/nsap-ptr_23.c index a468b80940..d155e5713e 100644 --- a/lib/dns/rdata/in_1/nsap-ptr_23.c +++ b/lib/dns/rdata/in_1/nsap-ptr_23.c @@ -48,7 +48,7 @@ totext_in_nsap_ptr(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; REQUIRE(rdata->type == dns_rdatatype_nsap_ptr); REQUIRE(rdata->rdclass == dns_rdataclass_in); @@ -60,9 +60,9 @@ totext_in_nsap_ptr(ARGS_TOTEXT) { dns_rdata_toregion(rdata, ®ion); dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/in_1/px_26.c b/lib/dns/rdata/in_1/px_26.c index c172b851f1..da757806cf 100644 --- a/lib/dns/rdata/in_1/px_26.c +++ b/lib/dns/rdata/in_1/px_26.c @@ -70,7 +70,7 @@ totext_in_px(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -95,17 +95,19 @@ totext_in_px(ARGS_TOTEXT) { * MAP822. */ dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; isc_region_consume(®ion, name_length(&name)); - RETERR(dns_name_totext(&prefix, sub, target)); + RETERR(dns_name_totext(&prefix, opts, target)); RETERR(str_totext(" ", target)); /* * MAPX400. */ dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/in_1/srv_33.c b/lib/dns/rdata/in_1/srv_33.c index ce0cbc4621..0f33278045 100644 --- a/lib/dns/rdata/in_1/srv_33.c +++ b/lib/dns/rdata/in_1/srv_33.c @@ -91,7 +91,7 @@ totext_in_srv(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("64000")]; unsigned short num; @@ -134,8 +134,9 @@ totext_in_srv(ARGS_TOTEXT) { * Target. */ dns_name_fromregion(&name, ®ion); - sub = name_prefix(&name, tctx->origin, &prefix); - return (dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + return (dns_name_totext(&prefix, opts, target)); } static isc_result_t diff --git a/lib/dns/rdata/in_1/svcb_64.c b/lib/dns/rdata/in_1/svcb_64.c index cd0fbe5b92..2968149752 100644 --- a/lib/dns/rdata/in_1/svcb_64.c +++ b/lib/dns/rdata/in_1/svcb_64.c @@ -660,7 +660,7 @@ generic_totext_in_svcb(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; - bool sub; + unsigned int opts; char buf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255")]; unsigned short num; int n; @@ -686,8 +686,9 @@ generic_totext_in_svcb(ARGS_TOTEXT) { */ dns_name_fromregion(&name, ®ion); isc_region_consume(®ion, name_length(&name)); - sub = name_prefix(&name, tctx->origin, &prefix); - RETERR(dns_name_totext(&prefix, sub, target)); + opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT + : 0; + RETERR(dns_name_totext(&prefix, opts, target)); while (region.length > 0) { isc_region_t r; diff --git a/lib/dns/rrl.c b/lib/dns/rrl.c index 3a4921b803..308a64b955 100644 --- a/lib/dns/rrl.c +++ b/lib/dns/rrl.c @@ -956,7 +956,8 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, const char *str1, } if (qname != NULL) { ADD_LOG_CSTR(&lb, " for "); - (void)dns_name_totext(qname, true, &lb); + (void)dns_name_totext(qname, DNS_NAME_OMITFINALDOT, + &lb); } else { ADD_LOG_CSTR(&lb, " for (?)"); } diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c index eec5d9170f..6905e2185e 100644 --- a/lib/dns/sdlz.c +++ b/lib/dns/sdlz.c @@ -483,12 +483,12 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, dns_name_countlabels(&sdlz->common.origin); dns_name_init(&relname, NULL); dns_name_getlabelsequence(name, 0, labels, &relname); - result = dns_name_totext(&relname, true, &b); + result = dns_name_totext(&relname, DNS_NAME_OMITFINALDOT, &b); if (result != ISC_R_SUCCESS) { return (result); } } else { - result = dns_name_totext(name, true, &b); + result = dns_name_totext(name, DNS_NAME_OMITFINALDOT, &b); if (result != ISC_R_SUCCESS) { return (result); } @@ -496,7 +496,8 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, isc_buffer_putuint8(&b, 0); isc_buffer_init(&b2, zonestr, sizeof(zonestr)); - result = dns_name_totext(&sdlz->common.origin, true, &b2); + result = dns_name_totext(&sdlz->common.origin, DNS_NAME_OMITFINALDOT, + &b2); if (result != ISC_R_SUCCESS) { return (result); } @@ -558,7 +559,8 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, } isc_buffer_init(&b, wildstr, sizeof(wildstr)); - result = dns_name_totext(wild, true, &b); + result = dns_name_totext(wild, DNS_NAME_OMITFINALDOT, + &b); if (result != ISC_R_SUCCESS) { MAYBE_UNLOCK(sdlz->dlzimp); return (result); @@ -693,7 +695,8 @@ createiterator(dns_db_t *db, unsigned int options, } isc_buffer_init(&b, zonestr, sizeof(zonestr)); - result = dns_name_totext(&sdlz->common.origin, true, &b); + result = dns_name_totext(&sdlz->common.origin, DNS_NAME_OMITFINALDOT, + &b); if (result != ISC_R_SUCCESS) { return (result); } @@ -1423,7 +1426,7 @@ dns_sdlzallowzonexfr(void *driverarg, void *dbdata, isc_mem_t *mctx, /* Convert DNS name to ascii text */ isc_buffer_init(&b, namestr, sizeof(namestr)); - result = dns_name_totext(name, true, &b); + result = dns_name_totext(name, DNS_NAME_OMITFINALDOT, &b); if (result != ISC_R_SUCCESS) { return (result); } @@ -1542,7 +1545,7 @@ dns_sdlzfindzone(void *driverarg, void *dbdata, isc_mem_t *mctx, /* Convert DNS name to ascii text */ isc_buffer_init(&b, namestr, sizeof(namestr)); - result = dns_name_totext(name, true, &b); + result = dns_name_totext(name, DNS_NAME_OMITFINALDOT, &b); if (result != ISC_R_SUCCESS) { return (result); } diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 9dfa27551e..6190b21808 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15347,7 +15347,8 @@ zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length) { isc_buffer_init(&buffer, buf, (unsigned int)length - 1); if (zone->type != dns_zone_redirect && zone->type != dns_zone_key) { if (dns_name_dynamic(&zone->origin)) { - result = dns_name_totext(&zone->origin, true, &buffer); + result = dns_name_totext( + &zone->origin, DNS_NAME_OMITFINALDOT, &buffer); } if (result != ISC_R_SUCCESS && isc_buffer_availablelength(&buffer) >= @@ -15392,7 +15393,8 @@ zone_name_tostr(dns_zone_t *zone, char *buf, size_t length) { */ isc_buffer_init(&buffer, buf, (unsigned int)length - 1); if (dns_name_dynamic(&zone->origin)) { - result = dns_name_totext(&zone->origin, true, &buffer); + result = dns_name_totext(&zone->origin, DNS_NAME_OMITFINALDOT, + &buffer); } if (result != ISC_R_SUCCESS && isc_buffer_availablelength(&buffer) >= (sizeof("") - 1))