mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
more useful logs to track weasel's bug
svn:r1649
This commit is contained in:
parent
f5427463f5
commit
0e94b9ff77
@ -866,15 +866,17 @@ void link_apconn_to_circ(connection_t *apconn, circuit_t *circ) {
|
||||
*/
|
||||
int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
int retval;
|
||||
int conn_age;
|
||||
|
||||
assert(conn);
|
||||
assert(conn->type == CONN_TYPE_AP);
|
||||
assert(conn->state == AP_CONN_STATE_CIRCUIT_WAIT);
|
||||
assert(conn->socks_request);
|
||||
|
||||
if(conn->timestamp_created < time(NULL)-60) {
|
||||
conn_age = time(NULL) - conn->timestamp_created;
|
||||
if(conn_age > 60) {
|
||||
/* XXX make this cleaner than '60' */
|
||||
log_fn(LOG_WARN,"Giving up on attached circ (60s late).");
|
||||
log_fn(LOG_WARN,"Giving up on attached circ (%d sec old).", conn_age);
|
||||
connection_mark_for_close(conn, 0);
|
||||
}
|
||||
|
||||
@ -888,6 +890,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
|
||||
/* We have found a suitable circuit for our conn. Hurray. */
|
||||
|
||||
log_fn(LOG_DEBUG,"Attaching apconn to general circ (%d sec old).", conn_age);
|
||||
/* here, print the circ's path. so people can figure out which circs are sucking. */
|
||||
circuit_log_path(LOG_INFO,circ);
|
||||
|
||||
@ -912,7 +915,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
|
||||
if(retval > 0) {
|
||||
/* one is already established, attach */
|
||||
log_fn(LOG_INFO,"rend joined circ already here. attaching.");
|
||||
log_fn(LOG_INFO,"rend joined circ already here. attaching. (%d sec old)", conn_age);
|
||||
link_apconn_to_circ(conn, rendcirc);
|
||||
if(connection_ap_handshake_send_begin(conn, rendcirc) < 0)
|
||||
return 0; /* already marked, let them fade away */
|
||||
@ -920,7 +923,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
}
|
||||
|
||||
if(rendcirc->purpose == CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED) {
|
||||
log_fn(LOG_INFO,"pending-join circ already here, with intro ack. Stalling.");
|
||||
log_fn(LOG_INFO,"pending-join circ already here, with intro ack. Stalling. (%d sec old)", conn_age);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -931,19 +934,19 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
|
||||
if(retval > 0) {
|
||||
/* one has already sent the intro. keep waiting. */
|
||||
log_fn(LOG_INFO,"Intro circ present and awaiting ack. Stalling.");
|
||||
log_fn(LOG_INFO,"Intro circ present and awaiting ack. Stalling. (%d sec old)", conn_age);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* now both rendcirc and introcirc are defined, and neither is finished */
|
||||
|
||||
if(rendcirc->purpose == CIRCUIT_PURPOSE_C_REND_READY) {
|
||||
log_fn(LOG_INFO,"ready rend circ already here (no intro-ack yet).");
|
||||
log_fn(LOG_INFO,"ready rend circ already here (no intro-ack yet). (%d sec old)", conn_age);
|
||||
/* look around for any new intro circs that should introduce */
|
||||
|
||||
assert(introcirc->purpose == CIRCUIT_PURPOSE_C_INTRODUCING);
|
||||
if(introcirc->state == CIRCUIT_STATE_OPEN) {
|
||||
log_fn(LOG_INFO,"found open intro circ; sending introduction.");
|
||||
log_fn(LOG_INFO,"found open intro circ; sending introduction. (%d sec old)", conn_age);
|
||||
/* XXX here we should cannibalize the rend circ if it's a zero service id */
|
||||
if(rend_client_send_introduction(introcirc, rendcirc) < 0) {
|
||||
return -1;
|
||||
@ -956,7 +959,7 @@ int connection_ap_handshake_attach_circuit(connection_t *conn) {
|
||||
}
|
||||
}
|
||||
|
||||
log_fn(LOG_INFO,"Intro and rend circs are not both ready. Stalling conn.");
|
||||
log_fn(LOG_INFO,"Intro and rend circs are not both ready. Stalling conn. (%d sec old)", conn_age);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user