diff --git a/doc/Changelog b/doc/Changelog index 406fa3fb4..39bc68e1d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,8 @@ +18 September 2017: Wouter + - tag 1.6.6 (is 1.6.6rc2) + - Fix that looping modules always stop the query, and don't pass + control. + 15 September 2017: Wouter - Fix unbound-host to report error for DNSSEC state of failed lookups. - Spelling fixes, from Phil Porada. diff --git a/services/mesh.c b/services/mesh.c index 2f92880fe..3fcd54115 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -1350,7 +1350,13 @@ mesh_continue(struct mesh_area* mesh, struct mesh_state* mstate, /* error is bad, handle pass back up below */ mstate->s.return_rcode = LDNS_RCODE_SERVFAIL; } - if(s == module_error || s == module_finished) { + if(s == module_error) { + mesh_query_done(mstate); + mesh_walk_supers(mesh, mstate); + mesh_state_delete(&mstate->s); + return 0; + } + if(s == module_finished) { if(mstate->s.curmod == 0) { mesh_query_done(mstate); mesh_walk_supers(mesh, mstate);