summaryrefslogtreecommitdiff
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
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
-rw-r--r--ChangeLog3
-rw-r--r--doc/TODO3
-rw-r--r--src/or/circuituse.c4
-rw-r--r--src/or/connection.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7901f2c6a3..0c630b43f6 100644
--- a/ChangeLog
+++ b/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
diff --git a/doc/TODO b/doc/TODO
index 2ea0afe37b..2c4f738dab 100644
--- a/doc/TODO
+++ b/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:
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));
}
diff --git a/src/or/connection.c b/src/or/connection.c
index 690cc02774..002d10a03e 100644
--- a/src/or/connection.c
+++ b/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