Parcourir la source

Authoritative dirservers now also cache the directory, since
they weren't writing anything into their datadirectory, so
when they stop and start, they would know nothing until they
fetched a directory from another authdirserver.


svn:r2891

Roger Dingledine il y a 20 ans
Parent
commit
dbd4dadff7
2 fichiers modifiés avec 6 ajouts et 11 suppressions
  1. 0 1
      src/or/dirserv.c
  2. 6 10
      src/or/routerparse.c

+ 0 - 1
src/or/dirserv.c

@@ -713,7 +713,6 @@ void dirserv_set_cached_directory(const char *directory, time_t when,
 {
   time_t now;
   cached_dir_t *d;
-  tor_assert(!get_options()->AuthoritativeDir);
   now = time(NULL);
   d = is_running_routers ? &cached_runningrouters : &cached_directory;
   if (when<=d->published) {

+ 6 - 10
src/or/routerparse.c

@@ -387,11 +387,9 @@ router_parse_routerlist_from_directory(const char *str,
      goto err;
   }
 
-  if(!get_options()->AuthoritativeDir) {
-    /* Now that we know the signature is okay, and we have a
-     * publication time, cache the directory. */
-    dirserv_set_cached_directory(str, published_on, 0);
-  }
+  /* Now that we know the signature is okay, and we have a
+   * publication time, cache the directory. */
+  dirserv_set_cached_directory(str, published_on, 0);
 
   if (!(tok = find_first_by_keyword(tokens, K_RECOMMENDED_SOFTWARE))) {
     log_fn(LOG_WARN, "Missing recommended-software line from directory.");
@@ -515,11 +513,9 @@ router_parse_runningrouters(const char *str)
      goto err;
   }
 
-  if(!get_options()->AuthoritativeDir) {
-    /* Now that we know the signature is okay, and we have a
-     * publication time, cache the list. */
-    dirserv_set_cached_directory(str, published_on, 1);
-  }
+  /* Now that we know the signature is okay, and we have a
+   * publication time, cache the list. */
+  dirserv_set_cached_directory(str, published_on, 1);
 
   if (!(tok = find_first_by_keyword(tokens, K_ROUTER_STATUS))) {
     if (!(tok = find_first_by_keyword(tokens, K_RUNNING_ROUTERS))) {