[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Don't mark guards as unreachable if connection_connect() fails.
commit d5acb633aed08a9ee4436404971ffa7fe0cca030
Author: George Kadianakis <desnacked@xxxxxxxxxx>
Date: Wed Mar 23 13:35:37 2016 +0200
Don't mark guards as unreachable if connection_connect() fails.
---
changes/bug14334 | 4 ++++
src/or/connection_or.c | 8 +++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/changes/bug14334 b/changes/bug14334
new file mode 100644
index 0000000..c53781e
--- /dev/null
+++ b/changes/bug14334
@@ -0,0 +1,4 @@
+ o Minor bugfixes (guards):
+ - Don't mark guards as unreachable if connection_connect() fails. That
+ function fails for local reasons, so it shouldn't reveal anything about
+ the status of the guard. Fixes bug #14334; bugfix on 0.2.3.10-alpha.
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index ea49bdb..369ed20 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -1281,11 +1281,9 @@ connection_or_connect, (const tor_addr_t *_addr, uint16_t port,
switch (connection_connect(TO_CONN(conn), conn->base_.address,
&addr, port, &socket_error)) {
case -1:
- /* If the connection failed immediately, and we're using
- * a proxy, our proxy is down. Don't blame the Tor server. */
- if (conn->base_.proxy_state == PROXY_INFANT)
- entry_guard_register_connect_status(conn->identity_digest,
- 0, 1, time(NULL));
+ /* We failed to establish a connection probably because of a local
+ * error. No need to blame the guard in this case. Notify the networking
+ * system of this failure. */
connection_or_connect_failed(conn,
errno_to_orconn_end_reason(socket_error),
tor_socket_strerror(socket_error));
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits