From cb0dbbcfa593439bee29ff3b125301d58051a095 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 10 Oct 2007 04:37:38 +0000 Subject: [PATCH] r15621@catbus: nickm | 2007-10-10 00:37:25 -0400 Turns out, Bug 463 was just another "warn about something that is no big deal" thing. Downgrade, comment, and resolve. svn:r11829 --- ChangeLog | 5 +++++ src/or/dns.c | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 22fada7389..3d2660c352 100644 --- a/ChangeLog +++ b/ChangeLog @@ -55,6 +55,11 @@ Changes in version 0.2.0.8-alpha - 2007-??-?? - On some platforms, accept() can return a broken address. Detect this more quietly, and deal accordingly. (Fixes bug 483.) + o Minor bugfixes (DNS): + - It's not actually an error to find a non-pending entry in the DNS + cache when canceling a pending resolve. Don't log unless stuff + is fishy. Resolves bug 463. + o Code simplifications and refactoring: - Make a bunch of functions static. Remove some dead code. - Pull out about a third of the really big routerlist.c; put it in a diff --git a/src/or/dns.c b/src/or/dns.c index 64cfcb024e..7c52d56f85 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -836,8 +836,15 @@ dns_cancel_pending_resolve(const char *address) return; if (resolve->state != CACHE_STATE_PENDING) { - log_notice(LD_BUG,"Address %s is not pending (state %d). Dropping.", - escaped_safe_str(address), resolve->state); + /* We can get into this state if we never actually created the pending + * resolve, due to finding an earlier cached error or something. Just + * ignore it. */ + if (resolve->pending_connections) { + log_warn(LD_BUG, + "Address %s is not pending but has pending connections!", + escaped_safe_str(address)); + tor_fragile_assert(); + } return; } -- 2.47.3