tor

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

commit a0cc7e9492ca3737d197d5b7ec491f6f00bc9fb5
parent d60dc27555a2bed448617e0b82e61817c9cff895
Author: Nick Mathewson <nickm@torproject.org>
Date:   Mon, 19 Mar 2018 05:35:39 -0400

Merge remote-tracking branch 'isis/bug25450_032' into maint-0.3.2

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. */