r9467@Kushana: nickm | 2006-11-01 18:51:16 -0500

Allow larger amounts of drift in uptime to be "cosmetic".


svn:r8891
This commit is contained in:
Nick Mathewson 2006-11-01 23:53:15 +00:00
parent 5d7ca19b44
commit 0ad2fd1129
2 changed files with 11 additions and 4 deletions

View File

@ -5,6 +5,10 @@ Changes in version 0.1.2.4-alpha - 2006-11-??
o Minor bugfixes
- Don't log spurious warnings when we see a circuit close reason we
don't recognize; it's probably just from a newer version of Tor.
- Have directory authorities allow larger amounts of drift in uptime
without replacing the server descriptor: previously, a server that
restarted every 30 minutes could have 48 "interesting" descriptors per
day.
Changes in version 0.1.2.3-alpha - 2006-10-29
o Minor features:

View File

@ -4048,7 +4048,7 @@ router_reset_descriptor_download_failures(void)
#define ROUTER_MAX_COSMETIC_TIME_DIFFERENCE (12*60*60)
/** We allow uptime to vary from how much it ought to be by this much. */
#define ROUTER_ALLOW_UPTIME_DRIFT (30*60)
#define ROUTER_ALLOW_UPTIME_DRIFT (6*60*60)
/** Return true iff the only differences between r1 and r2 are such that
* would not cause a recent (post 0.1.1.6) dirserver to republish.
@ -4057,6 +4057,7 @@ int
router_differences_are_cosmetic(routerinfo_t *r1, routerinfo_t *r2)
{
time_t r1pub, r2pub;
int time_difference;
tor_assert(r1 && r2);
/* r1 should be the one that was published first. */
@ -4107,11 +4108,13 @@ router_differences_are_cosmetic(routerinfo_t *r1, routerinfo_t *r2)
return 0;
/* Did uptime fail to increase by approximately the amount we would think,
* give or take 30 minutes? */
* give or take 4 hours? */
r1pub = r1->cache_info.published_on;
r2pub = r2->cache_info.published_on;
if (abs(r2->uptime - (r1->uptime + (r2pub - r1pub)))
> ROUTER_ALLOW_UPTIME_DRIFT)
time_difference = abs(r2->uptime - (r1->uptime + (r2pub - r1pub)));
if (time_difference > ROUTER_ALLOW_UPTIME_DRIFT &&
time_difference > r1->uptime * .05 &&
time_difference > r2->uptime * .05)
return 0;
/* Otherwise, the difference is cosmetic. */