summaryrefslogtreecommitdiff
path: root/daemon/worker.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/worker.c')
-rw-r--r--daemon/worker.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/worker.c b/daemon/worker.c
index 6121c7dbe363..44a989a4e945 100644
--- a/daemon/worker.c
+++ b/daemon/worker.c
@@ -1351,6 +1351,13 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
}
/* If this request does not have the recursion bit set, verify
+ * ACLs allow the recursion bit to be treated as set. */
+ if(!(LDNS_RD_WIRE(sldns_buffer_begin(c->buffer))) &&
+ acl == acl_allow_setrd ) {
+ LDNS_RD_SET(sldns_buffer_begin(c->buffer));
+ }
+
+ /* If this request does not have the recursion bit set, verify
* ACLs allow the snooping. */
if(!(LDNS_RD_WIRE(sldns_buffer_begin(c->buffer))) &&
acl != acl_allow_snoop ) {