diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-10-31 12:19:42 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-10-31 12:19:42 -0400 |
commit | 4700ba6c3d67056fc271cd2355fc956c182af7ad (patch) | |
tree | 172318bc0b843c144b95cfec28bb9456220450fe /src/or/connection_edge.c | |
parent | 8b536ca5937911a31eaaa56b9d28f061b3d3f99f (diff) | |
parent | 652d22e608c10ee520a16fd86a4cdd90e5188025 (diff) | |
download | tor-4700ba6c3d67056fc271cd2355fc956c182af7ad.tar.gz tor-4700ba6c3d67056fc271cd2355fc956c182af7ad.zip |
Merge branch 'maint-0.3.2'
Diffstat (limited to 'src/or/connection_edge.c')
-rw-r--r-- | src/or/connection_edge.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 7d6667dbc9..c63b25165f 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -1571,10 +1571,10 @@ connection_ap_handle_onion(entry_connection_t *conn, int ret = hs_client_refetch_hsdesc(&edge_conn->hs_ident->identity_pk); switch (ret) { case HS_CLIENT_FETCH_MISSING_INFO: - /* By going to the end, the connection is put in waiting for a circuit - * state which means that it will be retried and consider as a pending - * connection. */ - goto end; + /* Keeping the connection in descriptor wait state is fine because + * once we get enough dirinfo or a new live consensus, the HS client + * subsystem is notified and every connection in that state will + * trigger a fetch for the service key. */ case HS_CLIENT_FETCH_LAUNCHED: case HS_CLIENT_FETCH_PENDING: case HS_CLIENT_FETCH_HAVE_DESC: @@ -1591,7 +1591,6 @@ connection_ap_handle_onion(entry_connection_t *conn, /* We have the descriptor! So launch a connection to the HS. */ log_info(LD_REND, "Descriptor is here. Great."); - end: base_conn->state = AP_CONN_STATE_CIRCUIT_WAIT; /* We'll try to attach it at the next event loop, or whenever * we call connection_ap_attach_pending() */ |