Browse Source

only non-authdirservers cache the dir they just fetched

svn:r2747
Roger Dingledine 19 years ago
parent
commit
b773045a58
2 changed files with 6 additions and 3 deletions
  1. 1 0
      src/or/dirserv.c
  2. 5 3
      src/or/routerparse.c

+ 1 - 0
src/or/dirserv.c

@@ -688,6 +688,7 @@ static char *cached_directory_z = NULL;
 static size_t cached_directory_z_len = 0;
 static time_t cached_directory_published = 0;
 
+/** DOCDOC */
 void dirserv_set_cached_directory(const char *directory, time_t when)
 {
   time_t now;

+ 5 - 3
src/or/routerparse.c

@@ -345,9 +345,11 @@ router_parse_routerlist_from_directory(const char *str,
   smartlist_free(tokens);
   tokens = NULL;
 
-  /* Now that we know the signature is okay, cache the directory. */
-  /* XXXX009 extract published time if possible. */
-  dirserv_set_cached_directory(str, time(NULL));
+  if(!get_options()->AuthoritativeDir) {
+    /* Now that we know the signature is okay, cache the directory. */
+    /* XXXX009 extract published time if possible. */
+    dirserv_set_cached_directory(str, time(NULL));
+  }
 
   /* Now that we know the signature is okay, check the version. */
   if (check_version)