mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
Fixup assertion that no longer holds (since the new DoS prevention code jostles out old queries).
git-svn-id: file:///svn/unbound/trunk@1623 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
578c1632ce
commit
daf63c7e89
3 changed files with 13 additions and 6 deletions
|
|
@ -1,3 +1,7 @@
|
|||
26 May 2009: Wouter
|
||||
- Thanks again to Brett Carr, found an assertion that was not true.
|
||||
Assertion checked if recursion parent query still existed.
|
||||
|
||||
29 April 2009: Wouter
|
||||
- Thanks to Brett Carr, caught windows resource leak, use
|
||||
closesocket() and not close() on sockets or else the network stack
|
||||
|
|
|
|||
|
|
@ -1707,6 +1707,9 @@ processPrimeResponse(struct module_qstate* qstate, int id)
|
|||
struct iter_qstate* iq = (struct iter_qstate*)qstate->minfo[id];
|
||||
enum response_type type = response_type_from_server(0, iq->response,
|
||||
&iq->qchase, iq->dp);
|
||||
/* @@@ DEBUG - fail to prime roots often */
|
||||
/* if((ub_random(qstate->env->rnd) & 0x7) != 0)
|
||||
type = RESPONSE_TYPE_ANSWER+1; */
|
||||
if(type == RESPONSE_TYPE_ANSWER) {
|
||||
qstate->return_rcode = LDNS_RCODE_NOERROR;
|
||||
qstate->return_msg = iq->response;
|
||||
|
|
@ -1766,16 +1769,15 @@ processTargetResponse(struct module_qstate* qstate, int id,
|
|||
log_query_info(VERB_ALGO, "processTargetResponse super", &forq->qinfo);
|
||||
|
||||
/* check to see if parent event is still interested (in orig name). */
|
||||
if(!foriq->dp)
|
||||
return; /* not interested anymore */
|
||||
dpns = delegpt_find_ns(foriq->dp, qstate->qinfo.qname,
|
||||
qstate->qinfo.qname_len);
|
||||
if(!dpns) {
|
||||
/* FIXME: maybe store this nameserver address in the cache
|
||||
* anyways? */
|
||||
/* If not, just stop processing this event */
|
||||
/* If not interested, just stop processing this event */
|
||||
verbose(VERB_ALGO, "subq: parent not interested anymore");
|
||||
/* this is an error, and will cause parent to be reactivated
|
||||
* even though nothing has happened */
|
||||
log_assert(0);
|
||||
/* could be because parent was jostled out of the cache,
|
||||
and a new identical query arrived, that does not want it*/
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -422,6 +422,7 @@ void
|
|||
worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void* arg)
|
||||
{
|
||||
struct worker* worker = (struct worker*)arg;
|
||||
verbosity = 5; /* @@@ DEBUG */
|
||||
verbose(VERB_QUERY, "caught stop signal (wsaevent)");
|
||||
worker->need_to_exit = 1;
|
||||
comm_base_exit(worker->base);
|
||||
|
|
|
|||
Loading…
Reference in a new issue