diff options
author | Roger Dingledine <arma@torproject.org> | 2004-09-28 23:27:41 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-09-28 23:27:41 +0000 |
commit | a31ba30ae6665ebb3153d1743685e97df3f9c5a5 (patch) | |
tree | eadbf6f8005102692298fe769be1c7417ccb4aa6 | |
parent | 11384b6d925e9629d373213495eb8d02edf2e678 (diff) | |
download | tor-a31ba30ae6665ebb3153d1743685e97df3f9c5a5.tar.gz tor-a31ba30ae6665ebb3153d1743685e97df3f9c5a5.zip |
if our local cached directory is new enough, go ahead and
start building circuits while we're fetching a new one
svn:r2394
-rw-r--r-- | src/or/dirserv.c | 2 | ||||
-rw-r--r-- | src/or/or.h | 3 | ||||
-rw-r--r-- | src/or/routerlist.c | 4 |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 55c2b9835b..067554ffd3 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -182,7 +182,7 @@ dirserv_router_fingerprint_is_known(const routerinfo_t *router) } } -/** If we are an authoritative directory, and the list of approved +/** If we are an authoritative dirserver, and the list of approved * servers contains one whose identity key digest is <b>digest</b>, * return that router's nickname. Otherwise return NULL. */ const char *dirserv_get_nickname_by_digest(const char *digest) diff --git a/src/or/or.h b/src/or/or.h index 23414425dc..eba01b8e61 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -136,7 +136,8 @@ #endif /** How often do we rotate onion keys? */ -#define MIN_ONION_KEY_LIFETIME (12*60*60) +#define OLD_MIN_ONION_KEY_LIFETIME (12*60*60) /* twice a day */ +#define MIN_ONION_KEY_LIFETIME (7*24*60*60) /* once a week */ /** How often do we rotate TLS contexts? */ #define MAX_SSL_KEY_LIFETIME (120*60) diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 3c4e39ff61..63a72d1ca9 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -68,6 +68,10 @@ int router_reload_router_list(void) if (router_load_routerlist_from_directory(s, NULL) < 0) { log_fn(LOG_WARN, "Cached directory '%s' was unparseable; ignoring.", filename); } + if(routerlist->published_on > time(NULL) - OLD_MIN_ONION_KEY_LIFETIME/2) { + /* XXX use new onion key lifetime when 0.0.8 servers are obsolete */ + directory_has_arrived(); /* do things we've been waiting to do */ + } tor_free(s); } } |