[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Remove MIN_METHOD_FOR_ED25519_ID_VOTING
commit 73c9c16faab299b483716c1b8e76c433282d3d50
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Mon Apr 9 15:02:57 2018 -0400
Remove MIN_METHOD_FOR_ED25519_ID_VOTING
This also lets us remove the old rsa-based routerstatus collator.
---
src/or/dircollate.c | 38 +++-----------------------------------
src/or/dirvote.c | 7 ++-----
src/or/dirvote.h | 4 ----
3 files changed, 5 insertions(+), 44 deletions(-)
diff --git a/src/or/dircollate.c b/src/or/dircollate.c
index ce4534ff6..dec6f7515 100644
--- a/src/or/dircollate.c
+++ b/src/or/dircollate.c
@@ -25,7 +25,6 @@
#include "dircollate.h"
#include "dirvote.h"
-static void dircollator_collate_by_rsa(dircollator_t *dc);
static void dircollator_collate_by_ed25519(dircollator_t *dc);
/** Hashtable entry mapping a pair of digests (actually an ed25519 key and an
@@ -208,49 +207,18 @@ dircollator_add_vote(dircollator_t *dc, networkstatus_t *v)
void
dircollator_collate(dircollator_t *dc, int consensus_method)
{
+ (void) consensus_method;
+
tor_assert(!dc->is_collated);
dc->all_rsa_sha1_lst = smartlist_new();
- if (consensus_method < MIN_METHOD_FOR_ED25519_ID_VOTING)
- dircollator_collate_by_rsa(dc);
- else
- dircollator_collate_by_ed25519(dc);
+ dircollator_collate_by_ed25519(dc);
smartlist_sort_digests(dc->all_rsa_sha1_lst);
dc->is_collated = 1;
}
/**
- * Collation function for RSA-only consensuses: collate the votes for each
- * entry in <b>dc</b> by their RSA keys.
- *
- * The rule is:
- * If an RSA identity key is listed by more than half of the authorities,
- * include that identity, and treat all descriptors with that RSA identity
- * as describing the same router.
- */
-static void
-dircollator_collate_by_rsa(dircollator_t *dc)
-{
- const int total_authorities = dc->n_authorities;
-
- DIGESTMAP_FOREACH(dc->by_rsa_sha1, k, vote_routerstatus_t **, vrs_lst) {
- int n = 0, i;
- for (i = 0; i < dc->n_votes; ++i) {
- if (vrs_lst[i] != NULL)
- ++n;
- }
-
- if (n <= total_authorities / 2)
- continue;
-
- smartlist_add(dc->all_rsa_sha1_lst, (char *)k);
- } DIGESTMAP_FOREACH_END;
-
- dc->by_collated_rsa_sha1 = dc->by_rsa_sha1;
-}
-
-/**
* Collation function for ed25519 consensuses: collate the votes for each
* entry in <b>dc</b> by ed25519 key and by RSA key.
*
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 80db32eb5..6b553083b 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -1455,8 +1455,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
smartlist_free(combined_server_versions);
smartlist_free(combined_client_versions);
- if (consensus_method >= MIN_METHOD_FOR_ED25519_ID_VOTING)
- smartlist_add_strdup(flags, "NoEdConsensus");
+ smartlist_add_strdup(flags, "NoEdConsensus");
smartlist_sort_strings(flags);
smartlist_uniq_strings(flags);
@@ -1852,7 +1851,6 @@ networkstatus_compute_consensus(smartlist_t *votes,
continue;
if (ed_consensus > 0) {
- tor_assert(consensus_method >= MIN_METHOD_FOR_ED25519_ID_VOTING);
if (ed_consensus <= total_authorities / 2) {
log_warn(LD_BUG, "Not enough entries had ed_consensus set; how "
"can we have a consensus of %d?", ed_consensus);
@@ -1910,8 +1908,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
} else if (!strcmp(fl, "Unnamed")) {
if (is_unnamed)
smartlist_add(chosen_flags, (char*)fl);
- } else if (!strcmp(fl, "NoEdConsensus") &&
- consensus_method >= MIN_METHOD_FOR_ED25519_ID_VOTING) {
+ } else if (!strcmp(fl, "NoEdConsensus")) {
if (ed_consensus <= total_authorities/2)
smartlist_add(chosen_flags, (char*)fl);
} else {
diff --git a/src/or/dirvote.h b/src/or/dirvote.h
index 14fa8e0ad..defcdf575 100644
--- a/src/or/dirvote.h
+++ b/src/or/dirvote.h
@@ -61,10 +61,6 @@
/** The highest consensus method that we currently support. */
#define MAX_SUPPORTED_CONSENSUS_METHOD 28
-/** Lowest consensus method where authorities vote on ed25519 ids and ensure
- * ed25519 id consistency. */
-#define MIN_METHOD_FOR_ED25519_ID_VOTING 22
-
/** Lowest consensus method where authorities may include a shared random
* value(s). */
#define MIN_METHOD_FOR_SHARED_RANDOM 23
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits