Loading changes/bug40499 0 → 100644 +7 −0 Original line number Diff line number Diff line o Major bugfixes (client): - Stop caching TCP connect failures to relays/bridges when we initiated the connection as a client. Now we only cache connect failures as a relay or bridge when we initiated them because of an EXTEND request. Declining to re-attempt the client-based connections could cause problems when we lose connectivity and try to reconnect. Fixes bug 40499; bugfix on 0.3.3.4-alpha. src/core/or/connection_or.c +7 −0 Original line number Diff line number Diff line Loading @@ -1316,6 +1316,13 @@ note_or_connect_failed(const or_connection_t *or_conn) tor_assert(or_conn); if (or_conn->potentially_used_for_bootstrapping) { /* Don't cache connection failures for connections we initiated ourself. * If these direct connections fail, we're supposed to recognize that * the destination is down and stop trying. See ticket 40499. */ return; } ocf = or_connect_failure_find(or_conn); if (ocf == NULL) { ocf = or_connect_failure_new(or_conn); Loading src/test/test_connection.c +1 −0 Original line number Diff line number Diff line Loading @@ -826,6 +826,7 @@ test_failed_orconn_tracker(void *arg) /* Prepare the OR connection that will be used in this test */ or_connection_t or_conn; memset(&or_conn, 0, sizeof(or_conn)); tt_int_op(AF_INET,OP_EQ, tor_addr_parse(&or_conn.canonical_orport.addr, "18.0.0.1")); tt_int_op(AF_INET,OP_EQ, tor_addr_parse(&or_conn.base_.addr, "18.0.0.1")); Loading Loading
changes/bug40499 0 → 100644 +7 −0 Original line number Diff line number Diff line o Major bugfixes (client): - Stop caching TCP connect failures to relays/bridges when we initiated the connection as a client. Now we only cache connect failures as a relay or bridge when we initiated them because of an EXTEND request. Declining to re-attempt the client-based connections could cause problems when we lose connectivity and try to reconnect. Fixes bug 40499; bugfix on 0.3.3.4-alpha.
src/core/or/connection_or.c +7 −0 Original line number Diff line number Diff line Loading @@ -1316,6 +1316,13 @@ note_or_connect_failed(const or_connection_t *or_conn) tor_assert(or_conn); if (or_conn->potentially_used_for_bootstrapping) { /* Don't cache connection failures for connections we initiated ourself. * If these direct connections fail, we're supposed to recognize that * the destination is down and stop trying. See ticket 40499. */ return; } ocf = or_connect_failure_find(or_conn); if (ocf == NULL) { ocf = or_connect_failure_new(or_conn); Loading
src/test/test_connection.c +1 −0 Original line number Diff line number Diff line Loading @@ -826,6 +826,7 @@ test_failed_orconn_tracker(void *arg) /* Prepare the OR connection that will be used in this test */ or_connection_t or_conn; memset(&or_conn, 0, sizeof(or_conn)); tt_int_op(AF_INET,OP_EQ, tor_addr_parse(&or_conn.canonical_orport.addr, "18.0.0.1")); tt_int_op(AF_INET,OP_EQ, tor_addr_parse(&or_conn.base_.addr, "18.0.0.1")); Loading