|
|
@@ -470,6 +470,20 @@ void circuit_expire_building(time_t now) {
|
|
|
if(victim->timestamp_created + MIN_SECONDS_BEFORE_EXPIRING_CIRC > now)
|
|
|
continue; /* it's young still, don't mess with it */
|
|
|
|
|
|
+ /* some debug logs, to help track bugs */
|
|
|
+ if(victim->purpose >= CIRCUIT_PURPOSE_C_INTRODUCING &&
|
|
|
+ victim->purpose <= CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED) {
|
|
|
+ if(victim->timestamp_dirty)
|
|
|
+ log_fn(LOG_DEBUG,"Considering %sopen purp %d to %s (clean).",
|
|
|
+ victim->state == CIRCUIT_STATE_OPEN ? "" : "non",
|
|
|
+ victim->purpose, victim->build_state->chosen_exit);
|
|
|
+ else
|
|
|
+ log_fn(LOG_DEBUG,"Considering %sopen purp %d to %s. %d secs since dirty.",
|
|
|
+ victim->state == CIRCUIT_STATE_OPEN ? "" : "non",
|
|
|
+ victim->purpose, victim->build_state->chosen_exit,
|
|
|
+ (int)(now - victim->timestamp_dirty));
|
|
|
+ }
|
|
|
+
|
|
|
/* if circ is !open, or if it's open but purpose is a non-finished
|
|
|
* intro or rend, then mark it for close */
|
|
|
if(victim->state != CIRCUIT_STATE_OPEN ||
|