mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
respond to nick's questions
svn:r786
This commit is contained in:
parent
3d19a9b514
commit
2a3479af5f
@ -483,9 +483,9 @@ void connection_ap_attach_pending(void)
|
|||||||
/* r<0: There was an error sending the begin cell; other pending
|
/* r<0: There was an error sending the begin cell; other pending
|
||||||
* AP connections may succeed.
|
* AP connections may succeed.
|
||||||
*/
|
*/
|
||||||
/* XXX Is this right? How do we say that the connection failed?
|
|
||||||
* Should I close it? mark it for close? -NM */
|
|
||||||
connection_ap_handshake_socks_reply(conn, NULL, 0, 0);
|
connection_ap_handshake_socks_reply(conn, NULL, 0, 0);
|
||||||
|
conn->marked_for_close = 1;
|
||||||
|
conn->has_sent_end = 1; /* if the begin failed, don't try an end */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -551,7 +551,7 @@ static int connection_ap_handshake_process_socks(connection_t *conn) {
|
|||||||
/* Try to find a live circuit. If we don't find one, tell 'conn' to
|
/* Try to find a live circuit. If we don't find one, tell 'conn' to
|
||||||
* stop reading and return 1. Otherwise, associate the CONN_TYPE_AP
|
* stop reading and return 1. Otherwise, associate the CONN_TYPE_AP
|
||||||
* connection 'conn' with the newest live circuit, and start sending a
|
* connection 'conn' with the newest live circuit, and start sending a
|
||||||
* BEGIN cell down the circuit. Returns 0 on success, and -1 on
|
* BEGIN cell down the circuit. Return 0 on success, and -1 on
|
||||||
* error.
|
* error.
|
||||||
*/
|
*/
|
||||||
static int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
static int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||||
@ -567,10 +567,15 @@ static int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
|||||||
|
|
||||||
if(!circ) {
|
if(!circ) {
|
||||||
log_fn(LOG_INFO,"No circuit ready for edge connection; delaying.");
|
log_fn(LOG_INFO,"No circuit ready for edge connection; delaying.");
|
||||||
connection_stop_reading(conn); /* XXX Is this correct? -NM */
|
connection_stop_reading(conn);
|
||||||
|
/* XXX both this and the start_reading below can go away if we
|
||||||
|
* remove our notion that we shouldn't read from a socks
|
||||||
|
* client until we're connected. the socks spec promises that it
|
||||||
|
* won't write. is that good enough?
|
||||||
|
*/
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
connection_start_reading(conn); /* XXX Is this correct? -NM */
|
connection_start_reading(conn);
|
||||||
|
|
||||||
circ->dirty = 1;
|
circ->dirty = 1;
|
||||||
|
|
||||||
@ -600,6 +605,7 @@ static int connection_ap_handshake_send_begin(connection_t *ap_conn, circuit_t *
|
|||||||
assert(ap_conn->type == CONN_TYPE_AP);
|
assert(ap_conn->type == CONN_TYPE_AP);
|
||||||
assert(ap_conn->state == AP_CONN_STATE_CIRCUIT_WAIT);
|
assert(ap_conn->state == AP_CONN_STATE_CIRCUIT_WAIT);
|
||||||
assert(ap_conn->socks_request);
|
assert(ap_conn->socks_request);
|
||||||
|
assert(ap_conn->socks_request->addr);
|
||||||
|
|
||||||
if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0)
|
if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -619,8 +625,7 @@ static int connection_ap_handshake_send_begin(connection_t *ap_conn, circuit_t *
|
|||||||
ap_conn->package_window = STREAMWINDOW_START;
|
ap_conn->package_window = STREAMWINDOW_START;
|
||||||
ap_conn->deliver_window = STREAMWINDOW_START;
|
ap_conn->deliver_window = STREAMWINDOW_START;
|
||||||
ap_conn->state = AP_CONN_STATE_OPEN;
|
ap_conn->state = AP_CONN_STATE_OPEN;
|
||||||
tor_free(ap_conn->socks_request);
|
tor_free(ap_conn->socks_request); /* this also NULLs it out */
|
||||||
ap_conn->socks_request = NULL;
|
|
||||||
log_fn(LOG_INFO,"Address/port sent, ap socket %d, n_circ_id %d",ap_conn->s,circ->n_circ_id);
|
log_fn(LOG_INFO,"Address/port sent, ap socket %d, n_circ_id %d",ap_conn->s,circ->n_circ_id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user