add a new config option FetchUselessRouters, off by default, for

when you plan to run "exitlist" on this client and you want to know
about even the non-running descriptors.


svn:r6326
This commit is contained in:
Roger Dingledine 2006-04-08 21:35:17 +00:00
parent 3a5758e212
commit 2a94c8b493
3 changed files with 5 additions and 2 deletions

View File

@ -164,6 +164,7 @@ static config_var_t _option_vars[] = {
VAR("FastFirstHopPK", BOOL, FastFirstHopPK, "1"),
VAR("FetchServerDescriptors",BOOL, FetchServerDescriptors,"1"),
VAR("FetchHidServDescriptors",BOOL, FetchHidServDescriptors, "1"),
VAR("FetchUselessRouters", BOOL, FetchUselessRouters, "0"),
VAR("Group", STRING, Group, NULL),
VAR("HardwareAccel", BOOL, HardwareAccel, "0"),
VAR("HashedControlPassword",STRING, HashedControlPassword, NULL),

View File

@ -1286,6 +1286,7 @@ typedef struct {
int PublishHidServDescriptors; /**< and our hidden service descriptors? */
int FetchServerDescriptors; /**< Do we fetch server descriptors as normal? */
int FetchHidServDescriptors; /** and hidden service descriptors? */
int FetchUselessRouters; /**< Do we fetch non-running descriptors too? */
int AllDirActionsPrivate; /**< Should every directory action be sent
* through a Tor circuit? */

View File

@ -3251,8 +3251,9 @@ client_would_use_router(routerstatus_t *rs, time_t now)
/* This one is too old to consider. */
return 0;
}
if (!rs->is_running) {
/* If we had this router descriptor, we wouldn't even bother using it. */
if (!rs->is_running && !get_options()->FetchUselessRouters) {
/* If we had this router descriptor, we wouldn't even bother using it.
* But, if we want to have a complete list, fetch it anyway. */
return 0;
}
if (rs->published_on + ESTIMATED_PROPAGATION_TIME > now) {