simplify dns_name_fromtext() interface

previously, dns_name_fromtext() took both a target name and an
optional target buffer parameter, which could override the name's
dedicated buffer. this interface is unnecessarily complex.

we now have two functions, dns_name_fromtext() to convert text
into a dns_name that has a dedicated buffer, and dns_name_wirefromtext()
to convert text into uncompressed DNS wire format and append it to a
target buffer.

in cases where it really is necessary to have both, we can use
dns_name_fromtext() to load the dns_name, then dns_name_towire()
to append the wire format to the target buffer.
This commit is contained in:
Evan Hunt
2025-02-22 00:11:38 -08:00
parent cf098cf10d
commit afb424c9b6
89 changed files with 283 additions and 279 deletions

View File

@@ -419,7 +419,7 @@ dns_test_namefromstring(const char *namestr, dns_fixedname_t *fname) {
isc_buffer_allocate(mctx, &b, length);
isc_buffer_putmem(b, (const unsigned char *)namestr, length);
result = dns_name_fromtext(name, b, NULL, 0, NULL);
result = dns_name_fromtext(name, b, NULL, 0);
INSIST(result == ISC_R_SUCCESS);
isc_buffer_free(&b);