From 65e24ed3f1255b0b836af1a3cefbb16e414c4ab8 Mon Sep 17 00:00:00 2001 From: George Kadianakis Date: Thu, 2 Feb 2017 13:36:58 +0200 Subject: [PATCH] guard-spec.txt: If we exhaust all guards, start from top again. --- guard-spec.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guard-spec.txt b/guard-spec.txt index 87e16a7..a1e8e93 100644 --- a/guard-spec.txt +++ b/guard-spec.txt @@ -473,7 +473,12 @@ random from {USABLE_FILTERED_GUARDS}. Set its {is_pending} field to true. The circuit is . - We update the {last_tried_connect} time for the guard to 'now.' + If during the above algorithm we exhaust all sampled guards before finding a + reachable one, then we proceed by marking all guards as reachable so + that we can keep on sampling. + + When we finally connect to a guard, we update the {last_tried_connect} time + for the guard to 'now.' In some cases (for example, when we need a certain directory feature, or when we need to avoid using a certain exit as a guard), we need to