summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nsd/nsec3.c
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2018-06-14 06:23:25 +0000
committerflorian <florian@openbsd.org>2018-06-14 06:23:25 +0000
commitb8cbfafc32d61ab34bba874ac0feaf539d299e52 (patch)
tree88470f736d8e15b8747f5bd764f7acf58ee02905 /usr.sbin/nsd/nsec3.c
parentUse mbuf (not cluster) always for t_template of tcpcb. (diff)
downloadwireguard-openbsd-b8cbfafc32d61ab34bba874ac0feaf539d299e52.tar.xz
wireguard-openbsd-b8cbfafc32d61ab34bba874ac0feaf539d299e52.zip
Update to nsd 4.1.22
The improved refuse-any option that showed up in upstream 4.1.22 had already been cherry picked in OpenBSD. OK sthen
Diffstat (limited to 'usr.sbin/nsd/nsec3.c')
-rw-r--r--usr.sbin/nsd/nsec3.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/nsd/nsec3.c b/usr.sbin/nsd/nsec3.c
index 716d2e72a62..e1fe4ae8d4f 100644
--- a/usr.sbin/nsd/nsec3.c
+++ b/usr.sbin/nsd/nsec3.c
@@ -385,7 +385,7 @@ nsec3_clear_precompile(struct namedb* db, zone_type* zone)
walk = zone->apex;
while(walk && domain_is_subdomain(walk, zone->apex)) {
if(walk->nsec3) {
- if(nsec3_domain_part_of_zone(walk, zone)) {
+ if(nsec3_condition_hash(walk, zone)) {
walk->nsec3->nsec3_node.key = NULL;
walk->nsec3->nsec3_cover = NULL;
walk->nsec3->nsec3_wcard_child_cover = NULL;
@@ -397,8 +397,7 @@ nsec3_clear_precompile(struct namedb* db, zone_type* zone)
walk->nsec3->hash_wc = NULL;
}
}
- if(!walk->parent ||
- nsec3_domain_part_of_zone(walk->parent, zone)) {
+ if(nsec3_condition_dshash(walk, zone)) {
walk->nsec3->nsec3_ds_parent_cover = NULL;
walk->nsec3->nsec3_ds_parent_is_exact = 0;
if (walk->nsec3->ds_parent_hash) {
@@ -440,7 +439,8 @@ nsec3_condition_dshash(domain_type* d, zone_type* z)
{
return d->is_existing && !domain_has_only_NSEC3(d, z) &&
(domain_find_rrset(d, z, TYPE_DS) ||
- domain_find_rrset(d, z, TYPE_NS)) && d != z->apex;
+ domain_find_rrset(d, z, TYPE_NS)) && d != z->apex
+ && nsec3_domain_part_of_zone(d->parent, z);
}
zone_type*