aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2007-03-01 04:26:30 +0000
committerRoger Dingledine <arma@torproject.org>2007-03-01 04:26:30 +0000
commitdba4e040fcf1f19022abac7454d7a78844de2a91 (patch)
tree32bb6d9d0709eb0521988793f09f3850c3d014b9 /src
parentcbab0530c6f9d08b6037feb9d89ae6ee3dba59c1 (diff)
downloadtor-dba4e040fcf1f19022abac7454d7a78844de2a91.tar.gz
tor-dba4e040fcf1f19022abac7454d7a78844de2a91.zip
Disable encrypted directory connections when we don't have a server
descriptor for the destination. We'll get this working again in the 0.2.0 branch. svn:r9700
Diffstat (limited to 'src')
-rw-r--r--src/or/directory.c3
-rw-r--r--src/or/routerlist.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/or/directory.c b/src/or/directory.c
index d3e582ce7b..261cbd1034 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -372,7 +372,8 @@ directory_initiate_command(const char *address, uint32_t addr,
{
dir_connection_t *conn;
or_options_t *options = get_options();
- int want_to_tunnel = options->TunnelDirConns && supports_begindir;
+ int want_to_tunnel = options->TunnelDirConns && supports_begindir &&
+ router_get_by_digest(digest);
tor_assert(address);
tor_assert(addr);
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 28eeecb4d6..b0141f51da 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -561,6 +561,7 @@ router_pick_directory_server_impl(int requireother, int fascistfirewall,
if (fascistfirewall &&
prefer_tunnel &&
status->version_supports_begindir &&
+ router_get_by_digest(status->identity_digest) &&
fascist_firewall_allows_address_or(status->addr, status->or_port))
smartlist_add(is_trusted ? trusted_tunnel :
is_overloaded ? overloaded_tunnel : tunnel, status);
@@ -639,6 +640,7 @@ router_pick_trusteddirserver_impl(authority_type_t type,
if (fascistfirewall &&
prefer_tunnel &&
d->or_port &&
+ router_get_by_digest(d->digest) &&
fascist_firewall_allows_address_or(d->addr, d->or_port))
smartlist_add(is_overloaded ? overloaded_tunnel : tunnel,
&d->fake_status.status);