aboutsummaryrefslogtreecommitdiff
path: root/src/or/onion.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-04-07 21:36:03 +0000
committerNick Mathewson <nickm@torproject.org>2004-04-07 21:36:03 +0000
commit8169da5c30cbea7c73f5d0f56d1a507703aa48cc (patch)
tree585eb5c25e87798ee35f2ece02bc52bd86d3fadf /src/or/onion.c
parent7c7301fe926a9ca0f48ed645f3c4a92466477ce1 (diff)
downloadtor-8169da5c30cbea7c73f5d0f56d1a507703aa48cc.tar.gz
tor-8169da5c30cbea7c73f5d0f56d1a507703aa48cc.zip
Don't use Tor version 0.0.5 for intro/rendezvous points. (We don't need
to worry about 0.0.4 or earlier, because nobody is running them any more.) svn:r1533
Diffstat (limited to 'src/or/onion.c')
-rw-r--r--src/or/onion.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/or/onion.c b/src/or/onion.c
index d97c397973..8bc9c0a23c 100644
--- a/src/or/onion.c
+++ b/src/or/onion.c
@@ -337,7 +337,16 @@ static routerinfo_t *choose_good_exit_server(uint8_t purpose, routerlist_t *dir)
{
if(purpose == CIRCUIT_PURPOSE_C_GENERAL)
return choose_good_exit_server_general(dir);
- else
+ else if (purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND ||
+ purpose == CIRCUIT_PURPOSE_C_REND_JOINED) {
+ smartlist_t *obsolete_routers;
+ routerinfo_t *r;
+ obsolete_routers = smartlist_create();
+ router_add_nonrendezvous_to_list(obsolete_routers);
+ r = router_choose_random_node(dir, options.RendNodes, options.RendExcludeNodes, NULL);
+ smartlist_free(obsolete_routers);
+ return r;
+ } else
return router_choose_random_node(dir, options.RendNodes, options.RendExcludeNodes, NULL);
}