knot_dname_from_str@Base 2.3.0
knot_dname_in@Base 2.3.0
knot_dname_is_equal@Base 2.3.0
- knot_dname_is_sub@Base 2.3.0
knot_dname_is_wildcard@Base 2.3.0
knot_dname_label_is_equal@Base 2.6.0
knot_dname_labels@Base 2.3.0
/* Accept both subdomain and dname match. */
const knot_dname_t *owner = rrset->owner;
const knot_dname_t *qname = knot_pkt_qname(query);
- const bool is_sub = knot_dname_is_sub(owner, qname);
- const bool is_apex = knot_dname_is_equal(owner, qname);
- if (!is_sub && !is_apex) {
+ const int in_bailiwick = knot_dname_in_bailiwick(owner, qname);
+ if (in_bailiwick < 0) {
*rcode = KNOT_RCODE_NOTZONE;
return KNOT_EOUTOFZONE;
}
+ const bool is_apex = in_bailiwick == 0;
if (is_dnssec_protected(rrset->type, is_apex)) {
*rcode = KNOT_RCODE_REFUSED;
assert(contents->apex != NULL);
assert(node);
- if (!knot_dname_is_sub(node->owner, contents->apex->owner)) {
+ if (knot_dname_in_bailiwick(node->owner, contents->apex->owner) <= 0) {
return KNOT_EOUTOFZONE;
}
}
// check if the RRSet belongs to the zone
- if (!knot_dname_is_sub(rr->owner, z->apex->owner) &&
- !knot_dname_is_equal(rr->owner, z->apex->owner)) {
+ if (knot_dname_in_bailiwick(rr->owner, z->apex->owner) < 0) {
return KNOT_EOUTOFZONE;
}
}
// check if the RRSet belongs to the zone
- if (!knot_dname_is_sub(rr->owner, z->apex->owner) &&
- !knot_dname_is_equal(rr->owner, z->apex->owner)) {
+ if (knot_dname_in_bailiwick(rr->owner, z->apex->owner) < 0) {
return KNOT_EOUTOFZONE;
}
for (int i = 0; i < ns_rrs->count; ++i) {
knot_rdata_t *ns_rr = knot_rdataset_at(ns_rrs, i);
const knot_dname_t *ns_dname = knot_ns_name(ns_rr);
- if (!knot_dname_is_sub(ns_dname, node->owner)) {
+ if (knot_dname_in_bailiwick(ns_dname, node->owner) <= 0) {
continue;
}
*/
int knot_dname_in_bailiwick(const knot_dname_t *name, const knot_dname_t *bailiwick);
-/*!
- * \brief Checks if one domain name is a (strict) subdomain of other.
- *
- * \param sub Domain name to be the possible subdomain.
- * \param domain Domain name to be the possible parent domain.
- *
- * \retval true \a sub is a (strict) subdomain of \a domain.
- * \retval false otherwise.
- */
-static inline
-bool knot_dname_is_sub(const knot_dname_t *sub, const knot_dname_t *domain)
-{
- return knot_dname_in_bailiwick(sub, domain) > 0;
-}
-
/*!
* \brief Check if the domain name is a subdomain of or equal to other.
*