diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/or/routerlist.c | 6 |
2 files changed, 13 insertions, 0 deletions
@@ -1,4 +1,11 @@ Changes in version 0.2.1.11-alpha - 2009-01-?? + o Major bugfixes: + - Discard router descriptors as we load them if they are more than + five days old. Otherwise if Tor is off for a long time and then + starts with cached descriptors, it will try to use the onion + keys in those obsolete descriptors when building circuits. Bugfix + on 0.2.0.x. Fixes bug 887. + o Minor bugfixes: - Make outbound DNS packets respect the OutboundBindAddress setting. Fixes the bug part of bug 798. Bugfix on 0.1.2.2-alpha. diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 4aa129c645..b08d506dbe 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -3060,6 +3060,12 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg, } } + if (!in_consensus && from_cache && + router->cache_info.published_on < time(NULL) - OLD_ROUTER_DESC_MAX_AGE) { + *msg = "Router descriptor was really old."; + return ROUTER_WAS_NOT_NEW; + } + /* We haven't seen a router with this identity before. Add it to the end of * the list. */ routerlist_insert(routerlist, router); |