mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
cleanup so connection_ap_handshake_attach_chosen_circuit() always
gets open circs. svn:r3856
This commit is contained in:
parent
13fdf51bc1
commit
09ef2b7e41
@ -991,9 +991,7 @@ connection_ap_handshake_attach_chosen_circuit(connection_t *conn,
|
|||||||
conn->state == AP_CONN_STATE_CONTROLLER_WAIT);
|
conn->state == AP_CONN_STATE_CONTROLLER_WAIT);
|
||||||
tor_assert(conn->socks_request);
|
tor_assert(conn->socks_request);
|
||||||
tor_assert(circ);
|
tor_assert(circ);
|
||||||
|
tor_assert(circ->state == CIRCUIT_STATE_OPEN);
|
||||||
if (circ->state != CIRCUIT_STATE_OPEN)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
|
conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
|
||||||
|
|
||||||
|
@ -745,6 +745,10 @@ static int handle_control_attachstream(connection_t *conn, uint32_t len,
|
|||||||
send_control_error(conn, ERR_NO_CIRC, "No circuit found with given ID");
|
send_control_error(conn, ERR_NO_CIRC, "No circuit found with given ID");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (circ->state != CIRCUIT_STATE_OPEN) {
|
||||||
|
send_control_error(conn, ERR_INTERNAL, "Refuse to attach stream to non-open circ.");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (connection_ap_handshake_attach_chosen_circuit(ap_conn, circ) != 1) {
|
if (connection_ap_handshake_attach_chosen_circuit(ap_conn, circ) != 1) {
|
||||||
send_control_error(conn, ERR_INTERNAL, "Unable to attach stream.");
|
send_control_error(conn, ERR_INTERNAL, "Unable to attach stream.");
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user