summaryrefslogtreecommitdiff
path: root/src/or/connection.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-11-14 00:06:02 +0000
committerNick Mathewson <nickm@torproject.org>2006-11-14 00:06:02 +0000
commitfa6fbbc150a0f8e750c979af3c0d2d1278b856dd (patch)
tree0c17abbce40bca17d3221e09d668dad20aeb4d5c /src/or/connection.c
parentd245d413a94e97e65cd882aa43dc4af4b440f940 (diff)
downloadtor-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.c7
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: