diff options
author | Nick Mathewson <nickm@torproject.org> | 2006-11-14 00:06:02 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2006-11-14 00:06:02 +0000 |
commit | fa6fbbc150a0f8e750c979af3c0d2d1278b856dd (patch) | |
tree | 0c17abbce40bca17d3221e09d668dad20aeb4d5c /src/or/connection.c | |
parent | d245d413a94e97e65cd882aa43dc4af4b440f940 (diff) | |
download | tor-fa6fbbc150a0f8e750c979af3c0d2d1278b856dd.tar.gz tor-fa6fbbc150a0f8e750c979af3c0d2d1278b856dd.zip |
r9307@totoro: nickm | 2006-11-13 18:25:56 -0500
Patch from tup based on patch from Zajcev Evgeny: Make TransPort work even when the server wants to talk before the client.
svn:r8945
Diffstat (limited to 'src/or/connection.c')
-rw-r--r-- | src/or/connection.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index b7a3889cdf..ce7046675e 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -96,7 +96,6 @@ conn_state_to_string(int type, int state) break; case CONN_TYPE_AP: switch (state) { - case AP_CONN_STATE_ORIGDST_WAIT: case AP_CONN_STATE_SOCKS_WAIT: return "waiting for dest info"; case AP_CONN_STATE_RENDDESC_WAIT: return "waiting for rendezvous desc"; case AP_CONN_STATE_CONTROLLER_WAIT: return "waiting for controller"; @@ -808,6 +807,8 @@ connection_handle_listener_read(connection_t *conn, int new_type) /** Initialize states for newly accepted connection <b>conn</b>. * If conn is an OR, start the tls handshake. + * If conn is a transparent AP, get its original destination + * and place it in circuit_wait. */ static int connection_init_accepted_conn(connection_t *conn, uint8_t listener_type) @@ -824,8 +825,8 @@ connection_init_accepted_conn(connection_t *conn, uint8_t listener_type) conn->state = AP_CONN_STATE_SOCKS_WAIT; break; case CONN_TYPE_AP_TRANS_LISTENER: - conn->state = AP_CONN_STATE_ORIGDST_WAIT; - break; + conn->state = AP_CONN_STATE_CIRCUIT_WAIT; + return connection_ap_process_transparent(TO_EDGE_CONN(conn)); } break; case CONN_TYPE_DIR: |