Browse Source

If we close our OR connection because there's been a circuit
pending on it for too long, we were telling our bootstrap status
events "REASON=NONE". Now tell them "REASON=TIMEOUT".


svn:r15369

Roger Dingledine 17 years ago
parent
commit
8fa912a8c5
4 changed files with 9 additions and 3 deletions
  1. 3 0
      ChangeLog
  2. 2 1
      doc/TODO
  3. 3 1
      src/or/circuituse.c
  4. 1 1
      src/or/connection.c

+ 3 - 0
ChangeLog

@@ -49,6 +49,9 @@ Changes in version 0.2.1.2-alpha - 2008-06-??
       as soon as you run out of working bridges, rather than waiting
       for ten failures -- which will never happen if you have less than
       ten bridges.
+    - If we close our OR connection because there's been a circuit
+      pending on it for too long, we were telling our bootstrap status
+      events "REASON=NONE". Now tell them "REASON=TIMEOUT".
 
 
 Changes in version 0.2.1.1-alpha - 2008-06-13

+ 2 - 1
doc/TODO

@@ -350,8 +350,9 @@ R - if "no running bridges known", an application request should make
     results of the getinfo.
 R - get matt to make vidalia do a getinfo status/bootstrap-phase to
     get caught up after it connects.
-R * in circuituse.c,
+  o in circuituse.c,
     /* XXX021 consider setting n_conn->socket_error to TIMEOUT */
+R d Setting DirPort when acting as bridge will give false Warnings
 
 For 0.2.1.x:
   - Proposals to do:

+ 3 - 1
src/or/circuituse.c

@@ -752,7 +752,9 @@ circuit_build_failed(origin_circuit_t *circ)
                "(%s:%d). I'm going to try to rotate to a better connection.",
                n_conn->_base.address, n_conn->_base.port);
       n_conn->_base.or_is_obsolete = 1;
-      /* XXX021 consider setting n_conn->socket_error to TIMEOUT */
+      if (n_conn->_base.state < OR_CONN_STATE_TLS_HANDSHAKING &&
+          !n_conn->socket_error)
+        n_conn->socket_error = END_OR_CONN_REASON_TIMEOUT;
       entry_guard_register_connect_status(n_conn->identity_digest, 0,
                                           time(NULL));
     }

+ 1 - 1
src/or/connection.c

@@ -2288,7 +2288,7 @@ connection_handle_write(connection_t *conn, int force)
   return 0;
 }
 
-/** Openssl TLS record size is 16383; this is close. The goal here is to
+/** OpenSSL TLS record size is 16383; this is close. The goal here is to
  * push data out as soon as we know there's enough for a TLS record, so
  * during periods of high load we won't read entire megabytes from
  * input before pushing any data out. It also has the feature of not