tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 296e429ebcb676b39a574bf8e8850c53bb659d74
parent f0f2fab5e16cadf37938b48a47c062e539eef9c0
Author: Nick Mathewson <nickm@torproject.org>
Date:   Mon, 19 Mar 2018 05:36:06 -0400

Merge branch 'maint-0.3.2' into maint-0.3.3

Diffstat:
Achanges/bug25450 | 8++++++++
Msrc/test/test_hs_service.c | 11++++++-----
2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/changes/bug25450 b/changes/bug25450 @@ -0,0 +1,8 @@ + o Minor bugfixes (testing): + - Avoid intermittent test failures due to relying on hidden service + introductory point creation within 5 seconds of real clock time. The + time limit for the test has been increased to 500 seconds, which may + still result in intermittent failures (e.g. if the system doing the + testing enters sleep/hibernation or experiences some other clock jump). + However, this should elliminate test failures currently happening on + developer and CI systems. Fixes bug 25450; bugfix on 0.3.1.3-alpha. diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c @@ -413,13 +413,14 @@ test_service_intro_point(void *arg) INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS); tt_u64_op(ip->introduce2_max, OP_LE, INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS); - /* Time to expire MUST also be in that range. We add 5 seconds because - * there could be a gap between setting now and the time taken in - * service_intro_point_new. On ARM, it can be surprisingly slow... */ + /* Time to expire MUST also be in that range. We subtract 500 seconds + * because there could be a gap between setting now and the time taken in + * service_intro_point_new. On ARM and other older CPUs, it can be + * surprisingly slow... */ tt_u64_op(ip->time_to_expire, OP_GE, - now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5); + now + INTRO_POINT_LIFETIME_MIN_SECONDS - 500); tt_u64_op(ip->time_to_expire, OP_LE, - now + INTRO_POINT_LIFETIME_MAX_SECONDS + 5); + now + INTRO_POINT_LIFETIME_MAX_SECONDS - 500); tt_assert(ip->replay_cache); tt_assert(ip->base.link_specifiers); /* By default, this is NOT a legacy object. */