[tor-commits] [tor/master] Prevent early close of path bias testing circuits.
andrea at torproject.org
andrea at torproject.org
Tue Jan 29 00:18:37 UTC 2013
commit f858370233a7d01d89949f79f92e8b67acd69f46
Author: Mike Perry <mikeperry-git at fscked.org>
Date: Sat Jan 19 21:16:24 2013 -0800
Prevent early close of path bias testing circuits.
We need to let them live long enough to perform the test.
---
src/or/circuituse.c | 5 ++++-
src/or/rendservice.c | 3 ++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 0b2fe9e..48a7743 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -1078,7 +1078,10 @@ circuit_expire_old_circuits_clientside(void)
"purpose %d)",
circ->n_circ_id, (long)(now.tv_sec - circ->timestamp_dirty),
circ->purpose);
- circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED);
+ /* Don't do this magic for testing circuits. Their death is governed
+ * by circuit_expire_building */
+ if (circ->purpose != CIRCUIT_PURPOSE_PATH_BIAS_TESTING)
+ circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED);
} else if (!circ->timestamp_dirty && circ->state == CIRCUIT_STATE_OPEN) {
if (timercmp(&circ->timestamp_began, &cutoff, <)) {
if (circ->purpose == CIRCUIT_PURPOSE_C_GENERAL ||
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 3b2eeb4..f115d8b 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -3068,7 +3068,8 @@ rend_services_introduce(void)
if (intro->time_expiring + INTRO_POINT_EXPIRATION_GRACE_PERIOD > now) {
/* This intro point has completely expired. Remove it, and
* mark the circuit for close if it's still alive. */
- if (intro_circ != NULL) {
+ if (intro_circ != NULL &&
+ intro_circ->base_.purpose != CIRCUIT_PURPOSE_PATH_BIAS_TESTING) {
circuit_mark_for_close(TO_CIRCUIT(intro_circ),
END_CIRC_REASON_FINISHED);
}
More information about the tor-commits
mailing list