summaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-06-20 04:42:17 +0000
committerRoger Dingledine <arma@torproject.org>2008-06-20 04:42:17 +0000
commit8fa912a8c5934971038e2813a0571a5a00d5fd20 (patch)
tree9918d8e849ed0fc9599937e0a7d284cf162a77b7 /src/or/circuituse.c
parent94dabd2c23bf86dcd603d53a1e0a678b77097737 (diff)
downloadtor-8fa912a8c5934971038e2813a0571a5a00d5fd20.tar.gz
tor-8fa912a8c5934971038e2813a0571a5a00d5fd20.zip
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
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r--src/or/circuituse.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 3ba548e6fb..781aa9800b 100644
--- a/src/or/circuituse.c
+++ b/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));
}