mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-25 08:07:12 -04:00
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:
commit
24db1b1a8a
115 changed files with 877 additions and 1312 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)); \
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
sub = name_prefix(&name, origin, &prefix);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
/*%<
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (dns_name_equal(&name, owner)) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
529
lib/dns/name.c
529
lib/dns/name.c
File diff suppressed because it is too large
Load diff
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
35
lib/dns/qp.c
35
lib/dns/qp.c
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -232,11 +231,11 @@ tostruct_ch_a(ARGS_TOSTRUCT) {
|
|||
|
||||
dns_rdata_toregion(rdata, ®ion);
|
||||
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, 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(®ion));
|
||||
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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
num = uint16_fromregion(®ion);
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
|
||||
afsdb->subtype = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion, target);
|
||||
|
||||
case 3:
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
|
||||
amtrelay->precedence = uint8_fromregion(®ion);
|
||||
|
|
@ -453,8 +453,8 @@ casecompare_amtrelay(ARGS_COMPARE) {
|
|||
return isc_region_compare(®ion1, ®ion2);
|
||||
}
|
||||
|
||||
dns_name_init(&name1, NULL);
|
||||
dns_name_init(&name2, NULL);
|
||||
dns_name_init(&name1);
|
||||
dns_name_init(&name2);
|
||||
|
||||
isc_region_consume(®ion1, 2);
|
||||
isc_region_consume(®ion2, 2);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
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, ®ion);
|
||||
|
||||
ipseckey->precedence = uint8_fromregion(®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
name_duporclone(&name, mctx, &ipseckey->gateway);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
|
|
@ -494,8 +494,8 @@ casecompare_ipseckey(ARGS_COMPARE) {
|
|||
return isc_region_compare(®ion1, ®ion2);
|
||||
}
|
||||
|
||||
dns_name_init(&name1, NULL);
|
||||
dns_name_init(&name2, NULL);
|
||||
dns_name_init(&name1);
|
||||
dns_name_init(&name2);
|
||||
|
||||
isc_region_consume(®ion1, 3);
|
||||
isc_region_consume(®ion2, 3);
|
||||
|
|
|
|||
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
num = uint16_fromregion(®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
lp->pref = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -170,8 +168,8 @@ compare_minfo(ARGS_COMPARE) {
|
|||
isc_region_consume(®ion1, name_length(&name1));
|
||||
isc_region_consume(®ion2, 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, ®ion1);
|
||||
dns_name_fromregion(&name2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
dns_name_init(&minfo->rmailbox, NULL);
|
||||
dns_name_init(&minfo->rmailbox);
|
||||
name_duporclone(&name, mctx, &minfo->rmailbox);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ismailbox(&name)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
num = uint16_fromregion(®ion);
|
||||
|
|
@ -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(®ion, 2);
|
||||
|
||||
dns_name_init(&name, offsets);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
mx->pref = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_name_fromregion(&name2, ®ion2);
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, 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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, 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) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -171,8 +169,8 @@ compare_rp(ARGS_COMPARE) {
|
|||
isc_region_consume(®ion1, name_length(&name1));
|
||||
isc_region_consume(®ion2, 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, ®ion1);
|
||||
dns_name_fromregion(&name2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
dns_name_init(&rp->mail, NULL);
|
||||
dns_name_init(&rp->mail);
|
||||
name_duporclone(&name, mctx, &rp->mail);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ismailbox(&name)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
num = uint16_fromregion(®ion);
|
||||
|
|
@ -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(®ion, 2);
|
||||
isc_buffer_add(target, 2);
|
||||
|
||||
dns_name_init(&name, offsets);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
rt->preference = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -262,8 +260,8 @@ compare_soa(ARGS_COMPARE) {
|
|||
isc_region_consume(®ion1, name_length(&name1));
|
||||
isc_region_consume(®ion2, 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, ®ion1);
|
||||
dns_name_fromregion(&name2, ®ion2);
|
||||
|
|
@ -319,15 +317,15 @@ tostruct_soa(ARGS_TOSTRUCT) {
|
|||
|
||||
dns_rdata_toregion(rdata, ®ion);
|
||||
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
dns_name_init(&soa->origin, NULL);
|
||||
dns_name_init(&soa->origin);
|
||||
name_duporclone(&name, mctx, &soa->origin);
|
||||
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
dns_name_init(&soa->contact, NULL);
|
||||
dns_name_init(&soa->contact);
|
||||
name_duporclone(&name, mctx, &soa->contact);
|
||||
|
||||
soa->serial = uint32_fromregion(®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
dns_name_init(&talink->prev, NULL);
|
||||
dns_name_init(&talink->prev);
|
||||
name_duporclone(&name, mctx, &talink->prev);
|
||||
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
dns_name_init(&talink->next, NULL);
|
||||
dns_name_init(&talink->next);
|
||||
name_duporclone(&name, mctx, &talink->next);
|
||||
|
||||
talink->mctx = mctx;
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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(®ion2, octets);
|
||||
}
|
||||
|
||||
dns_name_init(&name1, NULL);
|
||||
dns_name_init(&name2, NULL);
|
||||
dns_name_init(&name1);
|
||||
dns_name_init(&name2);
|
||||
dns_name_fromregion(&name1, ®ion1);
|
||||
dns_name_fromregion(&name2, ®ion2);
|
||||
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(®ion, 1 + 16 - prefixlen / 8);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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) &&
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
num = uint16_fromregion(®ion);
|
||||
|
|
@ -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(®ion, 2);
|
||||
|
||||
dns_name_init(&name, offsets);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
|
||||
kx->preference = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
RETERR(dns_name_towire(&name, cctx, target, NULL));
|
||||
isc_region_consume(®ion, 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, ®ion);
|
||||
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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
|
||||
px->preference = uint16_fromregion(®ion);
|
||||
|
|
@ -270,11 +269,11 @@ tostruct_in_px(ARGS_TOSTRUCT) {
|
|||
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
|
||||
dns_name_init(&px->map822, NULL);
|
||||
dns_name_init(&px->map822);
|
||||
name_duporclone(&name, mctx, &px->map822);
|
||||
isc_region_consume(®ion, 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);
|
||||
|
|
|
|||
|
|
@ -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, ®ion1);
|
||||
dns_rdata_toregion(rdata2, ®ion2);
|
||||
|
|
@ -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, ®ion);
|
||||
srv->priority = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
|
|
@ -281,7 +280,7 @@ tostruct_in_srv(ARGS_TOSTRUCT) {
|
|||
srv->port = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
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, ®ion);
|
||||
isc_region_consume(®ion, 4);
|
||||
port = uint16_fromregion(®ion);
|
||||
|
|
@ -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, ®ion);
|
||||
isc_region_consume(®ion, 6);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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, ®ion);
|
||||
|
||||
|
|
@ -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, ®ion);
|
||||
RETERR(dns_name_towire(&name, cctx, target, NULL));
|
||||
isc_region_consume(®ion, name_length(&name));
|
||||
|
|
@ -1026,8 +1025,8 @@ generic_tostruct_in_svcb(ARGS_TOSTRUCT) {
|
|||
svcb->priority = uint16_fromregion(®ion);
|
||||
isc_region_consume(®ion, 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, ®ion);
|
||||
isc_region_consume(®ion, 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, ®ion);
|
||||
alias = uint16_fromregion(®ion) == 0;
|
||||
isc_region_consume(®ion, 2);
|
||||
|
|
@ -1209,7 +1207,7 @@ generic_checknames_in_svcb(ARGS_CHECKNAMES) {
|
|||
INSIST(region.length > 1);
|
||||
alias = uint16_fromregion(®ion) == 0;
|
||||
isc_region_consume(®ion, 2);
|
||||
dns_name_init(&name, NULL);
|
||||
dns_name_init(&name);
|
||||
dns_name_fromregion(&name, ®ion);
|
||||
if (!alias && !dns_name_ishostname(&name, false)) {
|
||||
if (bad != NULL) {
|
||||
|
|
|
|||
|
|
@ -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]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
} };
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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 &&
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in a new issue