|
@@ -392,10 +392,11 @@ circuit_expire_building(void)
|
|
|
TO_ORIGIN_CIRCUIT(victim)->cpath->state == CPATH_STATE_OPEN;
|
|
|
|
|
|
if (TO_ORIGIN_CIRCUIT(victim)->p_streams != NULL) {
|
|
|
- log_warn(LD_BUG, "Circuit %d (purpose %d) has timed out, "
|
|
|
+ log_warn(LD_BUG, "Circuit %d (purpose %d, %s) has timed out, "
|
|
|
"yet has attached streams!",
|
|
|
TO_ORIGIN_CIRCUIT(victim)->global_identifier,
|
|
|
- victim->purpose);
|
|
|
+ victim->purpose,
|
|
|
+ circuit_purpose_to_string(victim->purpose));
|
|
|
tor_fragile_assert();
|
|
|
continue;
|
|
|
}
|
|
@@ -426,9 +427,10 @@ circuit_expire_building(void)
|
|
|
if (timercmp(&victim->timestamp_created, &extremely_old_cutoff, <)) {
|
|
|
log_notice(LD_CIRC,
|
|
|
"Extremely large value for circuit build timeout: %lds. "
|
|
|
- "Assuming clock jump. Purpose %d",
|
|
|
+ "Assuming clock jump. Purpose %d (%s)",
|
|
|
(long)(now.tv_sec - victim->timestamp_created.tv_sec),
|
|
|
- victim->purpose);
|
|
|
+ victim->purpose,
|
|
|
+ circuit_purpose_to_string(victim->purpose));
|
|
|
} else if (circuit_build_times_count_close(&circ_times,
|
|
|
first_hop_succeeded,
|
|
|
victim->timestamp_created.tv_sec)) {
|
|
@@ -794,12 +796,11 @@ circuit_expire_old_circuits_clientside(void)
|
|
|
circ->purpose != CIRCUIT_PURPOSE_S_INTRO) {
|
|
|
log_notice(LD_CIRC,
|
|
|
"Ancient non-dirty circuit %d is still around after "
|
|
|
- "%ld milliseconds. Purpose: %d",
|
|
|
+ "%ld milliseconds. Purpose: %d (%s)",
|
|
|
TO_ORIGIN_CIRCUIT(circ)->global_identifier,
|
|
|
tv_mdiff(&circ->timestamp_created, &now),
|
|
|
- circ->purpose);
|
|
|
- /* FFFF implement a new circuit_purpose_to_string() so we don't
|
|
|
- * just print out a number for circ->purpose */
|
|
|
+ circ->purpose,
|
|
|
+ circuit_purpose_to_string(circ->purpose));
|
|
|
TO_ORIGIN_CIRCUIT(circ)->is_ancient = 1;
|
|
|
}
|
|
|
}
|
|
@@ -1136,8 +1137,9 @@ circuit_launch_by_extend_info(uint8_t purpose,
|
|
|
* internal circs rather than exit circs? -RD */
|
|
|
circ = circuit_find_to_cannibalize(purpose, extend_info, flags);
|
|
|
if (circ) {
|
|
|
- log_info(LD_CIRC,"Cannibalizing circ '%s' for purpose %d",
|
|
|
- build_state_get_exit_nickname(circ->build_state), purpose);
|
|
|
+ log_info(LD_CIRC,"Cannibalizing circ '%s' for purpose %d (%s)",
|
|
|
+ build_state_get_exit_nickname(circ->build_state), purpose,
|
|
|
+ circuit_purpose_to_string(purpose));
|
|
|
circ->_base.purpose = purpose;
|
|
|
/* reset the birth date of this circ, else expire_building
|
|
|
* will see it and think it's been trying to build since it
|