mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
actually listen when we try to route our dir connection via tor.
svn:r5432
This commit is contained in:
parent
5c949fce51
commit
98f353fa7c
@ -163,7 +163,6 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource,
|
|||||||
or_options_t *options = get_options();
|
or_options_t *options = get_options();
|
||||||
int fetch_fresh_first = server_mode(options) && options->DirPort != 0;
|
int fetch_fresh_first = server_mode(options) && options->DirPort != 0;
|
||||||
int directconn = !purpose_is_private(purpose);
|
int directconn = !purpose_is_private(purpose);
|
||||||
int need_to_use_tor = 0;
|
|
||||||
|
|
||||||
int need_v1_support = purpose == DIR_PURPOSE_FETCH_DIR ||
|
int need_v1_support = purpose == DIR_PURPOSE_FETCH_DIR ||
|
||||||
purpose == DIR_PURPOSE_FETCH_RUNNING_LIST;
|
purpose == DIR_PURPOSE_FETCH_RUNNING_LIST;
|
||||||
@ -202,11 +201,11 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource,
|
|||||||
ds = router_pick_trusteddirserver(1, 1, 1,
|
ds = router_pick_trusteddirserver(1, 1, 1,
|
||||||
retry_if_no_servers);
|
retry_if_no_servers);
|
||||||
if (!ds)
|
if (!ds)
|
||||||
need_to_use_tor = 1; /* last resort: try routing it via Tor */
|
directconn = 0; /* last resort: try routing it via Tor */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!directconn || need_to_use_tor) {
|
if (!directconn) {
|
||||||
/* Never use fascistfirewall; we're going via Tor. */
|
/* Never use fascistfirewall; we're going via Tor. */
|
||||||
if (purpose == DIR_PURPOSE_FETCH_RENDDESC) {
|
if (purpose == DIR_PURPOSE_FETCH_RENDDESC) {
|
||||||
/* only ask authdirservers, any of them will do */
|
/* only ask authdirservers, any of them will do */
|
||||||
@ -228,7 +227,7 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource,
|
|||||||
notice(LD_DIR,
|
notice(LD_DIR,
|
||||||
"No running dirservers known. Will try again later. (purpose %d)",
|
"No running dirservers known. Will try again later. (purpose %d)",
|
||||||
purpose);
|
purpose);
|
||||||
if (directconn) {
|
if (!purpose_is_private(purpose)) {
|
||||||
/* remember we tried them all and failed. */
|
/* remember we tried them all and failed. */
|
||||||
directory_all_unreachable(time(NULL));
|
directory_all_unreachable(time(NULL));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user