Selaa lähdekoodia

get rid of the separate reachability window for the hsdir flag.

svn:r12527
Roger Dingledine 16 vuotta sitten
vanhempi
commit
d62ef13d0a
2 muutettua tiedostoa jossa 7 lisäystä ja 9 poistoa
  1. 7 5
      src/or/dirserv.c
  2. 0 4
      src/or/or.h

+ 7 - 5
src/or/dirserv.c

@@ -1537,9 +1537,12 @@ dirserv_thinks_router_is_unreliable(time_t now,
   return 0;
 }
 
-/** Return true if <b>router</b> has an uptime of at least
- * <b>__MinUptimeHidServDirectoryV2</b> and is reachable in the last
- * REND_HS_DIR_REACHABLE_TIMEOUT seconds, else false.
+/** Return true iff <b>router</b> should be assigned the "HSDir" flag.
+ * Right now this means it advertises support for it, it has a high
+ * uptime, and it's currently considered Running.
+ *
+ * This function needs to be called after router->is_running has
+ * been set.
  */
 static int
 dirserv_thinks_router_is_hs_dir(routerinfo_t *router, time_t now)
@@ -1548,8 +1551,7 @@ dirserv_thinks_router_is_hs_dir(routerinfo_t *router, time_t now)
 
   return (router->wants_to_be_hs_dir &&
           uptime > get_options()->__MinUptimeHidServDirectoryV2 &&
-          ((router_is_me(router) && !we_are_hibernating()) ||
-           (now < router->last_reachable + REND_HS_DIR_REACHABLE_TIMEOUT)));
+          router->is_running);
 }
 
 /** Look through the routerlist, and assign the median uptime of running valid

+ 0 - 4
src/or/or.h

@@ -608,10 +608,6 @@ typedef enum {
  * in the ring) for a descriptor. */
 #define REND_NUMBER_OF_NON_CONSECUTIVE_REPLICAS 2
 
-/** Maximum time that an onion router may not respond unless taken
- * from the list of hidden service directories. */
-#define REND_HS_DIR_REACHABLE_TIMEOUT (45*60)
-
 /** Number of consecutive replicas for a descriptor. */
 #define REND_NUMBER_OF_CONSECUTIVE_REPLICAS 3