[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/release-0.3.5] Entry Nodes: Mark outdated dirservers in reasonably live consensuses
commit 657618ba9bd96830b0a283c28db203bf9fffb15d
Author: teor <teor@xxxxxxxxxxxxxx>
Date: Wed Nov 21 19:51:34 2018 +1000
Entry Nodes: Mark outdated dirservers in reasonably live consensuses
Fixes bug 28569; bugfix on Tor 0.3.2.5-alpha.
---
changes/bug28569 | 3 +++
src/feature/nodelist/microdesc.c | 10 ++++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/changes/bug28569 b/changes/bug28569
new file mode 100644
index 000000000..45a57a80a
--- /dev/null
+++ b/changes/bug28569
@@ -0,0 +1,3 @@
+ o Minor bugfixes (unit tests, directory clients):
+ - Mark outdated dirservers when Tor only has a reasonably live consensus.
+ Fixes bug 28569; bugfix on 0.3.2.5-alpha.
diff --git a/src/feature/nodelist/microdesc.c b/src/feature/nodelist/microdesc.c
index 146c772da..3f5085412 100644
--- a/src/feature/nodelist/microdesc.c
+++ b/src/feature/nodelist/microdesc.c
@@ -108,10 +108,12 @@ microdesc_note_outdated_dirserver(const char *relay_digest)
{
char relay_hexdigest[HEX_DIGEST_LEN+1];
- /* Don't register outdated dirservers if we don't have a live consensus,
- * since we might be trying to fetch microdescriptors that are not even
- * currently active. */
- if (!networkstatus_get_live_consensus(approx_time())) {
+ /* If we have a reasonably live consensus, then most of our dirservers should
+ * still be caching all the microdescriptors in it. Reasonably live
+ * consensuses are up to a day old. But microdescriptors expire 7 days after
+ * the last consensus that referenced them. */
+ if (!networkstatus_get_reasonably_live_consensus(approx_time(),
+ FLAV_MICRODESC)) {
return;
}
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits