From: Wouter Wijngaards Date: Tue, 23 Aug 2016 08:30:12 +0000 (+0000) Subject: - Fix #804: unbound stops responding after outage. Fixes queries X-Git-Tag: release-1.5.10~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d2dee3d5a460b5a8899ac94ae3e383b739842f4e;p=thirdparty%2Funbound.git - Fix #804: unbound stops responding after outage. Fixes queries that attempt to wait for an empty list of subqueries. git-svn-id: file:///svn/unbound/trunk@3830 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index caac35263..9fa7d6ebf 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +23 August 2016: Wouter + - Fix #804: unbound stops responding after outage. Fixes queries + that attempt to wait for an empty list of subqueries. + 8 August 2016: Wouter - Note that OPENPGPKEY type is RFC 7929. diff --git a/services/mesh.c b/services/mesh.c index 8f74cbe82..b0434b3ff 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -1069,6 +1069,12 @@ mesh_continue(struct mesh_area* mesh, struct mesh_state* mstate, *ev = module_event_pass; return 1; } + if(s == module_wait_subquery && mstate->sub_set.count == 0) { + log_err("module cannot wait for subquery, subquery list empty"); + log_query_info(VERB_QUERY, "pass error for qstate", + &mstate->s.qinfo); + s = module_error; + } if(s == module_error && mstate->s.return_rcode == LDNS_RCODE_NOERROR) { /* error is bad, handle pass back up below */ mstate->s.return_rcode = LDNS_RCODE_SERVFAIL;