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

[or-cvs] r17984: {tor} When our circuit fails at the first hop (e.g. we get a destr (in tor/trunk: . src/or)



Author: arma
Date: 2009-01-06 16:28:48 -0500 (Tue, 06 Jan 2009)
New Revision: 17984

Modified:
   tor/trunk/ChangeLog
   tor/trunk/src/or/circuituse.c
   tor/trunk/src/or/or.h
Log:
When our circuit fails at the first hop (e.g. we get a destroy
cell back), avoid using that OR connection anymore, and also
tell all the one-hop directory requests waiting for it that they
should fail. Bugfix on 0.2.1.3-alpha.


Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2009-01-06 20:50:55 UTC (rev 17983)
+++ tor/trunk/ChangeLog	2009-01-06 21:28:48 UTC (rev 17984)
@@ -1,8 +1,13 @@
 Changes in version 0.2.1.11-alpha - 2009-01-??
   o Minor bugfixes:
     - Make outbound DNS packets respect the OutboundBindAddress setting.
-      Fixes the bug part of bug 798.
+      Fixes the bug part of bug 798. Bugfix on 0.1.2.2-alpha.
+    - When our circuit fails at the first hop (e.g. we get a destroy
+      cell back), avoid using that OR connection anymore, and also
+      tell all the one-hop directory requests waiting for it that they
+      should fail. Bugfix on 0.2.1.3-alpha.
 
+
 Changes in version 0.2.1.10-alpha - 2009-01-06
   o Major bugfixes:
     - If the cached networkstatus consensus is more than five days old,

Modified: tor/trunk/src/or/circuituse.c
===================================================================
--- tor/trunk/src/or/circuituse.c	2009-01-06 20:50:55 UTC (rev 17983)
+++ tor/trunk/src/or/circuituse.c	2009-01-06 21:28:48 UTC (rev 17984)
@@ -802,7 +802,7 @@
     /* We failed at the first hop. If there's an OR connection
        to blame, blame it. */
     or_connection_t *n_conn = NULL;
-    const char *n_conn_id = NULL;
+    const char *n_conn_id = circ->_base.n_hop->identity_digest;
     if (circ->_base.n_conn) {
       n_conn = circ->_base.n_conn;
       if (n_conn) n_conn_id = n_conn->identity_digest;

Modified: tor/trunk/src/or/or.h
===================================================================
--- tor/trunk/src/or/or.h	2009-01-06 20:50:55 UTC (rev 17983)
+++ tor/trunk/src/or/or.h	2009-01-06 21:28:48 UTC (rev 17984)
@@ -391,7 +391,7 @@
 #define EXIT_PURPOSE_RESOLVE 2
 #define _EXIT_PURPOSE_MAX 2
 
-/* !!!! If any connection purpose is ever over over 31, we must grow the type
+/* !!!! If any connection purpose is ever over 31, we must grow the type
  * field in connection_t. */
 
 /** Circuit state: I'm the origin, still haven't done all my handshakes. */