[tor-commits] [tor/master] prop272: Believe that all routers are Valid and Running.
nickm at torproject.org
nickm at torproject.org
Mon Sep 26 18:03:40 UTC 2016
commit 08d2d7c404af9fd836f2fcc35936899a99f813ae
Author: Nick Mathewson <nickm at torproject.org>
Date: Fri Aug 26 14:07:53 2016 -0400
prop272: Believe that all routers are Valid and Running.
(We check consensus method when deciding whether to assume a node is
valid. No need to check the consensus method for Running, since
we will never see a method before 13.)
Closes ticket 20001
g
---
changes/ticket20001 | 6 ++++++
src/or/routerparse.c | 7 +++++++
2 files changed, 13 insertions(+)
diff --git a/changes/ticket20001 b/changes/ticket20001
new file mode 100644
index 0000000..a096e3a
--- /dev/null
+++ b/changes/ticket20001
@@ -0,0 +1,6 @@
+ o Minor features (client, directory):
+ - Since authorities now omit all routers that lack the Running and Valid
+ flags, we assume that any authority present in the consensus must
+ have those flags. Closes ticket 20001; implements part of proposal
+ 272.
+
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 03f8f4e..d7fa17d 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2845,6 +2845,7 @@ routerstatus_parse_entry_from_string(memarea_t *area,
}
}
} else if (tok) {
+ /* This is a consensus, not a vote. */
int i;
for (i=0; i < tok->n_args; ++i) {
if (!strcmp(tok->args[i], "Exit"))
@@ -2875,6 +2876,12 @@ routerstatus_parse_entry_from_string(memarea_t *area,
rs->is_v2_dir = 1;
}
}
+ /* These are implied true by having been included in a consensus made
+ * with a given method */
+ rs->is_flagged_running = 1; /* Starting with consensus method 4. */
+ if (consensus_method >= MIN_METHOD_FOR_EXCLUDING_INVALID_NODES)
+ rs->is_valid = 1;
+
}
if ((tok = find_opt_by_keyword(tokens, K_V))) {
tor_assert(tok->n_args == 1);
More information about the tor-commits
mailing list