[tor-commits] [tor/maint-0.2.4] Don't relax the timeout for already opened 1-hop circuits.

nickm at torproject.org nickm at torproject.org
Fri Mar 29 16:18:39 UTC 2013


commit d39e6736fe1608028223604f49d5d091ef23bb27
Author: Mike Perry <mikeperry-git at fscked.org>
Date:   Wed Mar 27 17:43:27 2013 -0700

    Don't relax the timeout for already opened 1-hop circuits.
---
 src/or/circuituse.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index bbf219a..8fb70f5 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -529,7 +529,12 @@ circuit_expire_building(void)
     if (timercmp(&victim->timestamp_began, &cutoff, >))
       continue; /* it's still young, leave it alone */
 
-    if (!any_opened_circs) {
+    /* We need to double-check the opened state here because
+     * we don't want to consider opened 1-hop dircon circuits for
+     * deciding when to relax the timeout, but we *do* want to relax
+     * those circuits too if nothing else is opened *and* they still
+     * aren't either. */
+    if (!any_opened_circs && victim->state != CIRCUIT_STATE_OPEN) {
       /* It's still young enough that we wouldn't close it, right? */
       if (timercmp(&victim->timestamp_began, &close_cutoff, >)) {
         if (!TO_ORIGIN_CIRCUIT(victim)->relaxed_timeout) {





More information about the tor-commits mailing list