|
|
c629ea |
From 52aeaf4924ec3f6689e6aafedbe41473d2bda992 Mon Sep 17 00:00:00 2001
|
|
|
c629ea |
From: Wouter Wijngaards <wouter@nlnetlabs.nl>
|
|
|
c629ea |
Date: Tue, 14 Nov 2017 10:01:44 +0000
|
|
|
c629ea |
Subject: [PATCH] - Fix #2882: Unbound behaviour changes (wrong) when
|
|
|
c629ea |
domain-insecure is set for stub zone. It no longer searches for DNSSEC
|
|
|
c629ea |
information.
|
|
|
c629ea |
|
|
|
c629ea |
git-svn-id: file:///svn/unbound/trunk@4404 be551aaa-1e26-0410-a405-d3ace91eadb9
|
|
|
c629ea |
---
|
|
|
c629ea |
iterator/iter_utils.c | 5 +++++
|
|
|
c629ea |
iterator/iter_utils.h | 2 +-
|
|
|
c629ea |
2 files changed, 6 insertions(+), 1 deletion(-)
|
|
|
c629ea |
|
|
|
c629ea |
diff --git a/iterator/iter_utils.c b/iterator/iter_utils.c
|
|
|
c629ea |
index 0b1b456..70cab40 100644
|
|
|
c629ea |
--- a/iterator/iter_utils.c
|
|
|
c629ea |
+++ b/iterator/iter_utils.c
|
|
|
c629ea |
@@ -656,6 +656,11 @@ iter_indicates_dnssec(struct module_env* env, struct delegpt* dp,
|
|
|
c629ea |
/* a trust anchor exists with this name, RRSIGs expected */
|
|
|
c629ea |
if((a=anchor_find(env->anchors, dp->name, dp->namelabs, dp->namelen,
|
|
|
c629ea |
dclass))) {
|
|
|
c629ea |
+ if(a->numDS == 0 && a->numDNSKEY == 0) {
|
|
|
c629ea |
+ /* insecure trust point */
|
|
|
c629ea |
+ lock_basic_unlock(&a->lock);
|
|
|
c629ea |
+ return 0;
|
|
|
c629ea |
+ }
|
|
|
c629ea |
lock_basic_unlock(&a->lock);
|
|
|
c629ea |
return 1;
|
|
|
c629ea |
}
|
|
|
c629ea |
diff --git a/iterator/iter_utils.h b/iterator/iter_utils.h
|
|
|
c629ea |
index 50c5fc0..5b6df7f 100644
|
|
|
c629ea |
--- a/iterator/iter_utils.h
|
|
|
c629ea |
+++ b/iterator/iter_utils.h
|
|
|
c629ea |
@@ -193,7 +193,7 @@ int iter_indicates_dnssec_fwd(struct module_env* env,
|
|
|
c629ea |
* @param dp: delegation point.
|
|
|
c629ea |
* @param msg: delegation message, with DS if a secure referral.
|
|
|
c629ea |
* @param dclass: class of query.
|
|
|
c629ea |
- * @return 1 if dnssec is expected, 0 if not.
|
|
|
c629ea |
+ * @return 1 if dnssec is expected, 0 if not or insecure point above qname.
|
|
|
c629ea |
*/
|
|
|
c629ea |
int iter_indicates_dnssec(struct module_env* env, struct delegpt* dp,
|
|
|
c629ea |
struct dns_msg* msg, uint16_t dclass);
|
|
|
c629ea |
--
|
|
|
c629ea |
2.20.1
|
|
|
c629ea |
|