memmove(looknew->ecs_addr, lookold->ecs_addr, len);
}
- dns_name_copy(dns_fixedname_name(&lookold->fdomain),
- dns_fixedname_name(&looknew->fdomain), NULL);
+ RUNTIME_CHECK(dns_name_copy(dns_fixedname_name(&lookold->fdomain), dns_fixedname_name(&looknew->fdomain), NULL) == ISC_R_SUCCESS);
if (servers)
clone_server_list(lookold->my_server_list,
if (lookup->ns_search_only)
lookup->recurse = false;
domain = dns_fixedname_name(&lookup->fdomain);
- dns_name_copy(name, domain, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, domain, NULL) == ISC_R_SUCCESS);
}
debug("adding server %s", namestr);
num = getaddresses(lookup, namestr, &lresult);
dns_rdataset_current(rdataset, &rdata);
result = dns_rdata_tostruct(&rdata, &cname, NULL);
check_result(result, "dns_rdata_tostruct");
- dns_name_copy(&cname.cname, qname, NULL);
+ RUNTIME_CHECK(dns_name_copy(&cname.cname, qname, NULL) == ISC_R_SUCCESS);
dns_rdata_freestruct(&cname);
}
}
/* Add AAAA and MX lookups. */
name = dns_fixedname_initname(&fixed);
- dns_name_copy(query->lookup->name, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(query->lookup->name, name, NULL) == ISC_R_SUCCESS);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, false);
dns_rdataset_current(rdataset, &rdata);
result = dns_rdata_tostruct(&rdata, &cname, NULL);
check_result(result, "dns_rdata_tostruct");
- dns_name_copy(&cname.cname, qname, NULL);
+ RUNTIME_CHECK(dns_name_copy(&cname.cname, qname, NULL) == ISC_R_SUCCESS);
dns_rdata_freestruct(&cname);
}
}
/* Add AAAA lookup. */
name = dns_fixedname_initname(&fixed);
- dns_name_copy(query->lookup->name, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(query->lookup->name, name, NULL) == ISC_R_SUCCESS);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, false);
dns_name_t *result;
result = dns_fixedname_initname(fzonecut);
- dns_name_copy(name, result, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, result, NULL) == ISC_R_SUCCESS);
return (result);
}
break;
}
if (result == ISC_R_NOMORE) {
- dns_name_copy(gorigin, nextname, NULL);
+ RUNTIME_CHECK(dns_name_copy(gorigin, nextname, NULL) == ISC_R_SUCCESS);
done = true;
} else if (result != ISC_R_SUCCESS)
fatal("iterating through the database failed: %s",
break;
}
if (result == ISC_R_NOMORE) {
- dns_name_copy(gorigin, nextname, NULL);
+ RUNTIME_CHECK(dns_name_copy(gorigin, nextname, NULL) == ISC_R_SUCCESS);
done = true;
} else if (result != ISC_R_SUCCESS)
fatal("iterating through the database failed: %s",
* address.
*/
zname = dns_fixedname_initname(&fzname);
- dns_name_copy(name, zname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, zname, NULL) == ISC_R_SUCCESS);
}
if (debugging) {
dns_name_t *zonename;
zonename = dns_fixedname_initname(&fixed);
- dns_name_copy(dns_db_origin(db), zonename, NULL);
+ RUNTIME_CHECK(dns_name_copy(dns_db_origin(db), zonename, NULL) == ISC_R_SUCCESS);
node = NULL;
result = dns_db_findnode(db, zonename, false, &node);
if (owner_name != NULL) {
name = dns_fixedname_initname(&fixed);
- dns_name_copy(owner_name, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(owner_name, name, NULL) == ISC_R_SUCCESS);
dns_rdataset_getownercase(rdataset, name);
}
dns_name_t *name;
name = dns_fixedname_initname(&fixed);
- dns_name_copy(owner_name, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(owner_name, name, NULL) == ISC_R_SUCCESS);
for (result = dns_rdatasetiter_first(rdsiter);
result == ISC_R_SUCCESS;
result = dns_rdatasetiter_next(rdsiter)) {
*/
if (dns_name_countlabels(zonename) == 0 ||
dns_name_issubdomain(zone, zonename))
- dns_name_copy(zone, zonename, NULL);
+ RUNTIME_CHECK(dns_name_copy(zone, zonename, NULL) == ISC_R_SUCCESS);
if (!dns_name_equal(zone, zonename))
return (ISC_R_IGNORE);
(*logit)(arg, ISC_LOG_DEBUG(3),
"NSEC3 indicates potential closest "
"encloser: '%s'", namebuf);
- dns_name_copy(qname, closest, NULL);
+ RUNTIME_CHECK(dns_name_copy(qname, closest, NULL) == ISC_R_SUCCESS);
*setclosest = true;
}
dns_name_format(qname, namebuf, sizeof(namebuf));
if (nearest != NULL &&
(dns_name_countlabels(nearest) == 0 ||
dns_name_issubdomain(nearest, qname))) {
- dns_name_copy(qname, nearest, NULL);
+ RUNTIME_CHECK(dns_name_copy(qname, nearest, NULL) == ISC_R_SUCCESS);
*setnearest = true;
}
isc_refcount_init(&nta->refcount, 1);
nta->name = dns_fixedname_initname(&nta->fn);
- dns_name_copy(name, nta->name, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, nta->name, NULL) == ISC_R_SUCCESS);
nta->magic = NTA_MAGIC;
} else if (result != ISC_R_SUCCESS) {
goto tree_exit;
} else if (!dcnull) {
- dns_name_copy(dcname, foundname, NULL);
+ RUNTIME_CHECK(dns_name_copy(dcname, foundname, NULL) == ISC_R_SUCCESS);
}
/*
* We now go looking for an NS rdataset at the node.
if (rbtdbiter->result != ISC_R_SUCCESS)
return (rbtdbiter->result);
- return (dns_name_copy(origin, name, NULL));
+ RUNTIME_CHECK(dns_name_copy(origin, name, NULL) == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
}
static void
glue = isc_mem_get(ctx->rbtdb->common.mctx, sizeof(*glue));
gluename = dns_fixedname_initname(&glue->fixedname);
- dns_name_copy(name_a, gluename, NULL);
+ RUNTIME_CHECK(dns_name_copy(name_a, gluename, NULL) == ISC_R_SUCCESS);
dns_rdataset_init(&glue->rdataset_a);
dns_rdataset_init(&glue->sigrdataset_a);
sizeof(*glue));
gluename = dns_fixedname_initname(&glue->fixedname);
- dns_name_copy(name_aaaa, gluename, NULL);
+ RUNTIME_CHECK(dns_name_copy(name_aaaa, gluename, NULL) == ISC_R_SUCCESS);
dns_rdataset_init(&glue->rdataset_a);
dns_rdataset_init(&glue->sigrdataset_a);
added = 0;
name = dns_fixedname_initname(&fixed);
- dns_name_copy(owner_name, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(owner_name, name, NULL) == ISC_R_SUCCESS);
dns_rdataset_getownercase(rdataset, name);
offset = 0xffff;
counter->allowed = 1;
counter->dropped = 0;
counter->domain = dns_fixedname_initname(&counter->fdname);
- dns_name_copy(&fctx->domain, counter->domain, NULL);
+ RUNTIME_CHECK(dns_name_copy(&fctx->domain, counter->domain, NULL) == ISC_R_SUCCESS);
ISC_LIST_APPEND(dbucket->list, counter, link);
}
} else {
*/
if (vevent->proofs[DNS_VALIDATOR_NOQNAMEPROOF] != NULL) {
wild = dns_fixedname_initname(&fwild);
- dns_name_copy(dns_fixedname_name(&vevent->validator->wild),
- wild, NULL);
+ RUNTIME_CHECK(dns_name_copy(dns_fixedname_name(&vevent->validator->wild), wild, NULL) == ISC_R_SUCCESS);
}
dns_validator_destroy(&vevent->validator);
isc_mem_put(fctx->mctx, valarg, sizeof(*valarg));
* Retrieve state from fctx->nsfetch before we destroy it.
*/
domain = dns_fixedname_initname(&fixed);
- dns_name_copy(&fctx->nsfetch->private->domain, domain, NULL);
+ RUNTIME_CHECK(dns_name_copy(&fctx->nsfetch->private->domain, domain, NULL) == ISC_R_SUCCESS);
if (dns_name_equal(&fctx->nsname, domain)) {
if (dns_rdataset_isassociated(fevent->rdataset)) {
dns_rdataset_disassociate(fevent->rdataset);
e->log_qname = qbuf->index;
qbuf->e = e;
dns_fixedname_init(&qbuf->qname);
- dns_name_copy(qname,
- dns_fixedname_name(&qbuf->qname),
- NULL);
+ RUNTIME_CHECK(dns_name_copy(qname, dns_fixedname_name(&qbuf->qname), NULL) == ISC_R_SUCCESS);
}
}
if (qbuf != NULL)
sdb_dbiterator_t *sdbiter = (sdb_dbiterator_t *)iterator;
attachnode(iterator->db, sdbiter->current, nodep);
- if (name != NULL)
- return (dns_name_copy(sdbiter->current->name, name, NULL));
+ if (name != NULL) {
+ RUNTIME_CHECK(dns_name_copy(sdbiter->current->name, name, NULL) == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
+ }
return (ISC_R_SUCCESS);
}
static isc_result_t
dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) {
UNUSED(iterator);
- return (dns_name_copy(dns_rootname, name, NULL));
+ RUNTIME_CHECK(dns_name_copy(dns_rootname, name, NULL) == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
}
/*
sdlz_dbiterator_t *sdlziter = (sdlz_dbiterator_t *)iterator;
attachnode(iterator->db, sdlziter->current, nodep);
- if (name != NULL)
- return (dns_name_copy(sdlziter->current->name, name, NULL));
+ if (name != NULL) {
+ RUNTIME_CHECK(dns_name_copy(sdlziter->current->name, name, NULL) == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
+ }
return (ISC_R_SUCCESS);
}
static isc_result_t
dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t *name) {
UNUSED(iterator);
- return (dns_name_copy(dns_rootname, name, NULL));
+ RUNTIME_CHECK(dns_name_copy(dns_rootname, name, NULL) == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
}
/*
dns_fixedname_t fixed;
dns_fixedname_init(&fixed);
- dns_name_copy(tkeyname, dns_fixedname_name(&fixed), NULL);
+ RUNTIME_CHECK(dns_name_copy(tkeyname, dns_fixedname_name(&fixed), NULL) == ISC_R_SUCCESS);
tkeyname = dns_fixedname_name(&fixed);
tkey.common.rdclass = dns_rdataclass_any;
* for the NSEC3 NOQNAME proof.
*/
closest = dns_fixedname_name(&val->closest);
- dns_name_copy(wild, closest, NULL);
+ RUNTIME_CHECK(dns_name_copy(wild, closest, NULL) == ISC_R_SUCCESS);
labels = dns_name_countlabels(closest) - 1;
dns_name_getlabelsequence(closest, 1, labels, closest);
val->attributes |= VALATTR_NEEDNOQNAME;
namebuf, sizeof(namebuf));
validator_log(val, ISC_LOG_DEBUG(3), "closest encloser from "
"wildcard signature '%s'", namebuf);
- dns_name_copy(dns_fixedname_name(&val->closest), closest, NULL);
+ RUNTIME_CHECK(dns_name_copy(dns_fixedname_name(&val->closest), closest, NULL) == ISC_R_SUCCESS);
closestp = NULL;
setclosestp = NULL;
} else {
secroot = dns_fixedname_initname(&fixedsecroot);
found = dns_fixedname_initname(&fixedfound);
- dns_name_copy(val->event->name, secroot, NULL);
+ RUNTIME_CHECK(dns_name_copy(val->event->name, secroot, NULL) == ISC_R_SUCCESS);
/*
* If this is a response to a DS query, we need to look in
* the parent zone for the trust anchor.
tname = dns_fixedname_initname(&val->fname);
if (val->labels == dns_name_countlabels(val->event->name))
- dns_name_copy(val->event->name, tname, NULL);
+ RUNTIME_CHECK(dns_name_copy(val->event->name, tname, NULL) == ISC_R_SUCCESS);
else
dns_name_split(val->event->name, val->labels,
NULL, tname);
dns_rdataset_disassociate(rdataset);
result = ISC_R_NOTFOUND;
} else if (dcname != NULL) {
- dns_name_copy(fname, dcname, NULL);
+ RUNTIME_CHECK(dns_name_copy(fname, dcname, NULL) == ISC_R_SUCCESS);
}
}
/*
* Remember bottom of zone due to NS.
*/
- dns_name_copy(name, bottom, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, bottom, NULL) == ISC_R_SUCCESS);
result = dns_rdataset_first(&rdataset);
while (result == ISC_R_SUCCESS) {
/*
* Remember bottom of zone due to DNAME.
*/
- dns_name_copy(name, bottom, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, bottom, NULL) == ISC_R_SUCCESS);
dns_rdataset_disassociate(&rdataset);
}
* Remember the obscuring name so that
* we skip all obscured names.
*/
- dns_name_copy(found, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(found, name, NULL) == ISC_R_SUCCESS);
delegation = true;
goto next_addnode;
}
* Remember the obscuring name so that
* we skip all obscured names.
*/
- dns_name_copy(found, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(found, name, NULL) == ISC_R_SUCCESS);
delegation = true;
goto next_removenode;
}
* Remember the obscuring name so that
* we skip all obscured names.
*/
- dns_name_copy(found, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(found, name, NULL) == ISC_R_SUCCESS);
is_bottom_of_zone = true;
goto next_node;
}
}
if (is_delegation(vctx, name, node, NULL)) {
zonecut = dns_fixedname_name(&fzonecut);
- dns_name_copy(name, zonecut, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, zonecut, NULL) == ISC_R_SUCCESS);
isdelegation = true;
} else if (has_dname(vctx, node)) {
zonecut = dns_fixedname_name(&fzonecut);
- dns_name_copy(name, zonecut, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, zonecut, NULL) == ISC_R_SUCCESS);
}
nextnode = NULL;
result = dns_dbiterator_next(dbiter);
} else {
prevname = dns_fixedname_name(&fprevname);
}
- dns_name_copy(name, prevname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, prevname, NULL) == ISC_R_SUCCESS);
if (*vresult == ISC_R_SUCCESS) {
*vresult = tvresult;
}
query_rpzfetch(client, name, type);
result = DNS_R_NXRRSET;
} else {
- dns_name_copy(name, st->r_name, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, st->r_name, NULL) == ISC_R_SUCCESS);
result = ns_query_recurse(client, type, st->r_name,
NULL, NULL, resuming);
if (result == ISC_R_SUCCESS) {
st->m.rpz = rpz;
st->m.type = rpz_type;
st->m.policy = policy;
- dns_name_copy(p_name, st->p_name, NULL);
+ RUNTIME_CHECK(dns_name_copy(p_name, st->p_name, NULL) == ISC_R_SUCCESS);
st->m.prefix = prefix;
st->m.result = result;
SAVE(st->m.zone, *zonep);
dns_name_getlabelsequence(qname, skip, labels - skip,
found);
} else if (found != NULL)
- dns_name_copy(&name, found, NULL);
+ RUNTIME_CHECK(dns_name_copy(&name, found, NULL) == ISC_R_SUCCESS);
return;
}
}
CTRACE(ISC_LOG_DEBUG(3), "redirect: found data: done");
- dns_name_copy(found, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(found, name, NULL) == ISC_R_SUCCESS);
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
if (dns_rdataset_isassociated(&trdataset)) {
if (result != ISC_R_SUCCESS)
return (ISC_R_NOTFOUND);
} else {
- dns_name_copy(redirectname, client->view->redirectzone, NULL);
+ RUNTIME_CHECK(dns_name_copy(redirectname, client->view->redirectzone, NULL) == ISC_R_SUCCESS);
}
options = 0;
result = dns_name_concatenate(found, dns_rootname, found, NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
- dns_name_copy(found, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(found, name, NULL) == ISC_R_SUCCESS);
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
if (dns_rdataset_isassociated(&trdataset)) {
SAVE(qctx->rpz_st->q.node, qctx->node);
SAVE(qctx->rpz_st->q.rdataset, qctx->rdataset);
SAVE(qctx->rpz_st->q.sigrdataset, qctx->sigrdataset);
- dns_name_copy(qctx->fname, qctx->rpz_st->fname, NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, qctx->rpz_st->fname, NULL) == ISC_R_SUCCESS);
qctx->rpz_st->q.result = result;
qctx->client->query.attributes |= NS_QUERYATTR_RECURSING;
return (ISC_R_COMPLETE);
* it here in case we need it.
*/
dns_fixedname_init(&qctx->dsname);
- dns_name_copy(qctx->fname, dns_fixedname_name(&qctx->dsname), NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, dns_fixedname_name(&qctx->dsname), NULL) == ISC_R_SUCCESS);
/*
* This is the best answer.
return (ns_query_done(qctx));;
}
}
- dns_name_copy(qctx->client->query.qname, qctx->fname, NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->client->query.qname, qctx->fname, NULL) == ISC_R_SUCCESS);
qctx->dns64 = false;
#ifdef dns64_bis_return_excluded_addresses
/*
SAVE(qctx->client->query.redirect.sigrdataset,
qctx->sigrdataset);
qctx->client->query.redirect.result = DNS_R_NCACHENXDOMAIN;
- dns_name_copy(qctx->fname, qctx->client->query.redirect.fname,
- NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, qctx->client->query.redirect.fname, NULL) == ISC_R_SUCCESS);
qctx->client->query.redirect.authoritative =
qctx->authoritative;
qctx->client->query.redirect.is_zone = qctx->is_zone;
goto cleanup;
}
- dns_name_copy(signer, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(signer, name, NULL) == ISC_R_SUCCESS);
/*
* Add SOA record. Omit the RRSIG if DNSSEC was not requested.
result = ISC_R_NOMEMORY;
goto cleanup;
}
- dns_name_copy(qctx->client->query.qname, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->client->query.qname, name, NULL) == ISC_R_SUCCESS);
cloneset = ns_client_newrdataset(qctx->client);
if (cloneset == NULL) {
goto cleanup;
}
- dns_name_copy(signer, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(signer, name, NULL) == ISC_R_SUCCESS);
/*
* Add SOA record. Omit the RRSIG if DNSSEC was not requested.
goto cleanup;
}
- dns_name_copy(nowild, name, NULL);
+ RUNTIME_CHECK(dns_name_copy(nowild, name, NULL) == ISC_R_SUCCESS);
cloneset = ns_client_newrdataset(qctx->client);
clonesigset = ns_client_newrdataset(qctx->client);
result = dns_rdata_tostruct(&rdata, &rrsig, NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if (dns_name_countlabels(signer) == 0) {
- dns_name_copy(&rrsig.signer, signer, NULL);
+ RUNTIME_CHECK(dns_name_copy(&rrsig.signer, signer, NULL) == ISC_R_SUCCESS);
} else if (!dns_name_equal(signer, &rrsig.signer)) {
return (ISC_R_FAILURE);
}
(qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0)
{
dns_fixedname_init(&qctx->wildcardname);
- dns_name_copy(qctx->fname,
- dns_fixedname_name(&qctx->wildcardname), NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, dns_fixedname_name(&qctx->wildcardname), NULL) == ISC_R_SUCCESS);
qctx->need_wildcardproof = true;
}
(qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0)
{
dns_fixedname_init(&qctx->wildcardname);
- dns_name_copy(qctx->fname,
- dns_fixedname_name(&qctx->wildcardname), NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, dns_fixedname_name(&qctx->wildcardname), NULL) == ISC_R_SUCCESS);
qctx->need_wildcardproof = true;
}
(qctx->fname->attributes & DNS_NAMEATTR_WILDCARD) != 0)
{
dns_fixedname_init(&qctx->wildcardname);
- dns_name_copy(qctx->fname,
- dns_fixedname_name(&qctx->wildcardname), NULL);
+ RUNTIME_CHECK(dns_name_copy(qctx->fname, dns_fixedname_name(&qctx->wildcardname), NULL) == ISC_R_SUCCESS);
qctx->need_wildcardproof = true;
}
/*
* Find the closest encloser.
*/
- dns_name_copy(name, cname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, cname, NULL) == ISC_R_SUCCESS);
while (result == DNS_R_NXDOMAIN) {
labels = dns_name_countlabels(cname) - 1;
/*
*/
labels = dns_name_countlabels(cname) + 1;
if (dns_name_countlabels(name) == labels)
- dns_name_copy(name, wname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, wname, NULL) == ISC_R_SUCCESS);
else
dns_name_split(name, labels, NULL, wname);
add_rr_prepare_ctx_t *ctx = rr_action_data;
ctx->oldname = dns_fixedname_initname(&fixed);
- dns_name_copy(name, ctx->oldname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, ctx->oldname, NULL) == ISC_R_SUCCESS);
dns_rdataset_getownercase(&rdataset, ctx->oldname);
}
t = ISC_LIST_HEAD(temp->tuples);
while (t != NULL) {
name = &t->name;
- (void)dns_name_copy(name, tmpname, NULL);
+ RUNTIME_CHECK(dns_name_copy(name, tmpname, NULL) == ISC_R_SUCCESS);
*typep = t->rdata.type;
/* A new unique name begins here. */
ISC_LIST_APPEND(trans->nslist, pns, link);
ISC_LIST_INIT(pns->servers);
- dns_name_copy(&ns.name, pns->name, NULL);
+ RUNTIME_CHECK(dns_name_copy(&ns.name, pns->name, NULL) == ISC_R_SUCCESS);
dns_rdata_reset(&rdata);
dns_rdata_freestruct(&ns);
}