summaryrefslogtreecommitdiff
path: root/src/libknot/nameserver/name-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libknot/nameserver/name-server.c')
-rw-r--r--src/libknot/nameserver/name-server.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libknot/nameserver/name-server.c b/src/libknot/nameserver/name-server.c
index 8238d7e..b81a2c0 100644
--- a/src/libknot/nameserver/name-server.c
+++ b/src/libknot/nameserver/name-server.c
@@ -189,6 +189,7 @@ static int ns_check_wildcard(const knot_dname_t *name, knot_packet_t *resp,
assert(*rrset != NULL);
if (knot_dname_is_wildcard((*rrset)->owner)) {
+ resp->flags |= KNOT_PF_WILDCARD; /* Mark */
knot_rrset_t *synth_rrset =
ns_synth_from_wildcard(*rrset, name);
if (synth_rrset == NULL) {
@@ -254,7 +255,8 @@ static int ns_add_rrsigs(knot_rrset_t *rrset, knot_packet_t *resp,
dbg_ns_detail("RRSIGS: %p\n", knot_rrset_rrsigs(rrset));
if (DNSSEC_ENABLED
- && knot_query_dnssec_requested(knot_packet_query(resp))
+ && (knot_query_dnssec_requested(knot_packet_query(resp))
+ || knot_packet_qtype(resp) == KNOT_RRTYPE_ANY)
&& (rrsigs = knot_rrset_get_rrsigs(rrset)) != NULL) {
if (name != NULL) {
int ret = ns_check_wildcard(name, resp, &rrsigs);