chg:usr: Reduce memory used to store DNS names

The memory used to internally store the DNS names has been reduced.

Merge branch 'ondrej/experiment-no-offsets-in-dns_name' into 'main'

See merge request isc-projects/bind9!10140
This commit is contained in:
Ondřej Surý 2025-02-25 11:17:55 +00:00
commit 24db1b1a8a
115 changed files with 877 additions and 1312 deletions

View file

@ -593,7 +593,7 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags, isc_buffer_t *buf,
UNUSED(flags);
dns_name_init(&empty_name, NULL);
dns_name_init(&empty_name);
result = dns_message_firstname(msg, DNS_SECTION_ANSWER);
if (result == ISC_R_NOMORE) {
return ISC_R_SUCCESS;
@ -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

@ -865,7 +865,7 @@ setup_text_key(void) {
debug("setup_text_key()");
isc_buffer_allocate(mctx, &namebuf, MXNAME);
dns_name_init(&keyname, NULL);
dns_name_init(&keyname);
isc_buffer_putstr(namebuf, keynametext);
secretsize = (unsigned int)strlen(keysecret) * 3 / 4;
secretstore = isc_mem_allocate(mctx, secretsize);
@ -2082,8 +2082,8 @@ insert_soa(dig_lookup_t *lookup) {
soa.common.rdclass = lookup->rdclass;
soa.common.rdtype = dns_rdatatype_soa;
dns_name_init(&soa.origin, NULL);
dns_name_init(&soa.contact, NULL);
dns_name_init(&soa.origin);
dns_name_init(&soa.contact);
dns_name_clone(dns_rootname, &soa.origin);
dns_name_clone(dns_rootname, &soa.contact);

View file

@ -221,7 +221,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
printf(";; %s SECTION:\n", section_name);
}
dns_name_init(&empty_name, NULL);
dns_name_init(&empty_name);
result = dns_message_firstname(msg, sectionid);
if (result == ISC_R_NOMORE) {

View file

@ -2034,7 +2034,7 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node, const unsigned char *salt,
dns_fixedname_init(&hashname);
dns_rdataset_init(&rdataset);
dns_name_downcase(name, name, NULL);
dns_name_downcase(name, name);
result = dns_nsec3_hashname(&hashname, hash, &hash_len, name, gorigin,
dns_hash_sha1, iterations, salt, salt_len);
check_result(result, "addnsec3: dns_nsec3_hashname()");
@ -2402,7 +2402,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
fatal("iterating through the database failed: %s",
isc_result_totext(result));
}
dns_name_downcase(name, name, NULL);
dns_name_downcase(name, name);
hashlist_add_dns_name(hashlist, name, hashalg, iterations, salt,
salt_len, false);
dns_db_detachnode(gdb, &node);
@ -2412,7 +2412,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
* node for another <name,nextname> span so we don't add
* it here. Empty labels on nextname are within the span.
*/
dns_name_downcase(nextname, nextname, NULL);
dns_name_downcase(nextname, nextname);
dns_name_fullcompare(name, nextname, &order, &nlabels);
addnowildcardhash(hashlist, name, hashalg, iterations, salt,
salt_len);

View file

@ -459,7 +459,7 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name, bdbnode_t *node) {
static isc_result_t
builtin_lookup(bdb_t *bdb, const dns_name_t *name, bdbnode_t *node) {
if (name->labels == 0 && name->length == 0) {
if (name->length == 0) {
return bdb->lookup(node);
} else if ((node->bdb->implementation->flags & BDB_DNS64) != 0) {
return dns64_cname(&bdb->common.origin, name, node);
@ -839,7 +839,7 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG) {
REQUIRE(VALID_BDB(bdb));
REQUIRE(nodep != NULL && *nodep == NULL);
dns_name_init(&relname, NULL);
dns_name_init(&relname);
name = &relname;
result = createnode(bdb, &node);
@ -881,7 +881,7 @@ findnode(dns_db_t *db, const dns_name_t *name, bool create,
isorigin = dns_name_equal(name, &bdb->common.origin);
labels = dns_name_countlabels(name) - dns_name_countlabels(&db->origin);
dns_name_init(&relname, NULL);
dns_name_init(&relname);
dns_name_getlabelsequence(name, 0, labels, &relname);
name = &relname;
@ -1197,8 +1197,8 @@ create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
isc_refcount_init(&bdb->common.references, 1);
isc_mem_attach(mctx, &bdb->common.mctx);
dns_name_init(&bdb->common.origin, NULL);
dns_name_dupwithoffsets(origin, mctx, &bdb->common.origin);
dns_name_init(&bdb->common.origin);
dns_name_dup(origin, mctx, &bdb->common.origin);
INSIST(argc >= 1);
if (strcmp(argv[0], "authors") == 0) {

View file

@ -551,7 +551,7 @@ named_config_getname(isc_mem_t *mctx, const cfg_obj_t *obj,
}
*namep = isc_mem_get(mctx, sizeof(**namep));
dns_name_init(*namep, NULL);
dns_name_init(*namep);
objstr = cfg_obj_asstring(obj);
isc_buffer_constinit(&b, objstr, strlen(objstr));

View file

@ -2745,7 +2745,7 @@ configure_catz_zone(dns_view_t *view, dns_view_t *pview,
dns_name_t origin;
dns_catz_options_t *opts;
dns_name_init(&origin, NULL);
dns_name_init(&origin);
catz_obj = cfg_listelt_value(element);
str = cfg_obj_asstring(cfg_tuple_get(catz_obj, "zone name"));
@ -3088,7 +3088,7 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
ns.common.rdtype = dns_rdatatype_ns;
ns.common.rdclass = dns_db_class(db);
ns.mctx = NULL;
dns_name_init(&ns.name, NULL);
dns_name_init(&ns.name);
dns_name_clone(nsname, &ns.name);
CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), dns_rdatatype_ns,
&ns, &b));
@ -5932,7 +5932,7 @@ validate_tls(const cfg_obj_t *config, dns_view_t *view, const cfg_obj_t *obj,
if (name != NULL && *name == NULL) {
*name = isc_mem_get(view->mctx, sizeof(dns_name_t));
dns_name_init(*name, NULL);
dns_name_init(*name);
dns_name_dup(nm, view->mctx, *name);
}
@ -7295,7 +7295,7 @@ configure_session_key(const cfg_obj_t **maps, named_server_t *server,
INSIST(server->session_keybits == 0);
server->session_keyname = isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(server->session_keyname, NULL);
dns_name_init(server->session_keyname);
dns_name_dup(keyname, mctx, server->session_keyname);
server->session_keyfile = isc_mem_strdup(mctx, keyfile);
@ -12541,7 +12541,7 @@ nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t buflen) {
dns_fixedname_t fixed;
dns_fixedname_init(&fixed);
dns_name_downcase(name, dns_fixedname_name(&fixed), NULL);
dns_name_downcase(name, dns_fixedname_name(&fixed));
dns_name_format(dns_fixedname_name(&fixed), namebuf, buflen);
key->mv_data = namebuf;

View file

@ -64,7 +64,7 @@ named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
name = dns_fixedname_initname(&fname);
RETERR(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
tctx->domain = isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(tctx->domain, NULL);
dns_name_init(tctx->domain);
dns_name_dup(name, mctx, tctx->domain);
}

View file

@ -30,7 +30,7 @@
#define create_name(id, name) \
isc_buffer_t namesrc, namebuf; \
char namedata[DNS_NAME_FORMATSIZE + 1]; \
dns_name_init(name, NULL); \
dns_name_init(name); \
isc_buffer_constinit(&namesrc, id, strlen(id)); \
isc_buffer_add(&namesrc, strlen(id)); \
isc_buffer_init(&namebuf, namedata, sizeof(namedata)); \

View file

@ -68,7 +68,7 @@ add_initial_keys(const cfg_obj_t *list, dns_tsigkeyring_t *ring,
/*
* Create the key name.
*/
dns_name_init(&keyname, NULL);
dns_name_init(&keyname);
isc_buffer_constinit(&keynamesrc, keyid, strlen(keyid));
isc_buffer_add(&keynamesrc, strlen(keyid));
isc_buffer_init(&keynamebuf, keynamedata, sizeof(keynamedata));

View file

@ -633,7 +633,7 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone,
*/
CHECK(dns_db_newversion(db, &dbversion));
dns_name_init(&apexname, NULL);
dns_name_init(&apexname);
dns_name_clone(dns_zone_getorigin(zone), &apexname);
CHECK(dns_db_findnode(db, &apexname, false, &apexnode));

View file

@ -789,7 +789,7 @@ static isc_result_t
create_name(const char *str, char *namedata, size_t len, dns_name_t *name) {
isc_buffer_t namesrc, namebuf;
dns_name_init(name, NULL);
dns_name_init(name);
isc_buffer_constinit(&namesrc, str, strlen(str));
isc_buffer_add(&namesrc, strlen(str));
isc_buffer_init(&namebuf, namedata, len);
@ -2614,8 +2614,8 @@ done:
if (usegsstsig) {
dns_name_free(&tmpzonename, gmctx);
dns_name_free(&restart_primary, gmctx);
dns_name_init(&tmpzonename, 0);
dns_name_init(&restart_primary, 0);
dns_name_init(&tmpzonename);
dns_name_init(&restart_primary);
}
done_update();
}
@ -2881,7 +2881,7 @@ lookforsoa:
result = dns_rdata_tostruct(&soarr, &soa, NULL);
check_result(result, "dns_rdata_tostruct");
dns_name_init(&primary, NULL);
dns_name_init(&primary);
dns_name_clone(&soa.origin, &primary);
if (userzone != NULL) {
@ -2937,9 +2937,9 @@ lookforsoa:
#if HAVE_GSSAPI
if (usegsstsig) {
dns_name_init(&tmpzonename, NULL);
dns_name_init(&tmpzonename);
dns_name_dup(zname, gmctx, &tmpzonename);
dns_name_init(&restart_primary, NULL);
dns_name_init(&restart_primary);
dns_name_dup(&primary, gmctx, &restart_primary);
start_gssrequest(&primary);
} else {
@ -2968,7 +2968,7 @@ droplabel:
if (nlabels == 1) {
fatal("could not find enclosing zone");
}
dns_name_init(&tname, NULL);
dns_name_init(&tname);
dns_name_getlabelsequence(name, 1, nlabels - 1, &tname);
dns_name_clone(&tname, name);
dns_request_destroy(&request);
@ -3075,8 +3075,8 @@ failed_gssrequest(void) {
dns_name_free(&tmpzonename, gmctx);
dns_name_free(&restart_primary, gmctx);
dns_name_init(&tmpzonename, NULL);
dns_name_init(&restart_primary, NULL);
dns_name_init(&tmpzonename);
dns_name_init(&restart_primary);
done_update();
}

View file

@ -518,7 +518,7 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
ns.common.rdtype = dns_rdatatype_ns;
ns.common.rdclass = dns_db_class(db);
ns.mctx = NULL;
dns_name_init(&ns.name, NULL);
dns_name_init(&ns.name);
dns_name_clone(nsname, &ns.name);
CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), dns_rdatatype_ns,
&ns, &b));
@ -608,9 +608,9 @@ create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
};
isc_mem_attach(mctx, &sampledb->common.mctx);
dns_name_init(&sampledb->common.origin, NULL);
dns_name_init(&sampledb->common.origin);
dns_name_dupwithoffsets(origin, mctx, &sampledb->common.origin);
dns_name_dup(origin, mctx, &sampledb->common.origin);
isc_refcount_init(&sampledb->common.references, 1);

View file

@ -224,7 +224,7 @@ syncptr(sample_instance_t *inst, dns_name_t *name, dns_rdata_t *addr_rdata,
dns_fixedname_init(&ptr_name);
DNS_RDATACOMMON_INIT(&ptr_struct, dns_rdatatype_ptr, dns_rdataclass_in);
dns_name_init(&ptr_struct.ptr, NULL);
dns_name_init(&ptr_struct.ptr);
syncptr = isc_mem_get(mctx, sizeof(*syncptr));
*syncptr = (syncptr_t){ 0 };

View file

@ -441,7 +441,7 @@ repopulate_buffer:
answerstyleflags |= DNS_STYLEFLAG_UNKNOWNFORMAT;
}
dns_name_init(&empty_name, NULL);
dns_name_init(&empty_name);
result = dns_message_firstname(response, DNS_SECTION_ANSWER);
if (result != ISC_R_NOMORE) {
CHECK("dns_message_firstname", result);

View file

@ -125,7 +125,7 @@ nsec3hash(nsec3printer *nsec3print, const char *algostr, const char *flagstr,
result = dns_name_fromtext(name, &buffer, dns_rootname, 0, NULL);
check_result(result, "dns_name_fromtext() failed");
dns_name_downcase(name, name, NULL);
dns_name_downcase(name, name);
length = isc_iterated_hash(hash, hash_alg, iterations, salt,
salt_length, name->ndata, name->length);
if (length == 0) {

View file

@ -610,19 +610,6 @@ both dynamically and statically allocated, relative and absolute,
compressed and not, with straightforward conversions from text to
wire format and vice versa.
##### Initializing
When a name object is initialized, a pointer to an "offset table"
(`dns_offsets_t`) may optionally be supplied; this will improve
performance of most name operations if the name is used more than
once.
dns_name_t name1, name2;
dns_offsets_t offsets1;
dns_name_init(&name1, &offsets1);
dns_name_init(&name2, NULL);
##### Copying
There are three methods for copying name objects:
@ -641,7 +628,7 @@ There are three methods for copying name objects:
isc_buffer_t buffer;
isc_buffer_init(&buffer, namedata, sizeof(namedata));
dns_name_init(&target, NULL);
dns_name_init(&target);
dns_name_setbuffer(target, &buffer);
dns_name_copy(source, &target);
@ -650,10 +637,8 @@ There are three methods for copying name objects:
a buffer.
- `dns_name_dup()` copies a name into a new name object, dynamically
allocating buffer space as needed. `dns_name_dupwithoffsets()` does
the same, but also dynamically allocates space for the copied offset
table. Targets created by these functions must be freed by calling
`dns_name_free()`.
allocating buffer space as needed. Target created by this function
must be freed by calling `dns_name_free()`.
##### Wire format
@ -689,7 +674,7 @@ name.
isc_buffer_t buf;
dns_name_t name;
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_init(&buf, namedata, sizeof(namedata));
isc_buffer_add(&buf, strlen(text));
result = dns_name_fromtext(&name, &buf, dns_rootname, 0, NULL);

View file

@ -366,8 +366,8 @@ Typical use:
dns_name_t name, prefix;
bool sub;
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
sub = name_prefix(&name, origin, &prefix);

View file

@ -41,8 +41,6 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
dns_fixedname_t old_fixed;
dns_name_t *new_name = dns_fixedname_initname(&new_fixed);
dns_name_t *old_name = dns_fixedname_initname(&old_fixed);
uint8_t *new_offsets;
uint8_t *old_offsets;
dns_decompress_t dctx = DNS_DECOMPRESS_PERMITTED;
isc_buffer_t new_buf;
isc_buffer_t old_buf;
@ -81,12 +79,6 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
REQUIRE(new_result == old_result);
REQUIRE(dns_name_equal(new_name, old_name));
REQUIRE(new_name->labels == old_name->labels);
new_offsets = new_name->offsets;
old_offsets = old_name->offsets;
REQUIRE(new_offsets != NULL && old_offsets != NULL);
REQUIRE(memcmp(new_offsets, old_offsets, old_name->labels) == 0);
REQUIRE(new_fixed.buffer.current == old_fixed.buffer.current);
REQUIRE(new_fixed.buffer.active == old_fixed.buffer.active);

View file

@ -34,17 +34,12 @@ typedef enum { fw_start = 0, fw_ordinary, fw_newcurrent } fw_state;
#define VALID_NAME(n) ISC_MAGIC_VALID(n, DNS_NAME_MAGIC)
#define INIT_OFFSETS(name, var, default_offsets) \
if ((name)->offsets != NULL) \
var = (name)->offsets; \
else \
var = (default_offsets);
#define INIT_OFFSETS(name, var, default_offsets) (var) = (default_offsets)
#define MAKE_EMPTY(name) \
do { \
name->ndata = NULL; \
name->length = 0; \
name->labels = 0; \
name->attributes.absolute = false; \
} while (0)
@ -197,7 +192,6 @@ old_name_fromwire(dns_name_t *name, isc_buffer_t *source, dns_decompress_t dctx,
}
name->ndata = (unsigned char *)target->base + target->used;
name->labels = labels;
name->length = nused;
name->attributes.absolute = true;

View file

@ -324,7 +324,7 @@ dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool pos) {
/* Duplicate key name. */
if (source->elements[i].type == dns_aclelementtype_keyname) {
dns_name_init(&dest->elements[nelem + i].keyname, NULL);
dns_name_init(&dest->elements[nelem + i].keyname);
dns_name_dup(&source->elements[i].keyname, dest->mctx,
&dest->elements[nelem + i].keyname);
}

View file

@ -815,7 +815,7 @@ static void
clean_target(dns_adb_t *adb, dns_name_t *target) {
if (dns_name_countlabels(target) > 0) {
dns_name_free(target, adb->mctx);
dns_name_init(target, NULL);
dns_name_init(target);
}
}
@ -988,7 +988,7 @@ new_adbname(dns_adb_t *adb, const dns_name_t *dnsname, unsigned int flags) {
name->name = dns_fixedname_initname(&name->fname);
dns_name_copy(dnsname, name->name);
dns_name_init(&name->target, NULL);
dns_name_init(&name->target);
inc_adbstats(adb, dns_adbstats_namescnt);
return name;

View file

@ -170,7 +170,7 @@ bcentry_new(isc_loop_t *loop, const dns_name_t *name,
.lru_head = CDS_LIST_HEAD_INIT(bad->lru_head),
};
dns_name_init(&bad->name, NULL);
dns_name_init(&bad->name);
dns_name_dup(name, mctx, &bad->name);
return bad;

View file

@ -17,6 +17,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include <isc/async.h>
#include <isc/hex.h>
@ -34,6 +35,8 @@
#include <dns/view.h>
#include <dns/zone.h>
#include "dns/name.h"
#define DNS_CATZ_ZONE_MAGIC ISC_MAGIC('c', 'a', 't', 'z')
#define DNS_CATZ_ZONES_MAGIC ISC_MAGIC('c', 'a', 't', 's')
#define DNS_CATZ_ENTRY_MAGIC ISC_MAGIC('c', 'a', 't', 'e')
@ -249,7 +252,7 @@ catz_coo_new(isc_mem_t *mctx, const dns_name_t *domain) {
*ncoo = (dns_catz_coo_t){
.magic = DNS_CATZ_COO_MAGIC,
};
dns_name_init(&ncoo->name, NULL);
dns_name_init(&ncoo->name);
dns_name_dup(domain, mctx, &ncoo->name);
isc_refcount_init(&ncoo->references, 1);
@ -304,7 +307,7 @@ dns_catz_entry_new(isc_mem_t *mctx, const dns_name_t *domain) {
.magic = DNS_CATZ_ENTRY_MAGIC,
};
dns_name_init(&nentry->name, NULL);
dns_name_init(&nentry->name);
if (domain != NULL) {
dns_name_dup(domain, mctx, &nentry->name);
}
@ -557,7 +560,7 @@ dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t *newcatz) {
* record, removed.
* xxxwpk: make it a separate verification phase?
*/
if (dns_name_countlabels(&nentry->name) == 0) {
if (nentry->name.length == 0) {
dns_catz_entry_detach(newcatz, &nentry);
delcur = true;
continue;
@ -839,7 +842,7 @@ dns_catz_zone_new(dns_catz_zones_t *catzs, const dns_name_t *name) {
isc_time_settoepoch(&catz->lastupdated);
dns_catz_options_init(&catz->defoptions);
dns_catz_options_init(&catz->zoneoptions);
dns_name_init(&catz->name, NULL);
dns_name_init(&catz->name);
dns_name_dup(name, catzs->mctx, &catz->name);
return catz;
@ -1154,16 +1157,18 @@ catz_process_zones(dns_catz_zone_t *catz, dns_rdataset_t *value,
REQUIRE(DNS_RDATASET_VALID(value));
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
if (name->labels == 0) {
uint8_t labels = dns_name_countlabels(name);
if (labels == 0) {
return ISC_R_FAILURE;
}
dns_name_getlabel(name, name->labels - 1, &mhash);
dns_name_getlabel(name, labels - 1, &mhash);
if (name->labels == 1) {
if (labels == 1) {
return catz_process_zones_entry(catz, value, &mhash);
} else {
dns_name_init(&opt, NULL);
dns_name_init(&opt);
dns_name_split(name, 1, &opt, NULL);
return catz_process_zones_suboption(catz, value, &mhash, &opt);
}
@ -1405,7 +1410,7 @@ catz_process_primaries(dns_catz_zone_t *catz, dns_ipkeylist_t *ipkl,
* - label and IN A/IN AAAA
* - label and IN TXT - TSIG key name
*/
if (name->labels > 0) {
if (name->length != 0) {
isc_sockaddr_t sockaddr;
size_t i;
@ -1455,7 +1460,7 @@ catz_process_primaries(dns_catz_zone_t *catz, dns_ipkeylist_t *ipkl,
/* rdatastr.length < DNS_NAME_MAXTEXT */
keyname = isc_mem_get(mctx, sizeof(*keyname));
dns_name_init(keyname, 0);
dns_name_init(keyname);
memmove(keycbuf, rdatastr.data, rdatastr.length);
keycbuf[rdatastr.length] = 0;
dns_rdata_freestruct(&rdata_txt);
@ -1496,7 +1501,7 @@ catz_process_primaries(dns_catz_zone_t *catz, dns_ipkeylist_t *ipkl,
ipkl->labels[i] = isc_mem_get(mctx,
sizeof(*ipkl->labels[0]));
dns_name_init(ipkl->labels[i], NULL);
dns_name_init(ipkl->labels[i]);
dns_name_dup(name, mctx, ipkl->labels[i]);
if (value->type == dns_rdatatype_txt) {
@ -1644,10 +1649,12 @@ catz_process_zones_suboption(dns_catz_zone_t *catz, dns_rdataset_t *value,
REQUIRE(DNS_RDATASET_VALID(value));
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
if (name->labels < 1) {
uint8_t labels = dns_name_countlabels(name);
if (labels < 1) {
return ISC_R_FAILURE;
}
dns_name_getlabel(name, name->labels - 1, &option);
dns_name_getlabel(name, labels - 1, &option);
opt = catz_get_option(&option);
/*
@ -1655,11 +1662,11 @@ catz_process_zones_suboption(dns_catz_zone_t *catz, dns_rdataset_t *value,
* "ext" label.
*/
if (catz->version >= 2 && opt >= CATZ_OPT_CUSTOM_START) {
if (opt != CATZ_OPT_EXT || name->labels < 2) {
if (opt != CATZ_OPT_EXT || labels < 2) {
return ISC_R_FAILURE;
}
suffix_labels++;
dns_name_getlabel(name, name->labels - 2, &option);
dns_name_getlabel(name, labels - 2, &option);
opt = catz_get_option(&option);
}
@ -1676,7 +1683,7 @@ catz_process_zones_suboption(dns_catz_zone_t *catz, dns_rdataset_t *value,
}
INSIST(result == ISC_R_SUCCESS);
dns_name_init(&prefix, NULL);
dns_name_init(&prefix);
dns_name_split(name, suffix_labels, &prefix, NULL);
switch (opt) {
case CATZ_OPT_COO:
@ -1684,13 +1691,13 @@ catz_process_zones_suboption(dns_catz_zone_t *catz, dns_rdataset_t *value,
case CATZ_OPT_PRIMARIES:
return catz_process_primaries(catz, &entry->opts.masters, value,
&prefix);
case CATZ_OPT_ALLOW_QUERY:
if (prefix.labels != 0) {
case CATZ_OPT_ALLOW_QUERY:;
if (prefix.length != 0) {
return ISC_R_FAILURE;
}
return catz_process_apl(catz, &entry->opts.allow_query, value);
case CATZ_OPT_ALLOW_TRANSFER:
if (prefix.labels != 0) {
if (prefix.length != 0) {
return ISC_R_FAILURE;
}
return catz_process_apl(catz, &entry->opts.allow_transfer,
@ -1734,10 +1741,12 @@ catz_process_value(dns_catz_zone_t *catz, dns_name_t *name,
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
REQUIRE(DNS_RDATASET_VALID(rdataset));
if (name->labels < 1) {
uint8_t labels = dns_name_countlabels(name);
if (labels < 1) {
return ISC_R_FAILURE;
}
dns_name_getlabel(name, name->labels - 1, &option);
dns_name_getlabel(name, labels - 1, &option);
opt = catz_get_option(&option);
/*
@ -1745,15 +1754,15 @@ catz_process_value(dns_catz_zone_t *catz, dns_name_t *name,
* "ext" label.
*/
if (catz->version >= 2 && opt >= CATZ_OPT_CUSTOM_START) {
if (opt != CATZ_OPT_EXT || name->labels < 2) {
if (opt != CATZ_OPT_EXT || labels < 2) {
return ISC_R_FAILURE;
}
suffix_labels++;
dns_name_getlabel(name, name->labels - 2, &option);
dns_name_getlabel(name, labels - 2, &option);
opt = catz_get_option(&option);
}
dns_name_init(&prefix, NULL);
dns_name_init(&prefix);
dns_name_split(name, suffix_labels, &prefix, NULL);
switch (opt) {
@ -1763,19 +1772,19 @@ catz_process_value(dns_catz_zone_t *catz, dns_name_t *name,
return catz_process_primaries(catz, &catz->zoneoptions.masters,
rdataset, &prefix);
case CATZ_OPT_ALLOW_QUERY:
if (prefix.labels != 0) {
if (prefix.length != 0) {
return ISC_R_FAILURE;
}
return catz_process_apl(catz, &catz->zoneoptions.allow_query,
rdataset);
case CATZ_OPT_ALLOW_TRANSFER:
if (prefix.labels != 0) {
if (prefix.length != 0) {
return ISC_R_FAILURE;
}
return catz_process_apl(catz, &catz->zoneoptions.allow_transfer,
rdataset);
case CATZ_OPT_VERSION:
if (prefix.labels != 0) {
if (prefix.length != 0) {
return ISC_R_FAILURE;
}
return catz_process_version(catz, rdataset);
@ -1841,8 +1850,9 @@ dns__catz_update_process(dns_catz_zone_t *catz, const dns_name_t *src_name,
return ISC_R_UNEXPECTED;
}
dns_name_init(&prefix, NULL);
dns_name_split(src_name, catz->name.labels, &prefix, NULL);
uint8_t labels = dns_name_countlabels(&catz->name);
dns_name_init(&prefix);
dns_name_split(src_name, labels, &prefix, NULL);
result = catz_process_value(catz, &prefix, rdataset);
return result;

View file

@ -569,7 +569,7 @@ client_resfind(resctx_t *rctx, dns_fetchresponse_t *resp) {
dns_name_t *aname = dns_fixedname_name(&rctx->name);
ansname = isc_mem_get(mctx, sizeof(*ansname));
dns_name_init(ansname, NULL);
dns_name_init(ansname);
dns_name_dup(aname, mctx, ansname);

View file

@ -218,13 +218,14 @@ slot_index(dns_compress_t *cctx, unsigned int hash, unsigned int probe) {
}
static bool
insert_label(dns_compress_t *cctx, isc_buffer_t *buffer, const dns_name_t *name,
unsigned int label, uint16_t hash, unsigned int probe) {
insert_label(dns_compress_t *cctx, isc_buffer_t *buffer,
const dns_offsets_t offsets, unsigned int label, uint16_t hash,
unsigned int probe) {
/*
* hash set entries must have valid compression offsets
* and the hash set must not get too full (75% load)
*/
unsigned int prefix_len = name->offsets[label];
unsigned int prefix_len = offsets[label];
unsigned int coff = isc_buffer_usedlength(buffer) + prefix_len;
if (coff >= 0x4000 || cctx->count > cctx->mask * 3 / 4) {
return false;
@ -253,17 +254,18 @@ insert_label(dns_compress_t *cctx, isc_buffer_t *buffer, const dns_name_t *name,
*/
static void
insert(dns_compress_t *cctx, isc_buffer_t *buffer, const dns_name_t *name,
unsigned int label, uint16_t hash, unsigned int probe) {
const dns_offsets_t offsets, unsigned int label, uint16_t hash,
unsigned int probe) {
bool sensitive = (cctx->flags & DNS_COMPRESS_CASE) != 0;
/*
* this insertion loop continues from the search loop inside
* dns_compress_name() below, iterating over the remaining labels
* of the name and accumulating the hash in the same manner
*/
while (insert_label(cctx, buffer, name, label, hash, probe) &&
while (insert_label(cctx, buffer, offsets, label, hash, probe) &&
label-- > 0)
{
unsigned int prefix_len = name->offsets[label];
unsigned int prefix_len = offsets[label];
uint8_t *suffix_ptr = name->ndata + prefix_len;
hash = hash_label(hash, suffix_ptr, sensitive);
probe = 0;
@ -277,8 +279,6 @@ dns_compress_name(dns_compress_t *cctx, isc_buffer_t *buffer,
REQUIRE(CCTX_VALID(cctx));
REQUIRE(ISC_BUFFER_VALID(buffer));
REQUIRE(dns_name_isabsolute(name));
REQUIRE(name->labels > 0);
REQUIRE(name->offsets != NULL);
REQUIRE(return_prefix != NULL);
REQUIRE(return_coff != NULL);
REQUIRE(*return_coff == 0);
@ -287,17 +287,21 @@ dns_compress_name(dns_compress_t *cctx, isc_buffer_t *buffer,
return;
}
dns_offsets_t offsets;
size_t labels = dns_name_offsets(name, offsets);
INSIST(labels > 0);
bool sensitive = (cctx->flags & DNS_COMPRESS_CASE) != 0;
uint16_t hash = HASH_INIT_DJB2;
unsigned int label = name->labels - 1; /* skip the root label */
size_t label = labels - 1; /* skip the root label */
/*
* find out how much of the name's suffix is in the hash set,
* stepping backwards from the end one label at a time
*/
while (label-- > 0) {
unsigned int prefix_len = name->offsets[label];
unsigned int prefix_len = offsets[label];
unsigned int suffix_len = name->length - prefix_len;
uint8_t *suffix_ptr = name->ndata + prefix_len;
hash = hash_label(hash, suffix_ptr, sensitive);
@ -313,7 +317,8 @@ dns_compress_name(dns_compress_t *cctx, isc_buffer_t *buffer,
* the rest of the name (its prefix) into the set
*/
if (coff == 0 || probe > probe_distance(cctx, slot)) {
insert(cctx, buffer, name, label, hash, probe);
insert(cctx, buffer, name, offsets, label, hash,
probe);
return;
}

View file

@ -71,7 +71,7 @@ dns_difftuple_create(isc_mem_t *mctx, dns_diffop_t op, const dns_name_t *name,
datap = (unsigned char *)(t + 1);
memmove(datap, name->ndata, name->length);
dns_name_init(&t->name, NULL);
dns_name_init(&t->name);
dns_name_clone(name, &t->name);
t->name.ndata = datap;
datap += name->length;

View file

@ -167,8 +167,8 @@ digest_sig(dst_context_t *ctx, bool downcase, dns_rdata_t *sigrdata,
dns_fixedname_init(&fname);
RUNTIME_CHECK(dns_name_downcase(&rrsig->signer,
dns_fixedname_name(&fname),
NULL) == ISC_R_SUCCESS);
dns_fixedname_name(&fname)) ==
ISC_R_SUCCESS);
dns_name_toregion(dns_fixedname_name(&fname), &r);
} else {
dns_name_toregion(&rrsig->signer, &r);
@ -228,11 +228,11 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
/*
* Downcase signer.
*/
dns_name_init(&sig.signer, NULL);
dns_name_init(&sig.signer);
dns_fixedname_init(&fsigner);
RUNTIME_CHECK(dns_name_downcase(dst_key_name(key),
dns_fixedname_name(&fsigner),
NULL) == ISC_R_SUCCESS);
dns_fixedname_name(&fsigner)) ==
ISC_R_SUCCESS);
dns_name_clone(dns_fixedname_name(&fsigner), &sig.signer);
sig.covered = set->type;
@ -280,8 +280,8 @@ dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
}
dns_fixedname_init(&fnewname);
RUNTIME_CHECK(dns_name_downcase(name, dns_fixedname_name(&fnewname),
NULL) == ISC_R_SUCCESS);
RUNTIME_CHECK(dns_name_downcase(name, dns_fixedname_name(&fnewname)) ==
ISC_R_SUCCESS);
dns_name_toregion(dns_fixedname_name(&fnewname), &r);
/*
@ -479,8 +479,8 @@ again:
*/
dns_fixedname_init(&fnewname);
labels = dns_name_countlabels(name) - 1;
RUNTIME_CHECK(dns_name_downcase(name, dns_fixedname_name(&fnewname),
NULL) == ISC_R_SUCCESS);
RUNTIME_CHECK(dns_name_downcase(name, dns_fixedname_name(&fnewname)) ==
ISC_R_SUCCESS);
if (labels - sig.labels > 0) {
dns_name_split(dns_fixedname_name(&fnewname), sig.labels + 1,
NULL, dns_fixedname_name(&fnewname));
@ -803,7 +803,7 @@ dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key) {
sig.keyid = dst_key_id(key);
dns_name_init(&sig.signer, NULL);
dns_name_init(&sig.signer);
dns_name_clone(dst_key_name(key), &sig.signer);
sig.siglen = 0;

View file

@ -67,7 +67,7 @@ dns_ds_fromkeyrdata(const dns_name_t *owner, dns_rdata_t *key,
}
name = dns_fixedname_initname(&fname);
(void)dns_name_downcase(owner, name, NULL);
(void)dns_name_downcase(owner, name);
md = isc_md_new();

View file

@ -1534,7 +1534,7 @@ get_key_struct(const dns_name_t *name, unsigned int alg, unsigned int flags,
.func = dst_t_func[alg],
};
dns_name_init(key->key_name, NULL);
dns_name_init(key->key_name);
dns_name_dup(name, mctx, key->key_name);
isc_refcount_init(&key->refs, 1);

View file

@ -17,7 +17,7 @@
void
dns_fixedname_init(dns_fixedname_t *fixed) {
dns_name_init(&fixed->name, fixed->offsets);
dns_name_init(&fixed->name);
isc_buffer_init(&fixed->buffer, fixed->data, DNS_NAME_MAXWIRE);
dns_name_setbuffer(&fixed->name, &fixed->buffer);
}

View file

@ -81,7 +81,7 @@ new_forwarders(isc_mem_t *mctx, const dns_name_t *name,
isc_mem_attach(mctx, &forwarders->mctx);
isc_refcount_init(&forwarders->references, 1);
dns_name_dupwithoffsets(name, mctx, &forwarders->name);
dns_name_dup(name, mctx, &forwarders->name);
return forwarders;
}
@ -107,7 +107,7 @@ dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t *name,
if (fwd->tlsname != NULL) {
nfwd->tlsname = isc_mem_get(fwdtable->mctx,
sizeof(*nfwd->tlsname));
dns_name_init(nfwd->tlsname, NULL);
dns_name_init(nfwd->tlsname);
dns_name_dup(fwd->tlsname, fwdtable->mctx,
nfwd->tlsname);
}

View file

@ -110,7 +110,7 @@ name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer,
namep = name;
} else {
unsigned int labels;
dns_name_init(&tname, NULL);
dns_name_init(&tname);
labels = dns_name_countlabels(name);
dns_name_getlabelsequence(name, 0, labels - 1, &tname);
namep = &tname;

View file

@ -59,7 +59,6 @@
struct dns_fixedname {
dns_name_t name;
dns_offsets_t offsets;
isc_buffer_t buffer;
unsigned char data[DNS_NAME_MAXWIRE];
};

View file

@ -61,7 +61,7 @@
*
* The same applies to rdatasets.
*
* On the other hand, offsets, rdatalists and rdatas allocated using
* On the other hand, rdatalists and rdatas allocated using
* dns_message_gettemp*() will always be freed automatically
* when the message is reset or destroyed; calling dns_message_puttemp*()
* on rdatalists and rdatas is optional and serves only to enable the item
@ -275,7 +275,6 @@ struct dns_message {
ISC_LIST(dns_msgblock_t) rdatas;
ISC_LIST(dns_msgblock_t) rdatalists;
ISC_LIST(dns_msgblock_t) offsets;
ISC_LIST(dns_rdata_t) freerdata;
ISC_LIST(dns_rdatalist_t) freerdatalist;

View file

@ -67,6 +67,7 @@
#include <stdbool.h>
#include <stdio.h>
#include <isc/attributes.h>
#include <isc/buffer.h>
#include <isc/hashmap.h>
#include <isc/magic.h>
@ -95,12 +96,10 @@
struct dns_name {
unsigned int magic;
uint8_t length;
uint8_t labels;
struct dns_name_attrs {
bool absolute : 1; /*%< Used by name.c */
bool readonly : 1; /*%< Used by name.c */
bool dynamic : 1; /*%< Used by name.c */
bool dynoffsets : 1; /*%< Used by name.c */
bool nocompress : 1; /*%< Used by name.c */
bool cache : 1; /*%< Used by resolver. */
bool answer : 1; /*%< Used by resolver. */
@ -113,7 +112,6 @@ struct dns_name {
bool hasupdaterec : 1; /*%< Used by client. */
} attributes;
unsigned char *ndata;
unsigned char *offsets;
isc_buffer_t *buffer;
ISC_LINK(dns_name_t) link;
ISC_LIST(dns_rdataset_t) list;
@ -151,38 +149,29 @@ extern const dns_name_t *dns_wildcardname;
* 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);
* dns_name_t value = DNS_NAME_INITNONABSOLUTE(data);
*
* unsigned char data[] = "\005value";
* unsigned char offsets[] = { 0, 6 };
* dns_name_t value = DNS_NAME_INITABSOLUTE(data, offsets);
* dns_name_t value = DNS_NAME_INITABSOLUTE(data);
*/
#define DNS_NAME_INITNONABSOLUTE(A, B) \
#define DNS_NAME_INITNONABSOLUTE(__ndata) \
{ \
.magic = DNS_NAME_MAGIC, \
.ndata = A, \
.length = (sizeof(A) - 1), \
.labels = sizeof(B), \
.ndata = (__ndata), \
.length = (sizeof(__ndata) - 1), \
.attributes = { .readonly = true }, \
.offsets = B, \
.link = ISC_LINK_INITIALIZER, \
.list = ISC_LIST_INITIALIZER, \
}
#define DNS_NAME_INITABSOLUTE(A, B) \
#define DNS_NAME_INITABSOLUTE(__ndata) \
{ \
.magic = DNS_NAME_MAGIC, \
.ndata = A, \
.length = sizeof(A), \
.labels = sizeof(B), \
.ndata = (__ndata), \
.length = sizeof(__ndata), \
.attributes = { .readonly = true, .absolute = true }, \
.offsets = B, \
.link = ISC_LINK_INITIALIZER, \
.list = ISC_LIST_INITIALIZER, \
}
@ -199,7 +188,7 @@ extern const dns_name_t *dns_wildcardname;
#define DNS_NAME_MAXLABELS 128
#define DNS_NAME_LABELLEN 63
typedef unsigned char dns_offsets_t[DNS_NAME_MAXLABELS];
typedef uint8_t dns_offsets_t[DNS_NAME_MAXLABELS];
/*
* Text output filter procedure.
@ -214,10 +203,9 @@ typedef isc_result_t(dns_name_totextfilter_t)(isc_buffer_t *target,
***/
static inline void
dns_name_init(dns_name_t *name, unsigned char *offsets) {
dns_name_init(dns_name_t *name) {
*name = (dns_name_t){
.magic = DNS_NAME_MAGIC,
.offsets = (offsets),
.link = ISC_LINK_INITIALIZER,
.list = ISC_LIST_INITIALIZER,
};
@ -225,16 +213,9 @@ dns_name_init(dns_name_t *name, unsigned char *offsets) {
/*%<
* Initialize 'name'.
*
* Notes:
* \li 'offsets' is never required to be non-NULL, but specifying a
* dns_offsets_t for 'offsets' will improve the performance of most
* name operations if the name is used more than once.
*
* Requires:
* \li 'name' is not NULL and points to a struct dns_name.
*
* \li offsets == NULL or offsets is a dns_offsets_t.
*
* Ensures:
* \li 'name' is a valid name.
* \li dns_name_countlabels(name) == 0
@ -248,7 +229,6 @@ dns_name_reset(dns_name_t *name) {
name->ndata = NULL;
name->length = 0;
name->labels = 0;
name->attributes.absolute = false;
if (name->buffer != NULL) {
isc_buffer_clear(name->buffer);
@ -284,9 +264,7 @@ dns_name_invalidate(dns_name_t *name) {
name->magic = 0;
name->ndata = NULL;
name->length = 0;
name->labels = 0;
name->attributes = (struct dns_name_attrs){};
name->offsets = NULL;
name->buffer = NULL;
ISC_LINK_INIT(name, link);
}
@ -485,8 +463,6 @@ dns_name_equal(const dns_name_t *name1, const dns_name_t *name2);
* \li Because it only needs to test for equality, dns_name_equal() can be
* significantly faster than dns_name_fullcompare() or dns_name_compare().
*
* \li Offsets tables are not used in the comparison.
*
* \li It makes no sense for one of the names to be relative and the
* other absolute. If both names are relative, then to be meaningfully
* compared the caller must ensure that they are both relative to the
@ -594,12 +570,28 @@ dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname);
*** Labels
***/
static inline unsigned int
uint8_t
dns_name_offsets(const dns_name_t *name, dns_offsets_t offsets);
/*%<
* Returns the number of the labels in the DNS name and optionally fills their
* offsets into the table.
*
* Requires:
*\li 'name' is a valid DNS name
*
* Returns:
*\li number of labels in the DNS name
*
* Note:
*\li if the 'offsets' is non-NULL, it will fill the offsets of
* individual labels in the name
*/
static inline uint8_t
dns_name_countlabels(const dns_name_t *name) {
REQUIRE(DNS_NAME_VALID(name));
REQUIRE(name->labels <= DNS_NAME_MAXLABELS);
return name->labels;
return dns_name_offsets(name, NULL);
}
/*%<
* How many labels does 'name' have?
@ -793,8 +785,6 @@ dns_name_towire(const dns_name_t *name, dns_compress_t *cctx,
*
* \li target is a valid buffer.
*
* \li Any offsets in the compression table are valid for buffer.
*
* Ensures:
*
* If the result is success:
@ -947,8 +937,7 @@ dns_name_tofilenametext(const dns_name_t *name, bool omit_final_dot,
*/
isc_result_t
dns_name_downcase(const dns_name_t *source, dns_name_t *name,
isc_buffer_t *target);
dns_name_downcase(const dns_name_t *source, dns_name_t *name);
/*%<
* Downcase 'source'.
*
@ -959,9 +948,7 @@ dns_name_downcase(const dns_name_t *source, dns_name_t *name,
*\li If source == name, then
* 'source' must not be read-only
*
*\li Otherwise,
* 'target' is a valid buffer or 'target' is NULL and
* 'name' has a dedicated buffer.
*\li 'name' has a dedicated buffer.
*
* Returns:
*\li #ISC_R_SUCCESS
@ -1007,19 +994,21 @@ dns_name_split(const dns_name_t *name, unsigned int suffixlabels,
dns_name_t *prefix, dns_name_t *suffix) {
REQUIRE(DNS_NAME_VALID(name));
REQUIRE(suffixlabels > 0);
REQUIRE(suffixlabels <= name->labels);
REQUIRE(prefix != NULL || suffix != NULL);
REQUIRE(prefix == NULL ||
(DNS_NAME_VALID(prefix) && DNS_NAME_BINDABLE(prefix)));
REQUIRE(suffix == NULL ||
(DNS_NAME_VALID(suffix) && DNS_NAME_BINDABLE(suffix)));
uint8_t labels = dns_name_countlabels(name);
INSIST(suffixlabels <= labels);
if (prefix != NULL) {
dns_name_getlabelsequence(name, 0, name->labels - suffixlabels,
dns_name_getlabelsequence(name, 0, labels - suffixlabels,
prefix);
}
if (suffix != NULL) {
dns_name_getlabelsequence(name, name->labels - suffixlabels,
dns_name_getlabelsequence(name, labels - suffixlabels,
suffixlabels, suffix);
}
}
@ -1081,24 +1070,6 @@ dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, dns_name_t *target);
*\li 'mctx' is a valid memory context.
*/
void
dns_name_dupwithoffsets(const dns_name_t *source, isc_mem_t *mctx,
dns_name_t *target);
/*%<
* Make 'target' a read-only dynamically allocated copy of 'source'.
* 'target' will also have a dynamically allocated offsets table.
*
* Requires:
*
*\li 'source' is a valid non-empty name.
*
*\li 'target' is a valid name that is not read-only.
*
*\li 'target' has no offsets table.
*
*\li 'mctx' is a valid memory context.
*/
void
dns_name_free(dns_name_t *name, isc_mem_t *mctx);
/*%<

View file

@ -122,7 +122,7 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src,
if (src->keys[i] != NULL) {
dst->keys[i] = isc_mem_get(mctx,
sizeof(dns_name_t));
dns_name_init(dst->keys[i], NULL);
dns_name_init(dst->keys[i]);
dns_name_dup(src->keys[i], mctx, dst->keys[i]);
} else {
dst->keys[i] = NULL;
@ -135,7 +135,7 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src,
if (src->tlss[i] != NULL) {
dst->tlss[i] = isc_mem_get(mctx,
sizeof(dns_name_t));
dns_name_init(dst->tlss[i], NULL);
dns_name_init(dst->tlss[i]);
dns_name_dup(src->tlss[i], mctx, dst->tlss[i]);
} else {
dst->tlss[i] = NULL;
@ -148,7 +148,7 @@ dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t *src,
if (src->labels[i] != NULL) {
dst->labels[i] =
isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(dst->labels[i], NULL);
dns_name_init(dst->labels[i]);
dns_name_dup(src->labels[i], mctx,
dst->labels[i]);
} else {

View file

@ -723,7 +723,7 @@ journal_open(isc_mem_t *mctx, const char *filename, bool writable, bool create,
/*
* Initialize the iterator.
*/
dns_name_init(&j->it.name, NULL);
dns_name_init(&j->it.name);
dns_rdata_init(&j->it.rdata);
/*

View file

@ -319,7 +319,7 @@ new_keynode(const dns_name_t *name, dns_rdata_ds_t *ds,
isc_refcount_init(&knode->references, 1);
isc_rwlock_init(&knode->rwlock);
dns_name_dupwithoffsets(name, keytable->mctx, &knode->name);
dns_name_dup(name, keytable->mctx, &knode->name);
/*
* If a DS was supplied, initialize an rdatalist.

View file

@ -324,19 +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 unsigned char in_addr_arpa_offsets[] = { 0, 8, 13 };
static dns_name_t const in_addr_arpa =
DNS_NAME_INITABSOLUTE(in_addr_arpa_data, in_addr_arpa_offsets);
static dns_name_t const in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data);
static unsigned char ip6_int_data[] = "\003IP6\003INT";
static unsigned char ip6_int_offsets[] = { 0, 4, 8 };
static dns_name_t const ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data,
ip6_int_offsets);
static dns_name_t const ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data);
static unsigned char ip6_arpa_data[] = "\003IP6\004ARPA";
static unsigned char ip6_arpa_offsets[] = { 0, 4, 9 };
static dns_name_t const ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data,
ip6_arpa_offsets);
static dns_name_t const ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
static bool
dns_master_isprimary(dns_loadctx_t *lctx) {
@ -2969,7 +2963,7 @@ is_glue(rdatalist_head_t *head, dns_name_t *owner) {
rdata = ISC_LIST_HEAD(this->rdata);
while (rdata != NULL) {
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
if (dns_name_equal(&name, owner)) {

View file

@ -511,7 +511,7 @@ ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot,
char *start = NULL;
dns_rdataset_init(&rds);
dns_name_init(&name, NULL);
dns_name_init(&name);
do {
dns_ncache_current(rdataset, &name, &rds);

View file

@ -366,24 +366,6 @@ out:
return rdatalist;
}
static dns_offsets_t *
newoffsets(dns_message_t *msg) {
dns_msgblock_t *msgblock;
dns_offsets_t *offsets;
msgblock = ISC_LIST_TAIL(msg->offsets);
offsets = msgblock_get(msgblock, dns_offsets_t);
if (offsets == NULL) {
msgblock = msgblock_allocate(msg->mctx, sizeof(dns_offsets_t),
OFFSET_COUNT);
ISC_LIST_APPEND(msg->offsets, msgblock, link);
offsets = msgblock_get(msgblock, dns_offsets_t);
}
return offsets;
}
static void
msginitheader(dns_message_t *m) {
m->id = 0;
@ -608,18 +590,6 @@ msgreset(dns_message_t *msg, bool everything) {
msgblock = next_msgblock;
}
msgblock = ISC_LIST_HEAD(msg->offsets);
if (!everything && msgblock != NULL) {
msgblock_reset(msgblock);
msgblock = ISC_LIST_NEXT(msgblock, link);
}
while (msgblock != NULL) {
next_msgblock = ISC_LIST_NEXT(msgblock, link);
ISC_LIST_UNLINK(msg->offsets, msgblock, link);
msgblock_free(msg->mctx, msgblock, sizeof(dns_offsets_t));
msgblock = next_msgblock;
}
if (msg->tsigkey != NULL) {
dns_tsigkey_detach(&msg->tsigkey);
msg->tsigkey = NULL;
@ -726,7 +696,6 @@ dns_message_create(isc_mem_t *mctx, isc_mempool_t *namepool,
.cleanup = ISC_LIST_INITIALIZER,
.rdatas = ISC_LIST_INITIALIZER,
.rdatalists = ISC_LIST_INITIALIZER,
.offsets = ISC_LIST_INITIALIZER,
.freerdata = ISC_LIST_INITIALIZER,
.freerdatalist = ISC_LIST_INITIALIZER,
.magic = DNS_MESSAGE_MAGIC,
@ -981,7 +950,6 @@ getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t dctx,
for (count = 0; count < msg->counts[DNS_SECTION_QUESTION]; count++) {
name = NULL;
dns_message_gettempname(msg, &name);
name->offsets = (unsigned char *)newoffsets(msg);
free_name = true;
/*
@ -1121,7 +1089,6 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t dctx,
name = NULL;
dns_message_gettempname(msg, &name);
name->offsets = (unsigned char *)newoffsets(msg);
free_name = true;
/*
@ -3330,7 +3297,7 @@ dns_message_sectiontotext(dns_message_t *msg, dns_section_t section,
ADD_STRING(target, " SECTION:\n");
}
dns_name_init(&empty_name, NULL);
dns_name_init(&empty_name);
result = dns_message_firstname(msg, section);
if (result != ISC_R_SUCCESS) {
goto cleanup;
@ -4867,7 +4834,7 @@ rdataset_soa_min(dns_rdataset_t *rds, dns_ttl_t *ttlp) {
* whether it's an SOA.
*/
dns_rdata_toregion(&rdata, &r);
dns_name_init(&tmp, NULL);
dns_name_init(&tmp);
dns_name_fromregion(&tmp, &r);
isc_region_consume(&r, tmp.length);
if (r.length < 2) {

File diff suppressed because it is too large Load diff

View file

@ -126,7 +126,7 @@ newnode(isc_mem_t *mctx, const dns_name_t *name) {
isc_mem_attach(mctx, &node->mctx);
isc_refcount_init(&node->references, 1);
dns_name_dupwithoffsets(name, mctx, &node->name);
dns_name_dup(name, mctx, &node->name);
return node;
}

View file

@ -322,7 +322,7 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx,
dns_rdataset_current(rdataset, &rdata);
isc_buffer_init(&source, rdata.data, rdata.length);
isc_buffer_add(&source, rdata.length);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_remainingregion(&source, &remaining);
dns_name_fromregion(&name, &remaining);
INSIST(remaining.length >= name.length);
@ -545,7 +545,7 @@ dns_ncache_getrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
dns_rdataset_current(&rclone, &rdata);
isc_buffer_init(&source, rdata.data, rdata.length);
isc_buffer_add(&source, rdata.length);
dns_name_init(&tname, NULL);
dns_name_init(&tname);
isc_buffer_remainingregion(&source, &remaining);
dns_name_fromregion(&tname, &remaining);
INSIST(remaining.length >= tname.length);
@ -615,7 +615,7 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
dns_rdataset_current(&rclone, &rdata);
isc_buffer_init(&source, rdata.data, rdata.length);
isc_buffer_add(&source, rdata.length);
dns_name_init(&tname, NULL);
dns_name_init(&tname);
isc_buffer_remainingregion(&source, &remaining);
dns_name_fromregion(&tname, &remaining);
INSIST(remaining.length >= tname.length);
@ -704,7 +704,7 @@ dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found,
isc_buffer_init(&source, rdata.data, rdata.length);
isc_buffer_add(&source, rdata.length);
dns_name_init(&tname, NULL);
dns_name_init(&tname);
isc_buffer_remainingregion(&source, &remaining);
dns_name_fromregion(found, &remaining);
INSIST(remaining.length >= found->length);

View file

@ -473,7 +473,7 @@ dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t *name,
}
if (wild != NULL) {
dns_name_t common;
dns_name_init(&common, NULL);
dns_name_init(&common);
if (olabels > nlabels) {
labels = dns_name_countlabels(nsecname);
dns_name_getlabelsequence(nsecname, labels - olabels,

View file

@ -261,7 +261,7 @@ dns_nsec3_hashname(dns_fixedname_t *result,
memset(rethash, 0, NSEC3_MAX_HASH_LENGTH);
downcased = dns_fixedname_initname(&fixed);
dns_name_downcase(name, downcased, NULL);
dns_name_downcase(name, downcased);
/* hash the node name */
len = isc_iterated_hash(rethash, hashalg, iterations, salt,
@ -757,7 +757,7 @@ addnsec3:
/*
* Add missing NSEC3 records for empty nodes
*/
dns_name_init(&empty, NULL);
dns_name_init(&empty);
dns_name_clone(name, &empty);
do {
labels = dns_name_countlabels(&empty) - 1;
@ -1114,7 +1114,7 @@ dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver,
dns_name_t *origin = dns_zone_getorigin(zone);
dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone);
dns_name_init(&next, NULL);
dns_name_init(&next);
dns_rdataset_init(&rdataset);
result = dns_db_getoriginnode(db, &node);
@ -1536,7 +1536,7 @@ dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version,
* Delete NSEC3 records for now non active nodes.
*/
cleanup_orphaned_ents:
dns_name_init(&empty, NULL);
dns_name_init(&empty);
dns_name_clone(name, &empty);
do {
labels = dns_name_countlabels(&empty) - 1;
@ -2022,7 +2022,7 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name,
* Prepare to compute all the hashes.
*/
qname = dns_fixedname_initname(&qfixed);
dns_name_downcase(name, qname, NULL);
dns_name_downcase(name, qname);
qlabels = dns_name_countlabels(qname);
first = true;

View file

@ -289,7 +289,7 @@ nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,
isc_refcount_init(&nta->references, 1);
dns_name_dupwithoffsets(name, nta->mctx, &nta->name);
dns_name_dup(name, nta->mctx, &nta->name);
*target = nta;
}

View file

@ -513,7 +513,7 @@ dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval) {
name = isc_mem_get(peer->mem, sizeof(dns_name_t));
dns_name_init(name, NULL);
dns_name_init(name);
dns_name_dup(dns_fixedname_name(&fname), peer->mem, name);
result = dns_peer_setkey(peer, &name);

View file

@ -215,26 +215,20 @@ dns__qp_shutdown(void) {
*/
size_t
dns_qpkey_fromname(dns_qpkey_t key, const dns_name_t *name) {
size_t len, label;
dns_fixedname_t fixed;
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
if (name->labels == 0) {
dns_offsets_t offsets;
size_t labels = dns_name_offsets(name, offsets);
if (labels == 0) {
key[0] = SHIFT_NOBYTE;
return 0;
}
if (name->offsets == NULL) {
dns_name_t *clone = dns_fixedname_initname(&fixed);
dns_name_clone(name, clone);
name = clone;
}
len = 0;
label = name->labels;
size_t len = 0;
size_t label = labels;
while (label-- > 0) {
const uint8_t *ldata = name->ndata + name->offsets[label];
const uint8_t *ldata = name->ndata + offsets[label];
size_t label_len = *ldata++;
while (label_len-- > 0) {
uint16_t bits = dns_qp_bits_for_byte[*ldata++];
@ -255,12 +249,11 @@ dns_qpkey_fromname(dns_qpkey_t key, const dns_name_t *name) {
void
dns_qpkey_toname(const dns_qpkey_t key, size_t keylen, dns_name_t *name) {
size_t locs[DNS_NAME_MAXLABELS];
size_t loc = 0, opos = 0;
size_t loc = 0;
size_t offset;
REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
REQUIRE(name->buffer != NULL);
REQUIRE(name->offsets != NULL);
dns_name_reset(name);
@ -293,14 +286,15 @@ scanned:
* we step backward through the label boundaries, then forward
* through the labels, to create the DNS wire format data.
*/
name->labels = loc;
while (loc-- > 0) {
uint8_t len = 0, *lenp = NULL;
/* Add a length byte to the name data and set an offset */
/* Store the location of the length byte */
lenp = isc_buffer_used(name->buffer);
/* Add a length byte to the name data */
isc_buffer_putuint8(name->buffer, 0);
name->offsets[opos++] = name->length++;
name->length++;
/* Convert from escaped byte ranges to ASCII */
for (offset = locs[loc]; offset < locs[loc + 1] - 1; offset++) {
@ -316,6 +310,8 @@ scanned:
}
name->length += len;
/* Write the final label length to the length byte */
*lenp = len;
}
@ -323,8 +319,7 @@ scanned:
if (key[0] == SHIFT_NOBYTE) {
name->attributes.absolute = true;
isc_buffer_putuint8(name->buffer, 0);
name->offsets[opos++] = name->length++;
name->labels++;
name->length++;
}
name->ndata = isc_buffer_base(name->buffer);

View file

@ -2553,7 +2553,7 @@ new_qpcnode(qpcache_t *qpdb, const dns_name_t *name) {
};
isc_mem_attach(qpdb->common.mctx, &newdata->mctx);
dns_name_dupwithoffsets(name, newdata->mctx, &newdata->name);
dns_name_dup(name, newdata->mctx, &newdata->name);
#ifdef DNS_DB_NODETRACE
fprintf(stderr, "new_qpcnode:%s:%s:%d:%p->references = 1\n", __func__,
@ -3493,7 +3493,7 @@ dns__qpcache_create(isc_mem_t *mctx, const dns_name_t *origin,
/*
* Make a copy of the origin name.
*/
dns_name_dupwithoffsets(origin, mctx, &qpdb->common.origin);
dns_name_dup(origin, mctx, &qpdb->common.origin);
/*
* Make the qp tries.

View file

@ -599,7 +599,7 @@ new_qpznode(qpzonedb_t *qpdb, const dns_name_t *name) {
};
isc_mem_attach(qpdb->common.mctx, &newdata->mctx);
dns_name_dupwithoffsets(name, qpdb->common.mctx, &newdata->name);
dns_name_dup(name, qpdb->common.mctx, &newdata->name);
#if DNS_DB_NODETRACE
fprintf(stderr, "new_qpznode:%s:%s:%d:%p->references = 1\n", __func__,
@ -676,7 +676,7 @@ dns__qpzone_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
/*
* Make a copy of the origin name.
*/
dns_name_dupwithoffsets(origin, mctx, &qpdb->common.origin);
dns_name_dup(origin, mctx, &qpdb->common.origin);
dns_qpmulti_create(mctx, &qpmethods, qpdb, &qpdb->tree);
dns_qpmulti_create(mctx, &qpmethods, qpdb, &qpdb->nsec);
@ -2153,11 +2153,10 @@ static void
wildcardmagic(qpzonedb_t *qpdb, dns_qp_t *qp, const dns_name_t *name) {
isc_result_t result;
dns_name_t foundname;
dns_offsets_t offsets;
unsigned int n;
qpznode_t *node = NULL;
dns_name_init(&foundname, offsets);
dns_name_init(&foundname);
n = dns_name_countlabels(name);
INSIST(n >= 2);
n--;
@ -2179,10 +2178,9 @@ wildcardmagic(qpzonedb_t *qpdb, dns_qp_t *qp, const dns_name_t *name) {
static void
addwildcards(qpzonedb_t *qpdb, dns_qp_t *qp, const dns_name_t *name) {
dns_name_t foundname;
dns_offsets_t offsets;
unsigned int n, l, i;
dns_name_init(&foundname, offsets);
dns_name_init(&foundname);
n = dns_name_countlabels(name);
l = dns_name_countlabels(&qpdb->common.origin);
i = l + 1;
@ -2850,9 +2848,9 @@ wildcard_blocked(qpz_search_t *search, const dns_name_t *qname,
bool check_prev = false;
unsigned int n;
dns_name_init(&name, NULL);
dns_name_init(&tname, NULL);
dns_name_init(&rname, NULL);
dns_name_init(&name);
dns_name_init(&tname);
dns_name_init(&rname);
next = dns_fixedname_initname(&fnext);
prev = dns_fixedname_initname(&fprev);

View file

@ -343,10 +343,8 @@ generic_rdata_in_svcb_current(dns_rdata_in_svcb_t *, isc_region_t *);
* Active Directory gc._msdcs.<forest> prefix.
*/
static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs";
static unsigned char gc_msdcs_offset[] = { 0, 3 };
static dns_name_t const gc_msdcs = DNS_NAME_INITNONABSOLUTE(gc_msdcs_data,
gc_msdcs_offset);
static dns_name_t const gc_msdcs = DNS_NAME_INITNONABSOLUTE(gc_msdcs_data);
/*%
* convert presentation level address to network order binary form.

View file

@ -39,7 +39,7 @@ fromtext_any_tsig(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -151,8 +151,8 @@ totext_any_tsig(ARGS_TOTEXT) {
/*
* Algorithm Name.
*/
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_name_fromregion(&name, &sr);
opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
: 0;
@ -270,7 +270,7 @@ fromwire_any_tsig(ARGS_FROMWIRE) {
/*
* Algorithm Name.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
isc_buffer_activeregion(source, &sr);
@ -326,7 +326,6 @@ static isc_result_t
towire_any_tsig(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_tsig);
REQUIRE(rdata->rdclass == dns_rdataclass_any);
@ -334,7 +333,7 @@ towire_any_tsig(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, false);
dns_rdata_toregion(rdata, &sr);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
RETERR(dns_name_towire(&name, cctx, target, NULL));
isc_region_consume(&sr, name_length(&name));
@ -358,8 +357,8 @@ compare_any_tsig(ARGS_COMPARE) {
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &r1);
dns_name_fromregion(&name2, &r2);
order = dns_name_rdatacompare(&name1, &name2);
@ -463,9 +462,9 @@ tostruct_any_tsig(ARGS_TOSTRUCT) {
/*
* Algorithm Name.
*/
dns_name_init(&alg, NULL);
dns_name_init(&alg);
dns_name_fromregion(&alg, &sr);
dns_name_init(&tsig->algorithm, NULL);
dns_name_init(&tsig->algorithm);
name_duporclone(&alg, mctx, &tsig->algorithm);
isc_region_consume(&sr, name_length(&tsig->algorithm));

View file

@ -37,7 +37,7 @@ fromtext_ch_a(ARGS_FROMTEXT) {
false));
/* get domain name */
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -77,8 +77,8 @@ totext_ch_a(ARGS_TOTEXT) {
REQUIRE(rdata->rdclass == dns_rdataclass_ch); /* 3 */
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -108,7 +108,7 @@ fromwire_ch_a(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
@ -131,7 +131,6 @@ fromwire_ch_a(ARGS_FROMWIRE) {
static isc_result_t
towire_ch_a(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t sregion;
isc_region_t tregion;
@ -141,7 +140,7 @@ towire_ch_a(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &sregion);
@ -174,8 +173,8 @@ compare_ch_a(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -232,11 +231,11 @@ tostruct_ch_a(ARGS_TOSTRUCT) {
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&a->ch_addr_dom, NULL);
dns_name_init(&a->ch_addr_dom);
name_duporclone(&name, mctx, &a->ch_addr_dom);
a->ch_addr = htons(uint16_fromregion(&region));
a->mctx = mctx;
@ -280,7 +279,7 @@ digest_ch_a(ARGS_DIGEST) {
REQUIRE(rdata->rdclass == dns_rdataclass_ch);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
isc_region_consume(&r, name_length(&name));
RETERR(dns_name_digest(&name, digest, arg));
@ -308,7 +307,7 @@ checknames_ch_a(ARGS_CHECKNAMES) {
UNUSED(owner);
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -46,7 +46,7 @@ fromtext_afsdb(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -76,8 +76,8 @@ totext_afsdb(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_afsdb);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
num = uint16_fromregion(&region);
@ -103,7 +103,7 @@ fromwire_afsdb(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &sr);
isc_buffer_availableregion(target, &tr);
@ -124,7 +124,6 @@ towire_afsdb(ARGS_TOWIRE) {
isc_region_t tr;
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_afsdb);
REQUIRE(rdata->length != 0);
@ -139,7 +138,7 @@ towire_afsdb(ARGS_TOWIRE) {
isc_region_consume(&sr, 2);
isc_buffer_add(target, 2);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
return dns_name_towire(&name, cctx, target, NULL);
@ -164,8 +163,8 @@ compare_afsdb(ARGS_COMPARE) {
return result < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -211,14 +210,14 @@ tostruct_afsdb(ARGS_TOSTRUCT) {
afsdb->common.rdtype = rdata->type;
ISC_LINK_INIT(&afsdb->common, link);
dns_name_init(&afsdb->server, NULL);
dns_name_init(&afsdb->server);
dns_rdata_toregion(rdata, &region);
afsdb->subtype = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
name_duporclone(&name, mctx, &afsdb->server);
@ -244,14 +243,13 @@ freestruct_afsdb(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_afsdb(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_afsdb);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
@ -271,7 +269,7 @@ digest_afsdb(ARGS_DIGEST) {
isc_region_consume(&r2, 2);
r1.length = 2;
RETERR((digest)(arg, &r1));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
@ -300,7 +298,7 @@ checknames_afsdb(ARGS_CHECKNAMES) {
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -108,7 +108,7 @@ fromtext_amtrelay(ARGS_FROMTEXT) {
return ISC_R_SUCCESS;
case 3:
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -172,7 +172,7 @@ totext_amtrelay(ARGS_TOTEXT) {
return inet_totext(AF_INET6, tctx->flags, &region, target);
case 3:
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
return dns_name_totext(&name, 0, target);
@ -224,7 +224,7 @@ fromwire_amtrelay(ARGS_FROMWIRE) {
case 3:
RETERR(mem_tobuffer(target, region.base, 2));
isc_buffer_forward(source, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
default:
@ -318,10 +318,10 @@ tostruct_amtrelay(ARGS_TOSTRUCT) {
amtrelay->common.rdtype = rdata->type;
ISC_LINK_INIT(&amtrelay->common, link);
dns_name_init(&amtrelay->gateway, NULL);
dns_name_init(&amtrelay->gateway);
amtrelay->data = NULL;
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
amtrelay->precedence = uint8_fromregion(&region);
@ -453,8 +453,8 @@ casecompare_amtrelay(ARGS_COMPARE) {
return isc_region_compare(&region1, &region2);
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
isc_region_consume(&region1, 2);
isc_region_consume(&region2, 2);

View file

@ -32,7 +32,7 @@ fromtext_cname(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -51,8 +51,8 @@ totext_cname(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_cname);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -73,14 +73,13 @@ fromwire_cname(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_cname(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_cname);
@ -88,7 +87,7 @@ towire_cname(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -108,8 +107,8 @@ compare_cname(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -151,10 +150,10 @@ tostruct_cname(ARGS_TOSTRUCT) {
cname->common.rdtype = rdata->type;
ISC_LINK_INIT(&cname->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&cname->cname, NULL);
dns_name_init(&cname->cname);
name_duporclone(&name, mctx, &cname->cname);
cname->mctx = mctx;
return ISC_R_SUCCESS;
@ -194,7 +193,7 @@ digest_cname(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_cname);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -33,7 +33,7 @@ fromtext_dname(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -52,8 +52,8 @@ totext_dname(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_dname);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -74,21 +74,20 @@ fromwire_dname(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_dname(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_dname);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -108,8 +107,8 @@ compare_dname(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -151,10 +150,10 @@ tostruct_dname(ARGS_TOSTRUCT) {
dname->common.rdtype = rdata->type;
ISC_LINK_INIT(&dname->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&dname->dname, NULL);
dns_name_init(&dname->dname);
name_duporclone(&name, mctx, &dname->dname);
dname->mctx = mctx;
return ISC_R_SUCCESS;
@ -195,7 +194,7 @@ digest_dname(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_dname);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -96,7 +96,7 @@ fromtext_hip(ARGS_FROMTEXT) {
/*
* Rendezvous Servers.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
do {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, true));
@ -173,7 +173,7 @@ totext_hip(ARGS_TOTEXT) {
/*
* Rendezvous Servers.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
while (region.length > 0) {
dns_name_fromregion(&name, &region);
@ -228,7 +228,7 @@ fromwire_hip(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
while (isc_buffer_activelength(source) > 0) {
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
}
return ISC_R_SUCCESS;
@ -424,7 +424,7 @@ dns_rdata_hip_next(dns_rdata_hip_t *hip) {
region.base = hip->servers + hip->offset;
region.length = hip->servers_len - hip->offset;
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
hip->offset += name.length;
INSIST(hip->offset <= hip->servers_len);
@ -485,8 +485,8 @@ casecompare_hip(ARGS_COMPARE) {
isc_region_consume(&r1, hit_len + key_len);
isc_region_consume(&r2, hit_len + key_len);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
while (r1.length != 0 && r2.length != 0) {
dns_name_fromregion(&name1, &r1);
dns_name_fromregion(&name2, &r2);

View file

@ -105,7 +105,7 @@ fromtext_ipseckey(ARGS_FROMTEXT) {
break;
case 3:
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -132,7 +132,7 @@ totext_ipseckey(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_ipseckey);
REQUIRE(rdata->length >= 3);
dns_name_init(&name, NULL);
dns_name_init(&name);
if (rdata->data[1] > 3U) {
return ISC_R_NOTIMPLEMENTED;
@ -223,7 +223,7 @@ fromwire_ipseckey(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &region);
if (region.length < 3) {
@ -357,7 +357,7 @@ tostruct_ipseckey(ARGS_TOSTRUCT) {
ipseckey->common.rdtype = rdata->type;
ISC_LINK_INIT(&ipseckey->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
ipseckey->precedence = uint8_fromregion(&region);
@ -386,7 +386,7 @@ tostruct_ipseckey(ARGS_TOSTRUCT) {
break;
case 3:
dns_name_init(&ipseckey->gateway, NULL);
dns_name_init(&ipseckey->gateway);
dns_name_fromregion(&name, &region);
name_duporclone(&name, mctx, &ipseckey->gateway);
isc_region_consume(&region, name_length(&name));
@ -494,8 +494,8 @@ casecompare_ipseckey(ARGS_COMPARE) {
return isc_region_compare(&region1, &region2);
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
isc_region_consume(&region1, 3);
isc_region_consume(&region2, 3);

View file

@ -158,7 +158,7 @@ generic_totext_key(ARGS_TOTEXT) {
algorithm == DNS_KEYALG_PRIVATEDNS)
{
dns_name_t name;
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
dns_name_format(&name, algbuf, sizeof(algbuf));
} else if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0 &&

View file

@ -42,7 +42,7 @@ fromtext_lp(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -62,8 +62,8 @@ totext_lp(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_lp);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
num = uint16_fromregion(&region);
@ -91,7 +91,7 @@ fromwire_lp(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &sregion);
if (sregion.length < 2) {
@ -161,12 +161,12 @@ tostruct_lp(ARGS_TOSTRUCT) {
lp->common.rdtype = rdata->type;
ISC_LINK_INIT(&lp->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
lp->pref = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
dns_name_init(&lp->lp, NULL);
dns_name_init(&lp->lp);
name_duporclone(&name, mctx, &lp->lp);
lp->mctx = mctx;
return ISC_R_SUCCESS;
@ -190,7 +190,6 @@ freestruct_lp(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_lp(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
isc_result_t result;
@ -198,7 +197,7 @@ additionaldata_lp(ARGS_ADDLDATA) {
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
@ -261,8 +260,8 @@ casecompare_lp(ARGS_COMPARE) {
return order < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);

View file

@ -31,7 +31,7 @@ fromtext_mb(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -50,8 +50,8 @@ totext_mb(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_mb);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -72,14 +72,13 @@ fromwire_mb(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_mb(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mb);
@ -87,7 +86,7 @@ towire_mb(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -107,8 +106,8 @@ compare_mb(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -150,10 +149,10 @@ tostruct_mb(ARGS_TOSTRUCT) {
mb->common.rdtype = rdata->type;
ISC_LINK_INIT(&mb->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&mb->mb, NULL);
dns_name_init(&mb->mb);
name_duporclone(&name, mctx, &mb->mb);
mb->mctx = mctx;
return ISC_R_SUCCESS;
@ -176,14 +175,13 @@ freestruct_mb(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_mb(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mb);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -198,7 +196,7 @@ digest_mb(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_mb);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -31,7 +31,7 @@ fromtext_md(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -50,8 +50,8 @@ totext_md(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_md);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -72,14 +72,13 @@ fromwire_md(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_md(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_md);
@ -87,7 +86,7 @@ towire_md(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -107,8 +106,8 @@ compare_md(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -150,10 +149,10 @@ tostruct_md(ARGS_TOSTRUCT) {
md->common.rdtype = rdata->type;
ISC_LINK_INIT(&md->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &r);
dns_name_fromregion(&name, &r);
dns_name_init(&md->md, NULL);
dns_name_init(&md->md);
name_duporclone(&name, mctx, &md->md);
md->mctx = mctx;
return ISC_R_SUCCESS;
@ -177,14 +176,13 @@ freestruct_md(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_md(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_md);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -199,7 +197,7 @@ digest_md(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_md);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -31,7 +31,7 @@ fromtext_mf(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -50,8 +50,8 @@ totext_mf(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_mf);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -72,14 +72,13 @@ fromwire_mf(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_mf(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mf);
@ -87,7 +86,7 @@ towire_mf(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -107,8 +106,8 @@ compare_mf(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -150,10 +149,10 @@ tostruct_mf(ARGS_TOSTRUCT) {
mf->common.rdtype = rdata->type;
ISC_LINK_INIT(&mf->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &r);
dns_name_fromregion(&name, &r);
dns_name_init(&mf->mf, NULL);
dns_name_init(&mf->mf);
name_duporclone(&name, mctx, &mf->mf);
mf->mctx = mctx;
return ISC_R_SUCCESS;
@ -176,14 +175,13 @@ freestruct_mf(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_mf(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mf);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -198,7 +196,7 @@ digest_mf(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_mf);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -31,7 +31,7 @@ fromtext_mg(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -50,8 +50,8 @@ totext_mg(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_mg);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -72,14 +72,13 @@ fromwire_mg(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_mg(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mg);
@ -87,7 +86,7 @@ towire_mg(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -107,8 +106,8 @@ compare_mg(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -150,10 +149,10 @@ tostruct_mg(ARGS_TOSTRUCT) {
mg->common.rdtype = rdata->type;
ISC_LINK_INIT(&mg->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&mg->mg, NULL);
dns_name_init(&mg->mg);
name_duporclone(&name, mctx, &mg->mg);
mg->mctx = mctx;
return ISC_R_SUCCESS;
@ -193,7 +192,7 @@ digest_mg(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_mg);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -37,7 +37,7 @@ fromtext_minfo(ARGS_FROMTEXT) {
for (i = 0; i < 2; i++) {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
target));
@ -66,9 +66,9 @@ totext_minfo(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_minfo);
REQUIRE(rdata->length != 0);
dns_name_init(&rmail, NULL);
dns_name_init(&email, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&rmail);
dns_name_init(&email);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
@ -103,8 +103,8 @@ fromwire_minfo(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&rmail, NULL);
dns_name_init(&email, NULL);
dns_name_init(&rmail);
dns_name_init(&email);
RETERR(dns_name_fromwire(&rmail, source, dctx, target));
return dns_name_fromwire(&email, source, dctx, target);
@ -115,16 +115,14 @@ towire_minfo(ARGS_TOWIRE) {
isc_region_t region;
dns_name_t rmail;
dns_name_t email;
dns_offsets_t roffsets;
dns_offsets_t eoffsets;
REQUIRE(rdata->type == dns_rdatatype_minfo);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, true);
dns_name_init(&rmail, roffsets);
dns_name_init(&email, eoffsets);
dns_name_init(&rmail);
dns_name_init(&email);
dns_rdata_toregion(rdata, &region);
@ -153,8 +151,8 @@ compare_minfo(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -170,8 +168,8 @@ compare_minfo(ARGS_COMPARE) {
isc_region_consume(&region1, name_length(&name1));
isc_region_consume(&region2, name_length(&name2));
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &region1);
dns_name_fromregion(&name2, &region2);
@ -213,15 +211,15 @@ tostruct_minfo(ARGS_TOSTRUCT) {
minfo->common.rdtype = rdata->type;
ISC_LINK_INIT(&minfo->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&minfo->rmailbox, NULL);
dns_name_init(&minfo->rmailbox);
name_duporclone(&name, mctx, &minfo->rmailbox);
isc_region_consume(&region, name_length(&name));
dns_name_fromregion(&name, &region);
dns_name_init(&minfo->emailbox, NULL);
dns_name_init(&minfo->emailbox);
name_duporclone(&name, mctx, &minfo->emailbox);
minfo->mctx = mctx;
return ISC_R_SUCCESS;
@ -264,14 +262,14 @@ digest_minfo(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_minfo);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
result = dns_name_digest(&name, digest, arg);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_region_consume(&r, name_length(&name));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);
@ -299,7 +297,7 @@ checknames_minfo(ARGS_CHECKNAMES) {
UNUSED(owner);
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ismailbox(&name)) {
if (bad != NULL) {

View file

@ -31,7 +31,7 @@ fromtext_mr(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -50,8 +50,8 @@ totext_mr(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_mr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -72,14 +72,13 @@ fromwire_mr(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_mr(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mr);
@ -87,7 +86,7 @@ towire_mr(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -107,8 +106,8 @@ compare_mr(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -150,10 +149,10 @@ tostruct_mr(ARGS_TOSTRUCT) {
mr->common.rdtype = rdata->type;
ISC_LINK_INIT(&mr->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&mr->mr, NULL);
dns_name_init(&mr->mr);
name_duporclone(&name, mctx, &mr->mr);
mr->mctx = mctx;
return ISC_R_SUCCESS;
@ -193,7 +192,7 @@ digest_mr(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_mr);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -77,7 +77,7 @@ fromtext_mx(ARGS_FROMTEXT) {
warn_badmx(&token, lexer, callbacks);
}
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -108,8 +108,8 @@ totext_mx(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_mx);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
num = uint16_fromregion(&region);
@ -137,7 +137,7 @@ fromwire_mx(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &sregion);
if (sregion.length < 2) {
@ -151,7 +151,6 @@ fromwire_mx(ARGS_FROMWIRE) {
static isc_result_t
towire_mx(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mx);
@ -163,7 +162,7 @@ towire_mx(ARGS_TOWIRE) {
RETERR(mem_tobuffer(target, region.base, 2));
isc_region_consume(&region, 2);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
return dns_name_towire(&name, cctx, target, NULL);
@ -188,8 +187,8 @@ compare_mx(ARGS_COMPARE) {
return order < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -235,12 +234,12 @@ tostruct_mx(ARGS_TOSTRUCT) {
mx->common.rdtype = rdata->type;
ISC_LINK_INIT(&mx->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
mx->pref = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
dns_name_init(&mx->mx, NULL);
dns_name_init(&mx->mx);
name_duporclone(&name, mctx, &mx->mx);
mx->mctx = mctx;
return ISC_R_SUCCESS;
@ -261,24 +260,21 @@ freestruct_mx(ARGS_FREESTRUCT) {
mx->mctx = NULL;
}
static unsigned char port25_offset[] = { 0, 3 };
static unsigned char port25_ndata[] = "\003_25\004_tcp";
static dns_name_t port25 = DNS_NAME_INITNONABSOLUTE(port25_ndata,
port25_offset);
static dns_name_t port25 = DNS_NAME_INITNONABSOLUTE(port25_ndata);
static isc_result_t
additionaldata_mx(ARGS_ADDLDATA) {
isc_result_t result;
dns_fixedname_t fixed;
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_mx);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
@ -315,7 +311,7 @@ digest_mx(ARGS_DIGEST) {
isc_region_consume(&r2, 2);
r1.length = 2;
RETERR((digest)(arg, &r1));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
}
@ -341,7 +337,7 @@ checknames_mx(ARGS_CHECKNAMES) {
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -230,7 +230,7 @@ fromtext_naptr(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -251,8 +251,8 @@ totext_naptr(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_naptr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
@ -314,7 +314,7 @@ fromwire_naptr(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
/*
* Order, preference.
@ -352,7 +352,6 @@ fromwire_naptr(ARGS_FROMWIRE) {
static isc_result_t
towire_naptr(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t sr;
REQUIRE(rdata->type == dns_rdatatype_naptr);
@ -387,7 +386,7 @@ towire_naptr(ARGS_TOWIRE) {
/*
* Replacement.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
return dns_name_towire(&name, cctx, target, NULL);
}
@ -455,8 +454,8 @@ compare_naptr(ARGS_COMPARE) {
/*
* Replacement.
*/
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &region1);
dns_name_fromregion(&name2, &region2);
@ -536,9 +535,9 @@ tostruct_naptr(ARGS_TOSTRUCT) {
naptr->regexp = mem_maybedup(mctx, r.base, naptr->regexp_len);
isc_region_consume(&r, naptr->regexp_len);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
dns_name_init(&naptr->replacement, NULL);
dns_name_init(&naptr->replacement);
name_duporclone(&name, mctx, &naptr->replacement);
naptr->mctx = mctx;
return ISC_R_SUCCESS;
@ -571,7 +570,6 @@ freestruct_naptr(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_naptr(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t sr;
dns_rdatatype_t atype;
unsigned int i, flagslen;
@ -618,7 +616,7 @@ additionaldata_naptr(ARGS_ADDLDATA) {
/*
* Replacement.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
if (atype != 0) {
@ -681,7 +679,7 @@ digest_naptr(ARGS_DIGEST) {
* Replacement.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);

View file

@ -32,7 +32,7 @@ fromtext_ns(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -61,8 +61,8 @@ totext_ns(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_ns);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -83,14 +83,13 @@ fromwire_ns(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_ns(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_ns);
@ -98,7 +97,7 @@ towire_ns(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -118,8 +117,8 @@ compare_ns(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -161,10 +160,10 @@ tostruct_ns(ARGS_TOSTRUCT) {
ns->common.rdtype = rdata->type;
ISC_LINK_INIT(&ns->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&ns->name, NULL);
dns_name_init(&ns->name);
name_duporclone(&name, mctx, &ns->name);
ns->mctx = mctx;
return ISC_R_SUCCESS;
@ -187,14 +186,13 @@ freestruct_ns(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_ns(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_ns);
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -209,7 +207,7 @@ digest_ns(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_ns);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);
@ -237,7 +235,7 @@ checknames_ns(ARGS_CHECKNAMES) {
UNUSED(owner);
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -41,7 +41,7 @@ fromtext_nsec(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -61,7 +61,7 @@ totext_nsec(ARGS_TOTEXT) {
UNUSED(tctx);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &sr);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
@ -87,7 +87,7 @@ fromwire_nsec(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
isc_buffer_activeregion(source, &sr);
@ -101,13 +101,12 @@ static isc_result_t
towire_nsec(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_nsec);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &sr);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
@ -169,11 +168,11 @@ tostruct_nsec(ARGS_TOSTRUCT) {
nsec->common.rdtype = rdata->type;
ISC_LINK_INIT(&nsec->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&nsec->next, NULL);
dns_name_init(&nsec->next);
name_duporclone(&name, mctx, &nsec->next);
nsec->len = region.length;
@ -259,8 +258,8 @@ casecompare_nsec(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);

View file

@ -45,7 +45,7 @@ fromtext_nxt(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -98,8 +98,8 @@ totext_nxt(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_nxt);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &sr);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
@ -146,7 +146,7 @@ fromwire_nxt(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
isc_buffer_activeregion(source, &sr);
@ -164,13 +164,12 @@ static isc_result_t
towire_nxt(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_nxt);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &sr);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
@ -193,8 +192,8 @@ compare_nxt(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
dns_name_fromregion(&name1, &r1);
@ -248,11 +247,11 @@ tostruct_nxt(ARGS_TOSTRUCT) {
nxt->common.rdtype = rdata->type;
ISC_LINK_INIT(&nxt->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&nxt->next, NULL);
dns_name_init(&nxt->next);
name_duporclone(&name, mctx, &nxt->next);
nxt->len = region.length;
@ -300,7 +299,7 @@ digest_nxt(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_nxt);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
result = dns_name_digest(&name, digest, arg);
if (result != ISC_R_SUCCESS) {

View file

@ -31,7 +31,7 @@ fromtext_ptr(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -63,8 +63,8 @@ totext_ptr(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_ptr);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -85,14 +85,13 @@ fromwire_ptr(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_ptr(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_ptr);
@ -100,7 +99,7 @@ towire_ptr(ARGS_TOWIRE) {
dns_compress_setpermitted(cctx, true);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -120,8 +119,8 @@ compare_ptr(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -163,10 +162,10 @@ tostruct_ptr(ARGS_TOSTRUCT) {
ptr->common.rdtype = rdata->type;
ISC_LINK_INIT(&ptr->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&ptr->ptr, NULL);
dns_name_init(&ptr->ptr);
name_duporclone(&name, mctx, &ptr->ptr);
ptr->mctx = mctx;
return ISC_R_SUCCESS;
@ -207,7 +206,7 @@ digest_ptr(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_ptr);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);
@ -226,19 +225,13 @@ checkowner_ptr(ARGS_CHECKOWNER) {
}
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_INITABSOLUTE(ip6_arpa_data,
ip6_arpa_offsets);
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
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_INITABSOLUTE(ip6_int_data,
ip6_int_offsets);
static const dns_name_t ip6_int = DNS_NAME_INITABSOLUTE(ip6_int_data);
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_INITABSOLUTE(in_addr_arpa_data, in_addr_arpa_offsets);
static const dns_name_t in_addr_arpa = DNS_NAME_INITABSOLUTE(in_addr_arpa_data);
static bool
checknames_ptr(ARGS_CHECKNAMES) {
@ -260,7 +253,7 @@ checknames_ptr(ARGS_CHECKNAMES) {
dns_name_issubdomain(owner, &ip6_int))
{
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -39,7 +39,7 @@ fromtext_rp(ARGS_FROMTEXT) {
for (i = 0; i < 2; i++) {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
target));
@ -68,9 +68,9 @@ totext_rp(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_rp);
REQUIRE(rdata->length != 0);
dns_name_init(&rmail, NULL);
dns_name_init(&email, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&rmail);
dns_name_init(&email);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
@ -105,8 +105,8 @@ fromwire_rp(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&rmail, NULL);
dns_name_init(&email, NULL);
dns_name_init(&rmail);
dns_name_init(&email);
RETERR(dns_name_fromwire(&rmail, source, dctx, target));
return dns_name_fromwire(&email, source, dctx, target);
@ -117,15 +117,13 @@ towire_rp(ARGS_TOWIRE) {
isc_region_t region;
dns_name_t rmail;
dns_name_t email;
dns_offsets_t roffsets;
dns_offsets_t eoffsets;
REQUIRE(rdata->type == dns_rdatatype_rp);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&rmail, roffsets);
dns_name_init(&email, eoffsets);
dns_name_init(&rmail);
dns_name_init(&email);
dns_rdata_toregion(rdata, &region);
@ -154,8 +152,8 @@ compare_rp(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -171,8 +169,8 @@ compare_rp(ARGS_COMPARE) {
isc_region_consume(&region1, name_length(&name1));
isc_region_consume(&region2, name_length(&name2));
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &region1);
dns_name_fromregion(&name2, &region2);
@ -213,14 +211,14 @@ tostruct_rp(ARGS_TOSTRUCT) {
rp->common.rdtype = rdata->type;
ISC_LINK_INIT(&rp->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&rp->mail, NULL);
dns_name_init(&rp->mail);
name_duporclone(&name, mctx, &rp->mail);
isc_region_consume(&region, name_length(&name));
dns_name_fromregion(&name, &region);
dns_name_init(&rp->text, NULL);
dns_name_init(&rp->text);
name_duporclone(&name, mctx, &rp->text);
rp->mctx = mctx;
return ISC_R_SUCCESS;
@ -262,13 +260,13 @@ digest_rp(ARGS_DIGEST) {
REQUIRE(rdata->type == dns_rdatatype_rp);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
RETERR(dns_name_digest(&name, digest, arg));
isc_region_consume(&r, name_length(&name));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);
@ -296,7 +294,7 @@ checknames_rp(ARGS_CHECKNAMES) {
UNUSED(owner);
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ismailbox(&name)) {
if (bad != NULL) {

View file

@ -145,7 +145,7 @@ fromtext_rrsig(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -265,7 +265,7 @@ totext_rrsig(ARGS_TOTEXT) {
/*
* Signer.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
RETERR(dns_name_totext(&name, 0, target));
@ -327,7 +327,7 @@ fromwire_rrsig(ARGS_FROMWIRE) {
/*
* Signer.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
/*
@ -353,7 +353,6 @@ static isc_result_t
towire_rrsig(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_rrsig);
REQUIRE(rdata->length != 0);
@ -375,7 +374,7 @@ towire_rrsig(ARGS_TOWIRE) {
/*
* Signer.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
RETERR(dns_name_towire(&name, cctx, target, NULL));
@ -519,9 +518,9 @@ tostruct_rrsig(ARGS_TOSTRUCT) {
sig->keyid = uint16_fromregion(&sr);
isc_region_consume(&sr, 2);
dns_name_init(&signer, NULL);
dns_name_init(&signer);
dns_name_fromregion(&signer, &sr);
dns_name_init(&sig->signer, NULL);
dns_name_init(&sig->signer);
name_duporclone(&signer, mctx, &sig->signer);
isc_region_consume(&sr, name_length(&sig->signer));
@ -637,8 +636,8 @@ casecompare_rrsig(ARGS_COMPARE) {
return order;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
isc_region_consume(&r1, 18);

View file

@ -41,7 +41,7 @@ fromtext_rt(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -72,8 +72,8 @@ totext_rt(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_rt);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
num = uint16_fromregion(&region);
@ -100,7 +100,7 @@ fromwire_rt(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &sregion);
isc_buffer_availableregion(target, &tregion);
@ -119,7 +119,6 @@ fromwire_rt(ARGS_FROMWIRE) {
static isc_result_t
towire_rt(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
isc_region_t tr;
@ -136,7 +135,7 @@ towire_rt(ARGS_TOWIRE) {
isc_region_consume(&region, 2);
isc_buffer_add(target, 2);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
return dns_name_towire(&name, cctx, target, NULL);
@ -161,8 +160,8 @@ compare_rt(ARGS_COMPARE) {
return order < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -208,12 +207,12 @@ tostruct_rt(ARGS_TOSTRUCT) {
rt->common.rdtype = rdata->type;
ISC_LINK_INIT(&rt->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
rt->preference = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
dns_name_init(&rt->host, NULL);
dns_name_init(&rt->host);
name_duporclone(&name, mctx, &rt->host);
rt->mctx = mctx;
@ -238,7 +237,6 @@ freestruct_rt(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_rt(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
isc_result_t result;
@ -246,7 +244,7 @@ additionaldata_rt(ARGS_ADDLDATA) {
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
@ -278,7 +276,7 @@ digest_rt(ARGS_DIGEST) {
if (result != ISC_R_SUCCESS) {
return result;
}
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
}
@ -306,7 +304,7 @@ checknames_rt(ARGS_CHECKNAMES) {
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -109,7 +109,7 @@ fromtext_sig(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -231,8 +231,8 @@ totext_sig(ARGS_TOTEXT) {
/*
* Signer.
*/
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
@ -291,7 +291,7 @@ fromwire_sig(ARGS_FROMWIRE) {
/*
* Signer.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
/*
@ -317,7 +317,6 @@ static isc_result_t
towire_sig(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_sig);
REQUIRE(rdata->length != 0);
@ -339,7 +338,7 @@ towire_sig(ARGS_TOWIRE) {
/*
* Signer.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
isc_region_consume(&sr, name_length(&name));
RETERR(dns_name_towire(&name, cctx, target, NULL));
@ -376,8 +375,8 @@ compare_sig(ARGS_COMPARE) {
return order;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
isc_region_consume(&r1, 18);
@ -512,9 +511,9 @@ tostruct_sig(ARGS_TOSTRUCT) {
sig->keyid = uint16_fromregion(&sr);
isc_region_consume(&sr, 2);
dns_name_init(&signer, NULL);
dns_name_init(&signer);
dns_name_fromregion(&signer, &sr);
dns_name_init(&sig->signer, NULL);
dns_name_init(&sig->signer);
name_duporclone(&signer, mctx, &sig->signer);
isc_region_consume(&sr, name_length(&sig->signer));

View file

@ -39,7 +39,7 @@ fromtext_soa(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
target));
@ -100,9 +100,9 @@ totext_soa(ARGS_TOTEXT) {
comm = false;
}
dns_name_init(&mname, NULL);
dns_name_init(&rname, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&mname);
dns_name_init(&rname);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &dregion);
@ -171,8 +171,8 @@ fromwire_soa(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, true);
dns_name_init(&mname, NULL);
dns_name_init(&rname, NULL);
dns_name_init(&mname);
dns_name_init(&rname);
RETERR(dns_name_fromwire(&mname, source, dctx, target));
RETERR(dns_name_fromwire(&rname, source, dctx, target));
@ -200,16 +200,14 @@ towire_soa(ARGS_TOWIRE) {
isc_region_t tregion;
dns_name_t mname;
dns_name_t rname;
dns_offsets_t moffsets;
dns_offsets_t roffsets;
REQUIRE(rdata->type == dns_rdatatype_soa);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, true);
dns_name_init(&mname, moffsets);
dns_name_init(&rname, roffsets);
dns_name_init(&mname);
dns_name_init(&rname);
dns_rdata_toregion(rdata, &sregion);
@ -245,8 +243,8 @@ compare_soa(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -262,8 +260,8 @@ compare_soa(ARGS_COMPARE) {
isc_region_consume(&region1, name_length(&name1));
isc_region_consume(&region2, name_length(&name2));
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &region1);
dns_name_fromregion(&name2, &region2);
@ -319,15 +317,15 @@ tostruct_soa(ARGS_TOSTRUCT) {
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&soa->origin, NULL);
dns_name_init(&soa->origin);
name_duporclone(&name, mctx, &soa->origin);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&soa->contact, NULL);
dns_name_init(&soa->contact);
name_duporclone(&name, mctx, &soa->contact);
soa->serial = uint32_fromregion(&region);
@ -385,12 +383,12 @@ digest_soa(ARGS_DIGEST) {
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
RETERR(dns_name_digest(&name, digest, arg));
isc_region_consume(&r, name_length(&name));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
RETERR(dns_name_digest(&name, digest, arg));
isc_region_consume(&r, name_length(&name));
@ -420,7 +418,7 @@ checknames_soa(ARGS_CHECKNAMES) {
UNUSED(owner);
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -37,7 +37,7 @@ fromtext_talink(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
target));
@ -57,9 +57,9 @@ totext_talink(ARGS_TOTEXT) {
REQUIRE(rdata->type == dns_rdatatype_talink);
REQUIRE(rdata->length != 0);
dns_name_init(&prev, NULL);
dns_name_init(&next, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&prev);
dns_name_init(&next);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &dregion);
@ -92,8 +92,8 @@ fromwire_talink(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&prev, NULL);
dns_name_init(&next, NULL);
dns_name_init(&prev);
dns_name_init(&next);
RETERR(dns_name_fromwire(&prev, source, dctx, target));
return dns_name_fromwire(&next, source, dctx, target);
@ -104,16 +104,14 @@ towire_talink(ARGS_TOWIRE) {
isc_region_t sregion;
dns_name_t prev;
dns_name_t next;
dns_offsets_t moffsets;
dns_offsets_t roffsets;
REQUIRE(rdata->type == dns_rdatatype_talink);
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&prev, moffsets);
dns_name_init(&next, roffsets);
dns_name_init(&prev);
dns_name_init(&next);
dns_rdata_toregion(rdata, &sregion);
@ -177,15 +175,15 @@ tostruct_talink(ARGS_TOSTRUCT) {
dns_rdata_toregion(rdata, &region);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&talink->prev, NULL);
dns_name_init(&talink->prev);
name_duporclone(&name, mctx, &talink->prev);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
dns_name_init(&talink->next, NULL);
dns_name_init(&talink->next);
name_duporclone(&name, mctx, &talink->next);
talink->mctx = mctx;

View file

@ -38,7 +38,7 @@ fromtext_tkey(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -136,8 +136,8 @@ totext_tkey(ARGS_TOTEXT) {
/*
* Algorithm.
*/
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_name_fromregion(&name, &sr);
opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
: 0;
@ -260,7 +260,7 @@ fromwire_tkey(ARGS_FROMWIRE) {
/*
* Algorithm.
*/
dns_name_init(&name, NULL);
dns_name_init(&name);
RETERR(dns_name_fromwire(&name, source, dctx, target));
/*
@ -309,7 +309,6 @@ static isc_result_t
towire_tkey(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
REQUIRE(rdata->type == dns_rdatatype_tkey);
REQUIRE(rdata->length != 0);
@ -319,7 +318,7 @@ towire_tkey(ARGS_TOWIRE) {
* Algorithm.
*/
dns_rdata_toregion(rdata, &sr);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
RETERR(dns_name_towire(&name, cctx, target, NULL));
isc_region_consume(&sr, name_length(&name));
@ -346,8 +345,8 @@ compare_tkey(ARGS_COMPARE) {
*/
dns_rdata_toregion(rdata1, &r1);
dns_rdata_toregion(rdata2, &r2);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &r1);
dns_name_fromregion(&name2, &r2);
if ((order = dns_name_rdatacompare(&name1, &name2)) != 0) {
@ -435,9 +434,9 @@ tostruct_tkey(ARGS_TOSTRUCT) {
/*
* Algorithm Name.
*/
dns_name_init(&alg, NULL);
dns_name_init(&alg);
dns_name_fromregion(&alg, &sr);
dns_name_init(&tkey->algorithm, NULL);
dns_name_init(&tkey->algorithm);
name_duporclone(&alg, mctx, &tkey->algorithm);
isc_region_consume(&sr, name_length(&tkey->algorithm));

View file

@ -77,7 +77,7 @@ fromtext_in_a6(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -137,8 +137,8 @@ totext_in_a6(ARGS_TOTEXT) {
}
RETERR(str_totext(" ", target));
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_name_fromregion(&name, &sr);
opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
: 0;
@ -196,7 +196,7 @@ fromwire_in_a6(ARGS_FROMWIRE) {
return ISC_R_SUCCESS;
}
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
@ -204,7 +204,6 @@ static isc_result_t
towire_in_a6(ARGS_TOWIRE) {
isc_region_t sr;
dns_name_t name;
dns_offsets_t offsets;
unsigned char prefixlen;
unsigned char octets;
@ -225,7 +224,7 @@ towire_in_a6(ARGS_TOWIRE) {
return ISC_R_SUCCESS;
}
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
return dns_name_towire(&name, cctx, target, NULL);
}
@ -280,8 +279,8 @@ compare_in_a6(ARGS_COMPARE) {
isc_region_consume(&region2, octets);
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_name_fromregion(&name1, &region1);
dns_name_fromregion(&name2, &region2);
return dns_name_rdatacompare(&name1, &name2);
@ -370,9 +369,9 @@ tostruct_in_a6(ARGS_TOSTRUCT) {
/*
* Prefix.
*/
dns_name_init(&a6->prefix, NULL);
dns_name_init(&a6->prefix);
if (a6->prefixlen != 0) {
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
name_duporclone(&name, mctx, &a6->prefix);
}
@ -436,7 +435,7 @@ digest_in_a6(ARGS_DIGEST) {
}
isc_region_consume(&r2, octets);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
}
@ -469,7 +468,7 @@ checknames_in_a6(ARGS_CHECKNAMES) {
return true;
}
isc_region_consume(&region, 1 + 16 - prefixlen / 8);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -222,8 +222,8 @@ checkowner_in_a(ARGS_CHECKOWNER) {
/*
* Handle Active Directory gc._msdcs.<forest> name.
*/
dns_name_init(&prefix, NULL);
dns_name_init(&suffix, NULL);
dns_name_init(&prefix);
dns_name_init(&suffix);
dns_name_split(name, labels - 2, &prefix, &suffix);
if (dns_name_equal(&gc_msdcs, &prefix) &&
dns_name_ishostname(&suffix, false))

View file

@ -232,8 +232,8 @@ checkowner_in_aaaa(ARGS_CHECKOWNER) {
* Handle Active Directory gc._msdcs.<forest> name.
*/
if (dns_name_countlabels(name) > 2U) {
dns_name_init(&prefix, NULL);
dns_name_init(&suffix, NULL);
dns_name_init(&prefix);
dns_name_init(&suffix);
dns_name_split(name, dns_name_countlabels(name) - 2, &prefix,
&suffix);
if (dns_name_equal(&gc_msdcs, &prefix) &&

View file

@ -40,7 +40,7 @@ fromtext_in_kx(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -62,8 +62,8 @@ totext_in_kx(ARGS_TOTEXT) {
REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
num = uint16_fromregion(&region);
@ -92,7 +92,7 @@ fromwire_in_kx(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
isc_buffer_activeregion(source, &sregion);
if (sregion.length < 2) {
@ -106,7 +106,6 @@ fromwire_in_kx(ARGS_FROMWIRE) {
static isc_result_t
towire_in_kx(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_kx);
@ -118,7 +117,7 @@ towire_in_kx(ARGS_TOWIRE) {
RETERR(mem_tobuffer(target, region.base, 2));
isc_region_consume(&region, 2);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
return dns_name_towire(&name, cctx, target, NULL);
@ -144,8 +143,8 @@ compare_in_kx(ARGS_COMPARE) {
return order < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -193,14 +192,14 @@ tostruct_in_kx(ARGS_TOSTRUCT) {
kx->common.rdtype = rdata->type;
ISC_LINK_INIT(&kx->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
kx->preference = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
dns_name_init(&kx->exchange, NULL);
dns_name_init(&kx->exchange);
name_duporclone(&name, mctx, &kx->exchange);
kx->mctx = mctx;
return ISC_R_SUCCESS;
@ -225,7 +224,6 @@ freestruct_in_kx(ARGS_FREESTRUCT) {
static isc_result_t
additionaldata_in_kx(ARGS_ADDLDATA) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_kx);
@ -233,7 +231,7 @@ additionaldata_in_kx(ARGS_ADDLDATA) {
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
@ -254,7 +252,7 @@ digest_in_kx(ARGS_DIGEST) {
isc_region_consume(&r2, 2);
r1.length = 2;
RETERR((digest)(arg, &r1));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
}

View file

@ -34,7 +34,7 @@ fromtext_in_nsap_ptr(ARGS_FROMTEXT) {
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -54,8 +54,8 @@ totext_in_nsap_ptr(ARGS_TOTEXT) {
REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -77,14 +77,13 @@ fromwire_in_nsap_ptr(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
return dns_name_fromwire(&name, source, dctx, target);
}
static isc_result_t
towire_in_nsap_ptr(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
@ -92,7 +91,7 @@ towire_in_nsap_ptr(ARGS_TOWIRE) {
REQUIRE(rdata->length != 0);
dns_compress_setpermitted(cctx, false);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
@ -113,8 +112,8 @@ compare_in_nsap_ptr(ARGS_COMPARE) {
REQUIRE(rdata1->length != 0);
REQUIRE(rdata2->length != 0);
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -158,10 +157,10 @@ tostruct_in_nsap_ptr(ARGS_TOSTRUCT) {
nsap_ptr->common.rdtype = rdata->type;
ISC_LINK_INIT(&nsap_ptr->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
dns_name_init(&nsap_ptr->owner, NULL);
dns_name_init(&nsap_ptr->owner);
name_duporclone(&name, mctx, &nsap_ptr->owner);
nsap_ptr->mctx = mctx;
return ISC_R_SUCCESS;
@ -205,7 +204,7 @@ digest_in_nsap_ptr(ARGS_DIGEST) {
REQUIRE(rdata->rdclass == dns_rdataclass_in);
dns_rdata_toregion(rdata, &r);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r);
return dns_name_digest(&name, digest, arg);

View file

@ -50,7 +50,7 @@ fromtext_in_px(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
@ -59,7 +59,7 @@ fromtext_in_px(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
return ISC_R_SUCCESS;
@ -78,8 +78,8 @@ totext_in_px(ARGS_TOTEXT) {
REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
/*
* Preference.
@ -123,7 +123,7 @@ fromwire_in_px(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
/*
* Preference.
@ -149,7 +149,6 @@ fromwire_in_px(ARGS_FROMWIRE) {
static isc_result_t
towire_in_px(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_px);
@ -167,7 +166,7 @@ towire_in_px(ARGS_TOWIRE) {
/*
* MAP822.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
RETERR(dns_name_towire(&name, cctx, target, NULL));
isc_region_consume(&region, name_length(&name));
@ -175,7 +174,7 @@ towire_in_px(ARGS_TOWIRE) {
/*
* MAPX400.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
return dns_name_towire(&name, cctx, target, NULL);
}
@ -200,8 +199,8 @@ compare_in_px(ARGS_COMPARE) {
return order < 0 ? -1 : 1;
}
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -262,7 +261,7 @@ tostruct_in_px(ARGS_TOSTRUCT) {
px->common.rdtype = rdata->type;
ISC_LINK_INIT(&px->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
px->preference = uint16_fromregion(&region);
@ -270,11 +269,11 @@ tostruct_in_px(ARGS_TOSTRUCT) {
dns_name_fromregion(&name, &region);
dns_name_init(&px->map822, NULL);
dns_name_init(&px->map822);
name_duporclone(&name, mctx, &px->map822);
isc_region_consume(&region, name_length(&px->map822));
dns_name_init(&px->mapx400, NULL);
dns_name_init(&px->mapx400);
name_duporclone(&name, mctx, &px->mapx400);
px->mctx = mctx;
@ -328,14 +327,14 @@ digest_in_px(ARGS_DIGEST) {
if (result != ISC_R_SUCCESS) {
return result;
}
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
result = dns_name_digest(&name, digest, arg);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_region_consume(&r2, name_length(&name));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);

View file

@ -67,7 +67,7 @@ fromtext_in_srv(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -99,8 +99,8 @@ totext_in_srv(ARGS_TOTEXT) {
REQUIRE(rdata->rdclass == dns_rdataclass_in);
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
/*
* Priority.
@ -152,7 +152,7 @@ fromwire_in_srv(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
/*
* Priority, weight, port.
@ -173,7 +173,6 @@ fromwire_in_srv(ARGS_FROMWIRE) {
static isc_result_t
towire_in_srv(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t sr;
REQUIRE(rdata->type == dns_rdatatype_srv);
@ -190,7 +189,7 @@ towire_in_srv(ARGS_TOWIRE) {
/*
* Target.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &sr);
return dns_name_towire(&name, cctx, target, NULL);
}
@ -221,8 +220,8 @@ compare_in_srv(ARGS_COMPARE) {
/*
* Target.
*/
dns_name_init(&name1, NULL);
dns_name_init(&name2, NULL);
dns_name_init(&name1);
dns_name_init(&name2);
dns_rdata_toregion(rdata1, &region1);
dns_rdata_toregion(rdata2, &region2);
@ -272,7 +271,7 @@ tostruct_in_srv(ARGS_TOSTRUCT) {
srv->common.rdtype = rdata->type;
ISC_LINK_INIT(&srv->common, link);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
srv->priority = uint16_fromregion(&region);
isc_region_consume(&region, 2);
@ -281,7 +280,7 @@ tostruct_in_srv(ARGS_TOSTRUCT) {
srv->port = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_fromregion(&name, &region);
dns_name_init(&srv->target, NULL);
dns_name_init(&srv->target);
name_duporclone(&name, mctx, &srv->target);
srv->mctx = mctx;
return ISC_R_SUCCESS;
@ -308,7 +307,6 @@ additionaldata_in_srv(ARGS_ADDLDATA) {
char buf[sizeof("_65000._tcp")];
dns_fixedname_t fixed;
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
uint16_t port;
isc_result_t result;
@ -318,7 +316,7 @@ additionaldata_in_srv(ARGS_ADDLDATA) {
UNUSED(owner);
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 4);
port = uint16_fromregion(&region);
@ -365,7 +363,7 @@ digest_in_srv(ARGS_DIGEST) {
isc_region_consume(&r2, 6);
r1.length = 6;
RETERR((digest)(arg, &r1));
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &r2);
return dns_name_digest(&name, digest, arg);
}
@ -395,7 +393,7 @@ checknames_in_srv(ARGS_CHECKNAMES) {
dns_rdata_toregion(rdata, &region);
isc_region_consume(&region, 6);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -579,7 +579,7 @@ generic_fromtext_in_svcb(ARGS_FROMTEXT) {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_qstring,
false));
dns_name_init(&name, NULL);
dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
@ -643,8 +643,8 @@ generic_totext_in_svcb(ARGS_TOTEXT) {
REQUIRE(rdata->length != 0);
dns_name_init(&name, NULL);
dns_name_init(&prefix, NULL);
dns_name_init(&name);
dns_name_init(&prefix);
dns_rdata_toregion(rdata, &region);
@ -786,7 +786,7 @@ generic_fromwire_in_svcb(ARGS_FROMWIRE) {
dctx = dns_decompress_setpermitted(dctx, false);
dns_name_init(&name, NULL);
dns_name_init(&name);
/*
* SvcPriority.
@ -922,7 +922,6 @@ fromwire_in_svcb(ARGS_FROMWIRE) {
static isc_result_t
generic_towire_in_svcb(ARGS_TOWIRE) {
dns_name_t name;
dns_offsets_t offsets;
isc_region_t region;
REQUIRE(rdata->length != 0);
@ -939,7 +938,7 @@ generic_towire_in_svcb(ARGS_TOWIRE) {
/*
* TargetName.
*/
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
RETERR(dns_name_towire(&name, cctx, target, NULL));
isc_region_consume(&region, name_length(&name));
@ -1026,8 +1025,8 @@ generic_tostruct_in_svcb(ARGS_TOSTRUCT) {
svcb->priority = uint16_fromregion(&region);
isc_region_consume(&region, 2);
dns_name_init(&svcb->svcdomain, NULL);
dns_name_init(&name, NULL);
dns_name_init(&svcb->svcdomain);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
isc_region_consume(&region, name_length(&name));
@ -1084,12 +1083,11 @@ generic_additionaldata_in_svcb(ARGS_ADDLDATA) {
bool alias, done = false;
dns_fixedname_t fixed;
dns_name_t name, *fname = NULL;
dns_offsets_t offsets;
dns_rdataset_t rdataset;
isc_region_t region;
unsigned int cnames = 0;
dns_name_init(&name, offsets);
dns_name_init(&name);
dns_rdata_toregion(rdata, &region);
alias = uint16_fromregion(&region) == 0;
isc_region_consume(&region, 2);
@ -1209,7 +1207,7 @@ generic_checknames_in_svcb(ARGS_CHECKNAMES) {
INSIST(region.length > 1);
alias = uint16_fromregion(&region) == 0;
isc_region_consume(&region, 2);
dns_name_init(&name, NULL);
dns_name_init(&name);
dns_name_fromregion(&name, &region);
if (!alias && !dns_name_ishostname(&name, false)) {
if (bad != NULL) {

View file

@ -98,7 +98,7 @@ dns_remote_init(dns_remote_t *remote, unsigned int count,
if (keynames[i] != NULL) {
remote->keynames[i] =
isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(remote->keynames[i], NULL);
dns_name_init(remote->keynames[i]);
dns_name_dup(keynames[i], mctx,
remote->keynames[i]);
}
@ -117,7 +117,7 @@ dns_remote_init(dns_remote_t *remote, unsigned int count,
if (tlsnames[i] != NULL) {
remote->tlsnames[i] =
isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(remote->tlsnames[i], NULL);
dns_name_init(remote->tlsnames[i]);
dns_name_dup(tlsnames[i], mctx,
remote->tlsnames[i]);
}

View file

@ -632,9 +632,7 @@ dns_resolver_setfuzzing(void) {
#endif /* ifdef ENABLE_AFL */
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_INITABSOLUTE(ip6_arpa_data,
ip6_arpa_offsets);
static const dns_name_t ip6_arpa = DNS_NAME_INITABSOLUTE(ip6_arpa_data);
static void
dns_resolver__destroy(dns_resolver_t *res);
@ -2327,7 +2325,7 @@ issecuredomain(dns_view_t *view, const dns_name_t *name, dns_rdatatype_t type,
*/
labels = dns_name_countlabels(name);
if (dns_rdatatype_atparent(type) && labels > 1) {
dns_name_init(&suffix, NULL);
dns_name_init(&suffix);
dns_name_getlabelsequence(name, 1, labels - 1, &suffix);
name = &suffix;
}
@ -3512,7 +3510,7 @@ fctx_getaddresses(fetchctx_t *fctx) {
dns_name_countlabels(name) > 1)
{
unsigned int labels;
dns_name_init(&suffix, NULL);
dns_name_init(&suffix);
labels = dns_name_countlabels(name);
dns_name_getlabelsequence(name, 1, labels - 1, &suffix);
name = &suffix;
@ -4683,7 +4681,7 @@ fctx_create(dns_resolver_t *res, isc_loop_t *loop, const dns_name_t *name,
if (dns_rdatatype_atparent(fctx->type) &&
dns_name_countlabels(name) > 1)
{
dns_name_init(&suffix, NULL);
dns_name_init(&suffix);
labels = dns_name_countlabels(name);
dns_name_getlabelsequence(name, 1, labels - 1, &suffix);
fwdname = &suffix;
@ -6670,7 +6668,7 @@ name_external(const dns_name_t *name, dns_rdatatype_t type, fetchctx_t *fctx) {
*/
labels = dns_name_countlabels(name);
if (dns_rdatatype_atparent(type) && labels > 1U) {
dns_name_init(&suffix, NULL);
dns_name_init(&suffix);
dns_name_getlabelsequence(name, 1, labels - 1, &suffix);
name = &suffix;
} else if (rel == dns_namereln_equal) {
@ -6927,7 +6925,7 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname,
}
result = dns_rdata_tostruct(&rdata, &dname, NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
dns_name_init(&prefix, NULL);
dns_name_init(&prefix);
tname = dns_fixedname_initname(&fixed);
nlabels = dns_name_countlabels(rname);
dns_name_split(qname, nlabels, &prefix, NULL);
@ -10266,7 +10264,7 @@ fctx_minimize_qname(fetchctx_t *fctx) {
REQUIRE(VALID_FCTX(fctx));
dns_name_init(&name, NULL);
dns_name_init(&name);
dlabels = dns_name_countlabels(fctx->qmindcname);
nlabels = dns_name_countlabels(fctx->name);
@ -10742,7 +10740,7 @@ dns_resolver_addalternate(dns_resolver_t *res, const isc_sockaddr_t *alt,
} else {
a->isaddress = false;
a->_u._n.port = port;
dns_name_init(&a->_u._n.name, NULL);
dns_name_init(&a->_u._n.name);
dns_name_dup(name, res->mctx, &a->_u._n.name);
}
ISC_LINK_INIT(a, link);

View file

@ -83,19 +83,18 @@ static char root_ns[] =
"M.ROOT-SERVERS.NET. 3600000 IN AAAA 2001:DC3::35\n";
static unsigned char b_data[] = "\001b\014root-servers\003net";
static unsigned char b_offsets[] = { 0, 2, 15, 19 };
static struct upcoming {
const dns_name_t name;
dns_rdatatype_t type;
isc_stdtime_t time;
} upcoming[] = { {
.name = DNS_NAME_INITABSOLUTE(b_data, b_offsets),
.name = DNS_NAME_INITABSOLUTE(b_data),
.type = dns_rdatatype_a,
.time = 1701086400 /* November 27 2023, 12:00 UTC */
},
{
.name = DNS_NAME_INITABSOLUTE(b_data, b_offsets),
.name = DNS_NAME_INITABSOLUTE(b_data),
.type = dns_rdatatype_aaaa,
.time = 1701086400 /* November 27 2023, 12:00 UTC */
} };

View file

@ -861,7 +861,6 @@ name2ipkey(int log_level, dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
const dns_name_t *src_name, dns_rpz_cidr_key_t *tgt_ip,
dns_rpz_prefix_t *tgt_prefix, dns_rpz_addr_zbits_t *new_set) {
char ip_str[DNS_NAME_FORMATSIZE];
dns_offsets_t ip_name_offsets;
dns_fixedname_t ip_name2f;
dns_name_t ip_name;
const char *prefix_str = NULL, *cp = NULL, *end = NULL;
@ -887,7 +886,7 @@ name2ipkey(int log_level, dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
badname(log_level, src_name, "; too short", "");
return ISC_R_FAILURE;
}
dns_name_init(&ip_name, ip_name_offsets);
dns_name_init(&ip_name);
dns_name_getlabelsequence(src_name, 0, ip_labels, &ip_name);
/*
@ -1042,7 +1041,6 @@ static void
name2data(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
const dns_name_t *src_name, dns_name_t *trig_name,
nmdata_t *new_data) {
dns_offsets_t tmp_name_offsets;
dns_name_t tmp_name;
unsigned int prefix_len, n;
@ -1064,7 +1062,7 @@ name2data(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
memset(&new_data->wild, 0, sizeof(new_data->wild));
}
dns_name_init(&tmp_name, tmp_name_offsets);
dns_name_init(&tmp_name);
n = dns_name_countlabels(src_name);
n -= prefix_len;
if (rpz_type == DNS_RPZ_TYPE_QNAME) {
@ -1406,7 +1404,7 @@ new_nmdata(isc_mem_t *mctx, const dns_name_t *name, const nmdata_t *data) {
.name = DNS_NAME_INITEMPTY,
.references = ISC_REFCOUNT_INITIALIZER(1),
};
dns_name_dupwithoffsets(name, mctx, &newdata->name);
dns_name_dup(name, mctx, &newdata->name);
isc_mem_attach(mctx, &newdata->mctx);
#ifdef DNS_RPZ_TRACE
@ -1553,15 +1551,15 @@ dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t **rpzp) {
isc_ht_init(&rpz->nodes, rpzs->mctx, 1, ISC_HT_CASE_SENSITIVE);
dns_name_init(&rpz->origin, NULL);
dns_name_init(&rpz->client_ip, NULL);
dns_name_init(&rpz->ip, NULL);
dns_name_init(&rpz->nsdname, NULL);
dns_name_init(&rpz->nsip, NULL);
dns_name_init(&rpz->passthru, NULL);
dns_name_init(&rpz->drop, NULL);
dns_name_init(&rpz->tcp_only, NULL);
dns_name_init(&rpz->cname, NULL);
dns_name_init(&rpz->origin);
dns_name_init(&rpz->client_ip);
dns_name_init(&rpz->ip);
dns_name_init(&rpz->nsdname);
dns_name_init(&rpz->nsip);
dns_name_init(&rpz->passthru);
dns_name_init(&rpz->drop);
dns_name_init(&rpz->tcp_only);
dns_name_init(&rpz->cname);
isc_time_settoepoch(&rpz->lastupdated);
@ -1799,7 +1797,7 @@ update_nodes(dns_rpz_zone_t *rpz, isc_ht_t *newnodes) {
goto next;
}
dns_name_downcase(name, name, NULL);
dns_name_downcase(name, name);
/* Add entry to the new nodes table */
result = isc_ht_add(newnodes, name->ndata, name->length, rpz);

View file

@ -416,7 +416,7 @@ make_key(const dns_rrl_t *rrl, dns_rrl_key_t *key,
key->s.qclass = qclass & 0xff;
}
if (qname != NULL && qname->labels != 0) {
if (qname != NULL && qname->length != 0) {
dns_name_t *origin = NULL;
if (qname->attributes.wildcard && zone != NULL &&

View file

@ -481,7 +481,7 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create,
labels = dns_name_countlabels(name) -
dns_name_countlabels(&sdlz->common.origin);
dns_name_init(&relname, NULL);
dns_name_init(&relname);
dns_name_getlabelsequence(name, 0, labels, &relname);
result = dns_name_totext(&relname, DNS_NAME_OMITFINALDOT, &b);
if (result != ISC_R_SUCCESS) {
@ -603,7 +603,7 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create,
if (node->name == NULL) {
node->name = isc_mem_get(sdlz->common.mctx, sizeof(dns_name_t));
dns_name_init(node->name, NULL);
dns_name_init(node->name);
dns_name_dup(name, sdlz->common.mctx, node->name);
}
@ -1374,8 +1374,8 @@ dns_sdlzcreateDBP(isc_mem_t *mctx, void *driverarg, void *dbdata,
};
/* initialize and set origin */
dns_name_init(&sdlzdb->common.origin, NULL);
dns_name_dupwithoffsets(name, mctx, &sdlzdb->common.origin);
dns_name_init(&sdlzdb->common.origin);
dns_name_dup(name, mctx, &sdlzdb->common.origin);
isc_refcount_init(&sdlzdb->common.references, 1);
@ -1817,7 +1817,7 @@ dns_sdlz_putnamedrr(dns_sdlzallnodes_t *allnodes, const char *name,
return result;
}
sdlznode->name = isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(sdlznode->name, NULL);
dns_name_init(sdlznode->name);
dns_name_dup(newname, mctx, sdlznode->name);
ISC_LIST_PREPEND(allnodes->nodelist, sdlznode, link);
if (allnodes->origin == NULL &&

View file

@ -77,9 +77,9 @@ dns_soa_buildrdata(const dns_name_t *origin, const dns_name_t *contact,
soa.retry = retry;
soa.expire = expire;
soa.minimum = minimum;
dns_name_init(&soa.origin, NULL);
dns_name_init(&soa.origin);
dns_name_clone(origin, &soa.origin);
dns_name_init(&soa.contact, NULL);
dns_name_init(&soa.contact);
dns_name_clone(contact, &soa.contact);
return dns_rdata_fromstruct(rdata, rdclass, dns_rdatatype_soa, &soa,

View file

@ -213,9 +213,9 @@ dns_ssutable_addrule(dns_ssutable_t *table, bool grant,
.magic = SSURULEMAGIC,
};
dns_name_init(rule->identity, NULL);
dns_name_init(rule->identity);
dns_name_dup(identity, mctx, rule->identity);
dns_name_init(rule->name, NULL);
dns_name_init(rule->name);
dns_name_dup(name, mctx, rule->name);
if (ntypes > 0) {

View file

@ -50,46 +50,32 @@
#define BADTIMELEN 6
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 const hmacmd5 = DNS_NAME_INITABSOLUTE(hmacmd5_ndata,
hmacmd5_offsets);
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 unsigned char gsstsig_offsets[] = { 0, 9 };
static dns_name_t const gsstsig = DNS_NAME_INITABSOLUTE(gsstsig_ndata,
gsstsig_offsets);
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 unsigned char hmacsha1_offsets[] = { 0, 10 };
static dns_name_t const hmacsha1 = DNS_NAME_INITABSOLUTE(hmacsha1_ndata,
hmacsha1_offsets);
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 unsigned char hmacsha224_offsets[] = { 0, 12 };
static dns_name_t const hmacsha224 = DNS_NAME_INITABSOLUTE(hmacsha224_ndata,
hmacsha224_offsets);
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 unsigned char hmacsha256_offsets[] = { 0, 12 };
static dns_name_t const hmacsha256 = DNS_NAME_INITABSOLUTE(hmacsha256_ndata,
hmacsha256_offsets);
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 unsigned char hmacsha384_offsets[] = { 0, 12 };
static dns_name_t const hmacsha384 = DNS_NAME_INITABSOLUTE(hmacsha384_ndata,
hmacsha384_offsets);
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 unsigned char hmacsha512_offsets[] = { 0, 12 };
static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata,
hmacsha512_offsets);
static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata);
const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512;
static const struct {
@ -249,7 +235,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, dst_algorithm_t algorithm,
tkey->name = dns_fixedname_initname(&tkey->fn);
dns_name_copy(name, tkey->name);
(void)dns_name_downcase(tkey->name, tkey->name, NULL);
(void)dns_name_downcase(tkey->name, tkey->name);
if (algorithm != DST_ALG_UNKNOWN) {
if (dstkey != NULL && dst_key_alg(dstkey) != algorithm) {
@ -265,7 +251,7 @@ dns_tsigkey_createfromkey(const dns_name_t *name, dst_algorithm_t algorithm,
if (creator != NULL) {
tkey->creator = isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(tkey->creator, NULL);
dns_name_init(tkey->creator);
dns_name_dup(creator, mctx, tkey->creator);
}
@ -618,7 +604,7 @@ dns_tsig_sign(dns_message_t *msg) {
.error = response ? msg->querytsigstatus : dns_rcode_noerror,
};
dns_name_init(&tsig.algorithm, NULL);
dns_name_init(&tsig.algorithm);
dns_name_clone(key->algorithm, &tsig.algorithm);
isc_buffer_init(&databuf, data, sizeof(data));

View file

@ -298,9 +298,9 @@ trynsec3:
* Iterate over the ncache entry.
*/
found = false;
dns_name_init(&nsec3name, NULL);
dns_name_init(&nsec3name);
dns_fixedname_init(&fixed);
dns_name_downcase(name, dns_fixedname_name(&fixed), NULL);
dns_name_downcase(name, dns_fixedname_name(&fixed));
name = dns_fixedname_name(&fixed);
for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS;
result = dns_rdataset_next(rdataset))
@ -2350,7 +2350,7 @@ checkwildcard(dns_validator_t *val, dns_rdatatype_t type,
char namebuf[DNS_NAME_FORMATSIZE];
dns_rdataset_t *rdataset, trdataset;
dns_name_init(&tname, NULL);
dns_name_init(&tname);
dns_rdataset_init(&trdataset);
wild = dns_fixedname_name(&val->wild);
@ -2459,7 +2459,7 @@ findnsec3proofs(dns_validator_t *val) {
dns_name_t **proofs = val->proofs;
dns_rdataset_t *rdataset, trdataset;
dns_name_init(&tname, NULL);
dns_name_init(&tname);
dns_rdataset_init(&trdataset);
closest = dns_fixedname_initname(&fclosest);
nearest = dns_fixedname_initname(&fnearest);

Some files were not shown because too many files have changed in this diff Show more