]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
identify the exit node correctly when we timeout and detach
authorRoger Dingledine <arma@torproject.org>
Mon, 30 Apr 2007 23:24:38 +0000 (23:24 +0000)
committerRoger Dingledine <arma@torproject.org>
Mon, 30 Apr 2007 23:24:38 +0000 (23:24 +0000)
from a circuit, even if the exit node is in the middle.

there are probably a few more places that need this fix too.

svn:r10076

src/or/circuituse.c
src/or/connection_edge.c

index 427d788b11d9594ffd92b2f68b31505a307b7ca8..70b884c446edac55a3022657a523a6c64a6db7d7 100644 (file)
@@ -1190,7 +1190,7 @@ consider_recording_trackhost(edge_connection_t *conn, origin_circuit_t *circ)
 /** Attempt to attach the connection <b>conn</b> to <b>circ</b>, and send a
  * begin or resolve cell as appropriate.  Return values are as for
  * connection_ap_handshake_attach_circuit.  The stream will exit from the hop
- * indicatd by <b>cpath</b>, or to the last hop in circ's cpath if
+ * indicated by <b>cpath</b>, or from the last hop in circ's cpath if
  * <b>cpath</b> is NULL. */
 int
 connection_ap_handshake_attach_chosen_circuit(edge_connection_t *conn,
index 34d640014d34caff7f6f8f142ddec9dfbd13c175..3af8044c224d389d34263058fde884ef3b7b7dbe 100644 (file)
@@ -346,7 +346,6 @@ connection_ap_expire_beginning(void)
   connection_t **carray;
   edge_connection_t *conn;
   circuit_t *circ;
-  const char *nickname;
   int n, i;
   time_t now = time(NULL);
   or_options_t *options = get_options();
@@ -407,13 +406,12 @@ connection_ap_expire_beginning(void)
       continue;
     }
     tor_assert(circ->purpose == CIRCUIT_PURPOSE_C_GENERAL);
-    nickname = build_state_get_exit_nickname(
-                                        TO_ORIGIN_CIRCUIT(circ)->build_state);
     log_fn(cutoff < 15 ? LOG_INFO : severity, LD_APP,
            "We tried for %d seconds to connect to '%s' using exit '%s'."
            " Retrying on a new circuit.",
            seconds_idle, safe_str(conn->socks_request->address),
-           nickname ? nickname : "*unnamed*");
+           conn->cpath_layer ?
+             conn->cpath_layer->extend_info->nickname : "*unnamed*");
     /* send an end down the circuit */
     connection_edge_end(conn, END_STREAM_REASON_TIMEOUT);
     /* un-mark it as ending, since we're going to reuse it */
@@ -1180,7 +1178,7 @@ addressmap_get_mappings(smartlist_t *sl, time_t min_expires,
  * rendezvous descriptor is already here and fresh enough).
  *
  * The stream will exit from the hop
- * indicatd by <b>cpath</b>, or to the last hop in circ's cpath if
+ * indicated by <b>cpath</b>, or from the last hop in circ's cpath if
  * <b>cpath</b> is NULL.
  */
 int