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; }