diff options
author | Roger Dingledine <arma@torproject.org> | 2006-03-18 01:24:04 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-03-18 01:24:04 +0000 |
commit | 581795f41d3ab0be4d9e224ae5da1ee51fd6c842 (patch) | |
tree | e99d2fafb09aa3deb2de7182955a03f01ff0936c /src/or/connection_or.c | |
parent | cf6ba3e76fbf628ced2977be9f35531a81dc84c9 (diff) | |
download | tor-581795f41d3ab0be4d9e224ae5da1ee51fd6c842.tar tor-581795f41d3ab0be4d9e224ae5da1ee51fd6c842.tar.gz |
auth dir servers were only modifying a server's is_running field
when they created a network status. so if nobody asked for a
network status, they would never discover that any servers are
is_running, so they could never build a circuit.
svn:r6183
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r-- | src/or/connection_or.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 271032939..7fd717717 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -462,8 +462,8 @@ connection_or_connect(uint32_t addr, uint16_t port, const char *id_digest) * an https proxy, our https proxy is down. Don't blame the * Tor server. */ if (!options->HttpsProxy) { - router_mark_as_down(conn->identity_digest); entry_guard_set_status(conn->identity_digest, 0); + router_set_status(conn->identity_digest, 0); } control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED); connection_free(conn); @@ -637,6 +637,7 @@ connection_or_check_valid_handshake(connection_t *conn, char *digest_rcvd) "but got %s", conn->address, conn->port, expected, seen); entry_guard_set_status(conn->identity_digest, 0); + router_set_status(conn->identity_digest, 0); control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED); as_advertised = 0; } @@ -703,6 +704,7 @@ connection_tls_finish_handshake(connection_t *conn) /* pending circs get closed in circuit_about_to_close_connection() */ return -1; } + router_set_status(conn->identity_digest, 1); } connection_watch_events(conn, EV_READ); circuit_n_conn_done(conn, 1); /* send the pending creates, if any. */ |