mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
fix another case where we need to send a socks reply (reject)
back before we close the conn. svn:r3876
This commit is contained in:
parent
8945df8daa
commit
9b9dbad0b7
@ -281,7 +281,7 @@ void connection_about_to_close_connection(connection_t *conn)
|
|||||||
if (conn->socks_request->has_finished == 0) {
|
if (conn->socks_request->has_finished == 0) {
|
||||||
/* since conn gets removed right after this function finishes,
|
/* since conn gets removed right after this function finishes,
|
||||||
* there's no point trying to send back a reply at this point. */
|
* 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 {
|
} else {
|
||||||
control_event_stream_status(conn, STREAM_EVENT_CLOSED);
|
control_event_stream_status(conn, STREAM_EVENT_CLOSED);
|
||||||
}
|
}
|
||||||
|
@ -659,6 +659,9 @@ connection_edge_process_relay_cell_not_open(
|
|||||||
if (CIRCUIT_IS_ORIGIN(circ))
|
if (CIRCUIT_IS_ORIGIN(circ))
|
||||||
circuit_log_path(LOG_INFO,circ);
|
circuit_log_path(LOG_INFO,circ);
|
||||||
conn->has_sent_end = 1; /* we just got an 'end', don't need to send one */
|
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);
|
connection_mark_for_close(conn);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user