Prechádzať zdrojové kódy

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 21 rokov pred
rodič
commit
dbd4dadff7
2 zmenil súbory, kde vykonal 6 pridanie a 11 odobranie
  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))) {