From 4f743657faf9378c851a6b65aa5739ab3eeb7202 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 5 Apr 2003 19:53:45 +0000 Subject: [PATCH] make servers tolerate the dns bug. svn:r223 --- trunk/src/or/dns.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/trunk/src/or/dns.c b/trunk/src/or/dns.c index 362afce16d..0de83775f5 100644 --- a/trunk/src/or/dns.c +++ b/trunk/src/or/dns.c @@ -540,7 +540,15 @@ static int dns_found_answer(char *question, uint32_t answer, uint32_t valid) { return 0; } - assert(resolve->state == CACHE_STATE_PENDING); +// assert(resolve->state == CACHE_STATE_PENDING); + /* XXX this is a bug which hasn't been found yet. Probably something + * about slaves answering questions when they're not supposed to, and + * reusing the old question. + */ + if(resolve->state != CACHE_STATE_PENDING) { + log(LOG_ERR,"dns_found_answer(): BUG: resolve '%s' in state %d (not pending). Dropping.",question, resolve->state); + return 0; + } resolve->answer = ntohl(answer); if(valid)