summaryrefslogtreecommitdiff
path: root/respip/respip.c
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-07-22 12:15:55 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-07-22 12:15:55 +0000
commitc68e7bcd81d62e9f5364c6da22fd9917976acf85 (patch)
tree47fef24c9b7ae049d7afe24404d07a93e4ea7d8e /respip/respip.c
parent22e58f330a151944c24e010d23ec3881df6681b6 (diff)
import unbound 1.25.2vendor/unbound/1.25.2
Diffstat (limited to 'respip/respip.c')
-rw-r--r--respip/respip.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/respip/respip.c b/respip/respip.c
index ff12114dec97..0a7dedd07ab6 100644
--- a/respip/respip.c
+++ b/respip/respip.c
@@ -1114,7 +1114,13 @@ respip_operate(struct module_qstate* qstate, enum module_ev event, int id,
if((qstate->qinfo.qtype == LDNS_RR_TYPE_A ||
qstate->qinfo.qtype == LDNS_RR_TYPE_AAAA ||
qstate->qinfo.qtype == LDNS_RR_TYPE_ANY) &&
- qstate->return_msg && qstate->return_msg->rep) {
+ qstate->return_msg && qstate->return_msg->rep &&
+ !(qstate->env->need_to_validate &&
+ (!(qstate->query_flags & BIT_CD)
+ || qstate->env->cfg->ignore_cd) &&
+ (qstate->return_msg->rep->security <= sec_status_bogus
+ || qstate->return_msg->rep->security ==
+ sec_status_secure_sentinel_fail))) {
struct reply_info* new_rep = qstate->return_msg->rep;
struct ub_packed_rrset_key* alias_rrset = NULL;
struct respip_action_info actinfo = {0, 0, 0, 0, NULL, 0, NULL};