[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r9700: Disable encrypted directory connections when we don't have a (in tor/trunk: . doc src/or)



Author: arma
Date: 2007-02-28 23:26:30 -0500 (Wed, 28 Feb 2007)
New Revision: 9700

Modified:
   tor/trunk/ChangeLog
   tor/trunk/doc/TODO
   tor/trunk/src/or/directory.c
   tor/trunk/src/or/routerlist.c
Log:
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.


Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2007-03-01 04:08:23 UTC (rev 9699)
+++ tor/trunk/ChangeLog	2007-03-01 04:26:30 UTC (rev 9700)
@@ -33,6 +33,9 @@
       configuration values on mingw; the high-order 32 bits would get
       truncated.  If the value was then reloaded, disaster would
       occur. (Fixes bug 400 and maybe also bug 397.)
+    - 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.
 
 
 Changes in version 0.1.2.8-beta - 2007-02-26

Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO	2007-03-01 04:08:23 UTC (rev 9699)
+++ tor/trunk/doc/TODO	2007-03-01 04:26:30 UTC (rev 9700)
@@ -35,7 +35,7 @@
     directory port."
     o Implement
     D turn the received socks addr:port into a digest for setting .exit
-R   - be able to connect without having a server descriptor, to bootstrap.
+    D be able to connect without having a server descriptor, to bootstrap.
     D handle connect-dir streams that don't have a chosen_exit_name set.
     o include ORPort in DirServers lines so we can know where to connect.
       list the orport as 0 if it can't handle begin_dir.
@@ -43,7 +43,7 @@
 
   . option to dl directory info via tor:
     TunnelDirConns and PreferTunneledDirConns
-R   - actually cause the directory.c functions to know about or_port
+    D actually cause the directory.c functions to know about or_port
       and use it when we're supposed to.
     o for tunneled edge conns, stop reading to the bridge connection
       when the or_conn we're writing to has a full outbuf.

Modified: tor/trunk/src/or/directory.c
===================================================================
--- tor/trunk/src/or/directory.c	2007-03-01 04:08:23 UTC (rev 9699)
+++ tor/trunk/src/or/directory.c	2007-03-01 04:26:30 UTC (rev 9700)
@@ -372,7 +372,8 @@
 {
   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);

Modified: tor/trunk/src/or/routerlist.c
===================================================================
--- tor/trunk/src/or/routerlist.c	2007-03-01 04:08:23 UTC (rev 9699)
+++ tor/trunk/src/or/routerlist.c	2007-03-01 04:26:30 UTC (rev 9700)
@@ -561,6 +561,7 @@
     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 @@
       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);