diff options
author | Roger Dingledine <arma@torproject.org> | 2005-03-25 11:12:14 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2005-03-25 11:12:14 +0000 |
commit | 9b9dbad0b77d9fec872e42aa1952b2ee6808e393 (patch) | |
tree | 01facf1b26e9e07afec419e17620ef34234bb913 /src | |
parent | 8945df8daaebc07df3cf7ac7987982ad879748e5 (diff) | |
download | tor-9b9dbad0b77d9fec872e42aa1952b2ee6808e393.tar.gz tor-9b9dbad0b77d9fec872e42aa1952b2ee6808e393.zip |
fix another case where we need to send a socks reply (reject)
back before we close the conn.
svn:r3876
Diffstat (limited to 'src')
-rw-r--r-- | src/or/connection.c | 2 | ||||
-rw-r--r-- | src/or/relay.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index fc4c6f0772..bd49ac057a 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -281,7 +281,7 @@ void connection_about_to_close_connection(connection_t *conn) if (conn->socks_request->has_finished == 0) { /* since conn gets removed right after this function finishes, * there's no point trying to send back a reply at this point. */ - log_fn(LOG_INFO,"Bug: Closing stream without sending back a socks reply."); + log_fn(LOG_WARN,"Bug: Closing stream without sending back a socks reply."); } else { control_event_stream_status(conn, STREAM_EVENT_CLOSED); } diff --git a/src/or/relay.c b/src/or/relay.c index 7135569bbf..f03332fbf0 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -659,6 +659,9 @@ connection_edge_process_relay_cell_not_open( if (CIRCUIT_IS_ORIGIN(circ)) circuit_log_path(LOG_INFO,circ); conn->has_sent_end = 1; /* we just got an 'end', don't need to send one */ + connection_ap_handshake_socks_reply(conn, NULL, 0, + connection_edge_end_reason_socks5_response(*(char *) + (cell->payload+RELAY_HEADER_SIZE))); connection_mark_for_close(conn); return 0; } |