mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Consensus method 18: Add a base64 ID digest to the microdesc
This is a stopgap measure to make sure that microdescriptors never collide; see bug 11743.
This commit is contained in:
parent
5d496963b4
commit
4a621a50f5
@ -3588,6 +3588,12 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method)
|
||||
tor_free(p6);
|
||||
}
|
||||
|
||||
if (consensus_method >= MIN_METHOD_FOR_ID_HASH_IN_MD) {
|
||||
char idbuf[BASE64_DIGEST_LEN+1];
|
||||
digest_to_base64(idbuf, ri->cache_info.identity_digest);
|
||||
smartlist_add_asprintf(chunks, "id %s\n", idbuf);
|
||||
}
|
||||
|
||||
output = smartlist_join_strings(chunks, "", 0, NULL);
|
||||
|
||||
{
|
||||
@ -3657,7 +3663,8 @@ static const struct consensus_method_range_t {
|
||||
{MIN_METHOD_FOR_MICRODESC, MIN_METHOD_FOR_A_LINES - 1},
|
||||
{MIN_METHOD_FOR_A_LINES, MIN_METHOD_FOR_P6_LINES - 1},
|
||||
{MIN_METHOD_FOR_P6_LINES, MIN_METHOD_FOR_NTOR_KEY - 1},
|
||||
{MIN_METHOD_FOR_NTOR_KEY, MAX_SUPPORTED_CONSENSUS_METHOD},
|
||||
{MIN_METHOD_FOR_NTOR_KEY, MIN_METHOD_FOR_ID_HASH_IN_MD - 1},
|
||||
{MIN_METHOD_FOR_ID_HASH_IN_MD, MAX_SUPPORTED_CONSENSUS_METHOD},
|
||||
{-1, -1}
|
||||
};
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#define MIN_VOTE_INTERVAL 300
|
||||
|
||||
/** The highest consensus method that we currently support. */
|
||||
#define MAX_SUPPORTED_CONSENSUS_METHOD 17
|
||||
#define MAX_SUPPORTED_CONSENSUS_METHOD 18
|
||||
|
||||
/** Lowest consensus method that contains a 'directory-footer' marker */
|
||||
#define MIN_METHOD_FOR_FOOTER 9
|
||||
@ -61,6 +61,10 @@
|
||||
* Unmeasured=1 flag for unmeasured bandwidths */
|
||||
#define MIN_METHOD_TO_CLIP_UNMEASURED_BW 17
|
||||
|
||||
/** Lowest consensus method that ensures that authorities output an
|
||||
* Unmeasured=1 flag for unmeasured bandwidths */
|
||||
#define MIN_METHOD_FOR_ID_HASH_IN_MD 18
|
||||
|
||||
/** Default bandwidth to clip unmeasured bandwidths to using method >=
|
||||
* MIN_METHOD_TO_CLIP_UNMEASURED_BW */
|
||||
#define DEFAULT_MAX_UNMEASURED_BW_KB 20
|
||||
|
Loading…
Reference in New Issue
Block a user