From 85cf6dcba3693bbd1264e5fae05346ddf1909b85 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 6 Mar 2017 15:37:01 -0500 Subject: [PATCH] Stop declining to download microdescs with future published times. This change is the only one necessary to allow future versions of the microdescriptor consensus to replace every 'published' date with e.g. 2038-01-01 00:00:00; this will save 50-75% in compressed microdescriptor diff size, which is quite significant. This commit is a minimal change for 0.2.9; future series will reduce the use of the 'published' date even more. Implements part of ticket 21642; implements part of proposal 275. --- changes/prop275-minimal | 9 +++++++++ src/or/networkstatus.c | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 changes/prop275-minimal diff --git a/changes/prop275-minimal b/changes/prop275-minimal new file mode 100644 index 0000000000..83d42f850b --- /dev/null +++ b/changes/prop275-minimal @@ -0,0 +1,9 @@ + o Minor features (future-proofing): + + - Tor no longer refuses to download microdescriptors or descriptors if + they are listed as "published in the future". This change will + eventually allow us to stop listing meaningful "published" dates + in microdescriptor consensuses, and thereby allow us to reduce the + resources required to download consensus diffs by over 50%. + Implements part of ticket 21642; implements part of proposal 275. + diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 2d39c90380..991cf80121 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -2360,11 +2360,6 @@ client_would_use_router(const routerstatus_t *rs, time_t now, * But, if we want to have a complete list, fetch it anyway. */ return 0; } - if (rs->published_on + options->TestingEstimatedDescriptorPropagationTime - > now) { - /* Most caches probably don't have this descriptor yet. */ - return 0; - } if (rs->published_on + OLD_ROUTER_DESC_MAX_AGE < now) { /* We'd drop it immediately for being too old. */ return 0;