From: Nick Mathewson Date: Mon, 7 Nov 2016 16:05:57 +0000 (-0500) Subject: Treat bacoff/schedule mismatch as a bug. X-Git-Tag: tor-0.3.0.1-alpha~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=89edef6afbfc701fab5a8ce1f3d7399f7c3261c7;p=thirdparty%2Ftor.git Treat bacoff/schedule mismatch as a bug. --- diff --git a/changes/bug20593.2 b/changes/bug20593.2 new file mode 100644 index 0000000000..bdaaf00eea --- /dev/null +++ b/changes/bug20593.2 @@ -0,0 +1,4 @@ + o Minor features (diagnostic, directory client): + - Warn if we find an unexpected inconsistency in directory download + status objects. Prevents some negative consequences of bug 20593. + diff --git a/src/or/directory.c b/src/or/directory.c index 452571f2a7..6a681ef23b 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -4055,7 +4055,7 @@ download_status_schedule_get_delay(download_status_t *dls, delay = *(int *)smartlist_get(schedule, smartlist_len(schedule) - 1); } else if (dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL) { /* Check if we missed a reset somehow */ - if (dls->last_backoff_position > dls_schedule_position) { + IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) { dls->last_backoff_position = 0; dls->last_delay_used = 0; }