[or-cvs] r14750: Fix part of bug 681: always reattach tunneled directory conn (in tor/trunk: . src/or)

nickm at seul.org nickm at seul.org
Tue May 27 20:26:41 UTC 2008


Author: nickm
Date: 2008-05-27 16:26:40 -0400 (Tue, 27 May 2008)
New Revision: 14750

Modified:
   tor/trunk/ChangeLog
   tor/trunk/src/or/connection_edge.c
Log:
Fix part of bug 681: always reattach tunneled directory connections, regardless of the setting for LeaveStreamsUnattached

Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2008-05-27 20:01:07 UTC (rev 14749)
+++ tor/trunk/ChangeLog	2008-05-27 20:26:40 UTC (rev 14750)
@@ -51,6 +51,9 @@
       servers.  Fix for bug 652.
     - Authorities correctly free policies on bad servers on
       exit. Fixes bug 672.
+    - When tunneling an encrypted directory connection, and its first circuit
+      fails do not leave it unattached and ask the controller to deal.  Fixes
+      the second part of bug 681.
 
   o Minor features:
     - Allow separate log levels to be configured for different logging

Modified: tor/trunk/src/or/connection_edge.c
===================================================================
--- tor/trunk/src/or/connection_edge.c	2008-05-27 20:01:07 UTC (rev 14749)
+++ tor/trunk/src/or/connection_edge.c	2008-05-27 20:26:40 UTC (rev 14750)
@@ -549,7 +549,9 @@
 {
   control_event_stream_status(conn, STREAM_EVENT_FAILED_RETRIABLE, reason);
   conn->_base.timestamp_lastread = time(NULL);
-  if (! get_options()->LeaveStreamsUnattached) {
+  if (!get_options()->LeaveStreamsUnattached || conn->use_begindir) {
+    /* If we're attaching streams ourself, or if this connection is
+     * a tunneled directory connection, then just attach it. */
     conn->_base.state = AP_CONN_STATE_CIRCUIT_WAIT;
     circuit_detach_stream(TO_CIRCUIT(circ),conn);
     return connection_ap_handshake_attach_circuit(conn);



More information about the tor-commits mailing list