mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Enable ed25519 collator in voting.
Previously, I had left in some debugging code with /*XXX*/ after it, which nobody noticed. Live and learn! Next time I will use /*XXX DO NOT COMMIT*/ or something. We need to define a new consensus method for this; consensus method 21 shouldn't actually be used. Fixes bug 17702; bugfix on 0.2.7.2-alpha.
This commit is contained in:
parent
be6174f8f6
commit
60efce445b
6
changes/bug17702
Normal file
6
changes/bug17702
Normal file
@ -0,0 +1,6 @@
|
||||
o Major bugfixes:
|
||||
- Actually enable Ed25519-based directory collation.
|
||||
Previously, the code had been written, but some debugging code that had
|
||||
accidentally been left in the codebase made it stay turned off.
|
||||
Fixes bug 17702; bugfix on 0.2.7.2-alpha.
|
||||
|
@ -159,7 +159,7 @@ dircollator_collate(dircollator_t *dc, int consensus_method)
|
||||
tor_assert(!dc->is_collated);
|
||||
dc->all_rsa_sha1_lst = smartlist_new();
|
||||
|
||||
if (consensus_method < MIN_METHOD_FOR_ED25519_ID_VOTING + 10/*XXX*/)
|
||||
if (consensus_method < MIN_METHOD_FOR_ED25519_ID_VOTING)
|
||||
dircollator_collate_by_rsa(dc);
|
||||
else
|
||||
dircollator_collate_by_ed25519(dc);
|
||||
|
@ -558,6 +558,13 @@ compute_consensus_method(smartlist_t *votes)
|
||||
static int
|
||||
consensus_method_is_supported(int method)
|
||||
{
|
||||
if (method == MIN_METHOD_FOR_ED25519_ID_IN_MD) {
|
||||
/* This method was broken due to buggy code accidently left in
|
||||
* dircollate.c; do not actually use it.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (method >= MIN_SUPPORTED_CONSENSUS_METHOD) &&
|
||||
(method <= MAX_SUPPORTED_CONSENSUS_METHOD);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@
|
||||
#define MIN_SUPPORTED_CONSENSUS_METHOD 13
|
||||
|
||||
/** The highest consensus method that we currently support. */
|
||||
#define MAX_SUPPORTED_CONSENSUS_METHOD 21
|
||||
#define MAX_SUPPORTED_CONSENSUS_METHOD 22
|
||||
|
||||
/** Lowest consensus method where microdesc consensuses omit any entry
|
||||
* with no microdesc. */
|
||||
@ -87,11 +87,12 @@
|
||||
#define MIN_METHOD_FOR_GUARDFRACTION 20
|
||||
|
||||
/** Lowest consensus method where authorities may include an "id" line for
|
||||
* ed25519 identities in microdescriptors. */
|
||||
* ed25519 identities in microdescriptors. (Broken; see
|
||||
* consensus_method_is_supported() for more info.) */
|
||||
#define MIN_METHOD_FOR_ED25519_ID_IN_MD 21
|
||||
/** Lowest consensus method where authorities vote on ed25519 ids and ensure
|
||||
* ed25519 id consistency. */
|
||||
#define MIN_METHOD_FOR_ED25519_ID_VOTING MIN_METHOD_FOR_ED25519_ID_IN_MD
|
||||
#define MIN_METHOD_FOR_ED25519_ID_VOTING 22
|
||||
|
||||
/** Default bandwidth to clip unmeasured bandwidths to using method >=
|
||||
* MIN_METHOD_TO_CLIP_UNMEASURED_BW. (This is not a consensus method; do not
|
||||
|
Loading…
Reference in New Issue
Block a user