diff options
author | Roger Dingledine <arma@torproject.org> | 2006-04-09 00:36:15 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-04-09 00:36:15 +0000 |
commit | d48cdbe2e0a1f6ee8e223c71fdeb57ed50b8414a (patch) | |
tree | f5d50da94c09d6bd0b2a6707796659193bd2ce18 /src/or/directory.c | |
parent | 9a6b9f169212b042b3bd86dcad0472bd6cd55d50 (diff) | |
download | tor-d48cdbe2e0a1f6ee8e223c71fdeb57ed50b8414a.tar.gz tor-d48cdbe2e0a1f6ee8e223c71fdeb57ed50b8414a.zip |
When fetching rendezvous descriptors, we were willing to ask
v2 authorities too. And of course they did not have a copy.
svn:r6331
Diffstat (limited to 'src/or/directory.c')
-rw-r--r-- | src/or/directory.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/directory.c b/src/or/directory.c index 88ff50099c..f073fc14e0 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -123,7 +123,8 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource, int directconn = !purpose_is_private(purpose); int need_v1_support = purpose == DIR_PURPOSE_FETCH_DIR || - purpose == DIR_PURPOSE_FETCH_RUNNING_LIST; + purpose == DIR_PURPOSE_FETCH_RUNNING_LIST || + purpose == DIR_PURPOSE_FETCH_RENDDESC; int need_v2_support = purpose == DIR_PURPOSE_FETCH_NETWORKSTATUS || purpose == DIR_PURPOSE_FETCH_SERVERDESC; @@ -154,7 +155,7 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource, log_info(LD_DIR, "No router found for %s; falling back to dirserver list", which); - rs = router_pick_trusteddirserver(1, 1, 1, + rs = router_pick_trusteddirserver(need_v1_support, 1, 1, retry_if_no_servers); if (!rs) directconn = 0; /* last resort: try routing it via Tor */ @@ -165,7 +166,7 @@ directory_get_from_dirserver(uint8_t purpose, const char *resource, /* Never use fascistfirewall; we're going via Tor. */ if (purpose == DIR_PURPOSE_FETCH_RENDDESC) { /* only ask authdirservers, any of them will do */ - rs = router_pick_trusteddirserver(0, 0, 0, retry_if_no_servers); + rs = router_pick_trusteddirserver(1, 0, 0, retry_if_no_servers); } else { /* anybody with a non-zero dirport will do. Disregard firewalls. */ rs = router_pick_directory_server(1, 0, need_v2_support, |