(list_type == dns_rdatatype_any ||
rdataset->type == list_type)) ||
(list_addresses &&
- (rdataset->type == dns_rdatatype_a ||
- rdataset->type == dns_rdatatype_aaaa ||
+ (dns_rdatatype_isaddr(rdataset->type) ||
rdataset->type == dns_rdatatype_ns ||
rdataset->type == dns_rdatatype_ptr))))
{
dns_fixedname_init(&name);
CHECK(dns__db_addrdataset(sampledb->db, node, version, now, rdataset,
options, addedrdataset DNS__DB_FLARG_PASS));
- if (rdataset->type == dns_rdatatype_a ||
- rdataset->type == dns_rdatatype_aaaa)
- {
+ if (dns_rdatatype_isaddr(rdataset->type)) {
CHECK(dns_db_nodefullname(sampledb->db, node,
dns_fixedname_name(&name)));
CHECK(syncptrs(sampledb->inst, dns_fixedname_name(&name),
goto cleanup;
}
- if (rdataset->type == dns_rdatatype_a ||
- rdataset->type == dns_rdatatype_aaaa)
- {
+ if (dns_rdatatype_isaddr(rdataset->type)) {
CHECK(dns_db_nodefullname(sampledb->db, node,
dns_fixedname_name(&name)));
CHECK(syncptrs(sampledb->inst, dns_fixedname_name(&name),
rdataset->ttl = ttlclamp(rdataset->ttl);
}
- REQUIRE(rdtype == dns_rdatatype_a || rdtype == dns_rdatatype_aaaa);
+ REQUIRE(dns_rdatatype_isaddr(rdtype));
for (result = dns_rdataset_first(rdataset); result == ISC_R_SUCCESS;
result = dns_rdataset_next(rdataset))
adb = adbname->adb;
REQUIRE(DNS_ADB_VALID(adb));
- REQUIRE(rdtype == dns_rdatatype_a || rdtype == dns_rdatatype_aaaa);
+ REQUIRE(dns_rdatatype_isaddr(rdtype));
fname = dns_fixedname_initname(&foundname);
dns_rdataset_init(&rdataset);
}
/* else - 'simple' case - without labels */
- if (value->type != dns_rdatatype_a && value->type != dns_rdatatype_aaaa)
- {
+ if (!dns_rdatatype_isaddr(value->type)) {
return ISC_R_FAILURE;
}
}
}
- if (type == dns_rdatatype_rrsig || type == dns_rdatatype_sig) {
+ if (dns_rdatatype_issig(type)) {
covers = dns_rdata_covers(&rdata[rdcount]);
} else {
covers = 0;
#if DNS_QPDB_LIMITLRUUPDATE
if (header->type == dns_rdatatype_ns ||
(header->trust == dns_trust_glue &&
- (header->type == dns_rdatatype_a ||
- header->type == dns_rdatatype_aaaa)))
+ dns_rdatatype_isaddr(header->type)))
{
/*
* Glue records are updated if at least DNS_QPDB_LRUUPDATE_GLUE
INSIST(resp->result != ISC_R_SUCCESS ||
dns_rdataset_isassociated(resp->rdataset) ||
- fctx->type == dns_rdatatype_any ||
- fctx->type == dns_rdatatype_rrsig ||
- fctx->type == dns_rdatatype_sig);
+ dns_rdatatype_ismulti(fctx->type));
/*
* Negative results must be indicated in resp->result.
hresp = ISC_LIST_HEAD(fctx->resps);
if (hresp != NULL) {
- if (!negative && !chaining &&
- (fctx->type == dns_rdatatype_any ||
- fctx->type == dns_rdatatype_rrsig ||
- fctx->type == dns_rdatatype_sig))
+ if (!negative && !chaining && dns_rdatatype_ismulti(fctx->type))
{
/*
* Don't bind rdatasets; the caller
if (!ISC_LIST_EMPTY(fctx->validators)) {
INSIST(!negative);
- INSIST(fctx->type == dns_rdatatype_any ||
- fctx->type == dns_rdatatype_rrsig ||
- fctx->type == dns_rdatatype_sig);
+ INSIST(dns_rdatatype_ismulti(fctx->type));
/*
* Don't send a response yet - we have
* more rdatasets that still need to
* DNS_R_CNAME or DNS_R_DNAME and we must set up
* the rdatasets.
*/
- if ((fctx->type != dns_rdatatype_any &&
- fctx->type != dns_rdatatype_rrsig &&
- fctx->type != dns_rdatatype_sig) ||
+ if (!dns_rdatatype_ismulti(fctx->type) ||
name->attributes.chaining)
{
ardataset = resp->rdataset;
}
if (ANSWER(rdataset) && need_validation) {
- if (fctx->type != dns_rdatatype_any &&
- fctx->type != dns_rdatatype_rrsig &&
- fctx->type != dns_rdatatype_sig)
- {
+ if (!dns_rdatatype_ismulti(fctx->type)) {
/*
* This is The Answer. We will
* validate it, but first we
rdataset != NULL;
rdataset = ISC_LIST_NEXT(rdataset, link))
{
- if (rdataset->type == dns_rdatatype_rrsig) {
+ if (dns_rdatatype_issig(rdataset->type)) {
rtype = rdataset->covers;
} else {
rtype = rdataset->type;
}
- if (rtype == dns_rdatatype_a ||
- rtype == dns_rdatatype_aaaa)
- {
+ if (dns_rdatatype_isaddr(rtype)) {
mark_related(name, rdataset, external,
gluing);
}
int order;
REQUIRE(rdataset != NULL);
- REQUIRE(rdataset->type == dns_rdatatype_cname ||
- rdataset->type == dns_rdatatype_dname);
+ REQUIRE(dns_rdatatype_isalias(rdataset->type));
/*
* By default, we allow any target name.
* we treat these types as a subset of ANY.
*/
rctx->type = fctx->type;
- if (rctx->type == dns_rdatatype_rrsig ||
- rctx->type == dns_rdatatype_sig)
- {
+ if (dns_rdatatype_issig(fctx->type)) {
rctx->type = dns_rdatatype_any;
}
return ISC_R_COMPLETE;
}
- if ((fctx->type == dns_rdatatype_sig ||
- fctx->type == dns_rdatatype_rrsig) &&
+ if (dns_rdatatype_issig(fctx->type) &&
rdataset->type != fctx->type)
{
continue;
}
- if ((rdataset->type == dns_rdatatype_a ||
- rdataset->type == dns_rdatatype_aaaa) &&
+ if (dns_rdatatype_isaddr(rdataset->type) &&
!is_answeraddress_allowed(fctx->res->view, rctx->aname,
rdataset))
{
return ISC_R_COMPLETE;
}
- if ((rdataset->type == dns_rdatatype_cname ||
- rdataset->type == dns_rdatatype_dname) &&
+ if (dns_rdatatype_isalias(rdataset->type) &&
!is_answertarget_allowed(fctx, fctx->name, rctx->aname,
rdataset, NULL))
{
return ISC_R_COMPLETE;
}
- if ((rctx->ardataset->type == dns_rdatatype_a ||
- rctx->ardataset->type == dns_rdatatype_aaaa) &&
+ if (dns_rdatatype_isaddr(rctx->ardataset->type) &&
!is_answeraddress_allowed(fctx->res->view, rctx->aname,
rctx->ardataset))
{
rctx->result = DNS_R_SERVFAIL;
return ISC_R_COMPLETE;
}
- if ((rctx->ardataset->type == dns_rdatatype_cname ||
- rctx->ardataset->type == dns_rdatatype_dname) &&
+ if (dns_rdatatype_isalias(rctx->ardataset->type) &&
rctx->type != rctx->ardataset->type &&
rctx->type != dns_rdatatype_any &&
!is_answertarget_allowed(fctx, fctx->name, rctx->aname,
rdataset = ISC_LIST_NEXT(rdataset, link))
{
dns_rdatatype_t type = rdataset->type;
- if (type == dns_rdatatype_rrsig) {
+ if (dns_rdatatype_issig(rdataset->type)) {
type = rdataset->covers;
}
if ((type == dns_rdatatype_ns ||
bool secure_domain = false;
dns_rdatatype_t type = rdataset->type;
- if (type == dns_rdatatype_rrsig) {
+ if (dns_rdatatype_issig(type)) {
type = rdataset->covers;
}
* additional section that are in the answer section or if
* the record gets dropped due to message size constraints.
*/
- if (rctx->glue_in_answer &&
- (fctx->type == dns_rdatatype_aaaa || fctx->type == dns_rdatatype_a))
- {
+ if (rctx->glue_in_answer && dns_rdatatype_isaddr(fctx->type)) {
(void)dns_rdataset_additionaldata(
rctx->ns_rdataset, rctx->ns_name, check_answer, fctx);
}
UNUSED(now);
UNUSED(sigrdataset);
- if (type == dns_rdatatype_sig || type == dns_rdatatype_rrsig) {
+ if (dns_rdatatype_issig(type)) {
return ISC_R_NOTIMPLEMENTED;
}
}
dns_db_detachnode(*dbp, nodep);
- if (qtype == dns_rdatatype_rrsig ||
- qtype == dns_rdatatype_sig)
- {
+ if (dns_rdatatype_issig(qtype)) {
result = DNS_R_NXRRSET;
} else {
result = dns_db_findext(*dbp, p_name, *versionp,
/*
* If it's an RRSIG or SIG query, we'll iterate the node.
*/
- if (qctx->qtype == dns_rdatatype_rrsig ||
- qctx->qtype == dns_rdatatype_sig)
- {
+ if (dns_rdatatype_issig(qctx->qtype)) {
qctx->type = dns_rdatatype_any;
}
*/
if (qctx->view->root_key_sentinel &&
qctx->client->query.restarts == 0 &&
- (qctx->qtype == dns_rdatatype_a ||
- qctx->qtype == dns_rdatatype_aaaa) &&
+ (dns_rdatatype_isaddr(qctx->qtype)) &&
(qctx->client->message->flags & DNS_MESSAGEFLAG_CD) == 0)
{
root_key_sentinel_detect(qctx);
}
INSIST(qctx->rdataset != NULL);
- if (qctx->qtype == dns_rdatatype_rrsig ||
- qctx->qtype == dns_rdatatype_sig)
- {
+ if (dns_rdatatype_issig(qctx->qtype)) {
qctx->type = dns_rdatatype_any;
} else {
qctx->type = qctx->qtype;
} else if (qctx->view->minimal_any && !TCP(qctx->client) &&
!WANTDNSSEC(qctx->client) &&
qctx->qtype == dns_rdatatype_any &&
- (qctx->rdataset->type == dns_rdatatype_sig ||
- qctx->rdataset->type == dns_rdatatype_rrsig))
+ (dns_rdatatype_issig(qctx->rdataset->type)))
{
CCTRACE(ISC_LOG_DEBUG(5), "query_respond_any: "
"minimal-any skip signature");
* Remember the first RRtype we find so we
* can skip others with minimal-any.
*/
- if (qctx->rdataset->type == dns_rdatatype_sig ||
- qctx->rdataset->type == dns_rdatatype_rrsig)
- {
+ if (dns_rdatatype_issig(qctx->rdataset->type)) {
onetype = qctx->rdataset->covers;
} else {
onetype = qctx->rdataset->type;
* At least one matching rdataset was found
*/
query_addauth(qctx);
- } else if (qctx->qtype == dns_rdatatype_rrsig ||
- qctx->qtype == dns_rdatatype_sig)
- {
+ } else if (dns_rdatatype_issig(qctx->qtype)) {
/*
* No matching rdatasets were found, but we got
* here on a search for RRSIG/SIG, so that's okay.
goto cleanup;
}
if (!ISC_LIST_EMPTY(qctx->view->dns64) &&
- (qctx->type == dns_rdatatype_a ||
- qctx->type == dns_rdatatype_aaaa)) /* XXX not yet */
+ dns_rdatatype_isaddr(qctx->type)) /* XXX not yet */
{
goto cleanup;
}
goto cleanup;
}
if (!ISC_LIST_EMPTY(qctx->view->dns64) &&
- (qctx->type == dns_rdatatype_a ||
- qctx->type == dns_rdatatype_aaaa)) /* XXX not yet */
+ dns_rdatatype_isaddr(qctx->type)) /* XXX not yet */
{
goto cleanup;
}
if (!ISC_LIST_EMPTY(secs[DNS_SECTION_ANSWER]) ||
qctx->client->message->rcode != dns_rcode_noerror ||
- (qctx->qtype != dns_rdatatype_a &&
- qctx->qtype != dns_rdatatype_aaaa))
+ !dns_rdatatype_isaddr(qctx->qtype))
{
return;
}
* this name and type */
*typep = type = t->rdata.type;
- if (type == dns_rdatatype_rrsig ||
- type == dns_rdatatype_sig)
- {
+ if (dns_rdatatype_issig(type)) {
covers = dns_rdata_covers(&t->rdata);
} else if (type == dns_rdatatype_any) {
dns_db_detachnode(db, &node);
rdl.type = rdata->type;
rdl.rdclass = rdata->rdclass;
rdl.ttl = ttl;
- if (rdata->type == dns_rdatatype_sig ||
- rdata->type == dns_rdatatype_rrsig)
- {
+ if (dns_rdatatype_issig(rdata->type)) {
rdl.covers = dns_rdata_covers(rdata);
} else {
rdl.covers = dns_rdatatype_none;
msgrdl->type = rdata->type;
msgrdl->rdclass = rdata->rdclass;
msgrdl->ttl = ttl;
- if (rdata->type == dns_rdatatype_sig ||
- rdata->type == dns_rdatatype_rrsig)
- {
+ if (dns_rdatatype_issig(rdata->type)) {
msgrdl->covers = dns_rdata_covers(rdata);
} else {
msgrdl->covers = dns_rdatatype_none;