mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-13 06:33:44 +01:00
Remove MIN_METHOD_FOR and MIN_METHOD_FOR_A_LINES
Also, in networkstatus.c, remove client code for recognizing pre- MIN_METHOD_FOR_A_LINES consensuses, and corresponding unit tests in test_dir.c.
This commit is contained in:
parent
69347f48e0
commit
08373467b1
@ -549,12 +549,12 @@ compute_routerstatus_consensus(smartlist_t *votes, int consensus_method,
|
|||||||
|
|
||||||
tor_assert(most);
|
tor_assert(most);
|
||||||
|
|
||||||
/* If we're producing "a" lines, vote on potential alternative (sets
|
/* Vote on potential alternative (sets of) OR port(s) in the winning
|
||||||
* of) OR port(s) in the winning routerstatuses.
|
* routerstatuses.
|
||||||
*
|
*
|
||||||
* XXX prop186 There's at most one alternative OR port (_the_ IPv6
|
* XXX prop186 There's at most one alternative OR port (_the_ IPv6
|
||||||
* port) for now. */
|
* port) for now. */
|
||||||
if (consensus_method >= MIN_METHOD_FOR_A_LINES && best_alt_orport_out) {
|
if (best_alt_orport_out) {
|
||||||
smartlist_t *alt_orports = smartlist_new();
|
smartlist_t *alt_orports = smartlist_new();
|
||||||
const tor_addr_port_t *most_alt_orport = NULL;
|
const tor_addr_port_t *most_alt_orport = NULL;
|
||||||
|
|
||||||
@ -1890,10 +1890,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
|
|||||||
rs_out.published_on = rs->status.published_on;
|
rs_out.published_on = rs->status.published_on;
|
||||||
rs_out.dir_port = rs->status.dir_port;
|
rs_out.dir_port = rs->status.dir_port;
|
||||||
rs_out.or_port = rs->status.or_port;
|
rs_out.or_port = rs->status.or_port;
|
||||||
if (consensus_method >= MIN_METHOD_FOR_A_LINES) {
|
tor_addr_copy(&rs_out.ipv6_addr, &alt_orport.addr);
|
||||||
tor_addr_copy(&rs_out.ipv6_addr, &alt_orport.addr);
|
rs_out.ipv6_orport = alt_orport.port;
|
||||||
rs_out.ipv6_orport = alt_orport.port;
|
|
||||||
}
|
|
||||||
rs_out.has_bandwidth = 0;
|
rs_out.has_bandwidth = 0;
|
||||||
rs_out.has_exitsummary = 0;
|
rs_out.has_exitsummary = 0;
|
||||||
|
|
||||||
@ -3846,8 +3844,7 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method)
|
|||||||
|
|
||||||
/* We originally put a lines in the micrdescriptors, but then we worked out
|
/* We originally put a lines in the micrdescriptors, but then we worked out
|
||||||
* that we needed them in the microdesc consensus. See #20916. */
|
* that we needed them in the microdesc consensus. See #20916. */
|
||||||
if (consensus_method >= MIN_METHOD_FOR_A_LINES &&
|
if (consensus_method < MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC &&
|
||||||
consensus_method < MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC &&
|
|
||||||
!tor_addr_is_null(&ri->ipv6_addr) && ri->ipv6_orport)
|
!tor_addr_is_null(&ri->ipv6_addr) && ri->ipv6_orport)
|
||||||
smartlist_add_asprintf(chunks, "a %s\n",
|
smartlist_add_asprintf(chunks, "a %s\n",
|
||||||
fmt_addrport(&ri->ipv6_addr, ri->ipv6_orport));
|
fmt_addrport(&ri->ipv6_addr, ri->ipv6_orport));
|
||||||
|
@ -61,13 +61,6 @@
|
|||||||
/** The highest consensus method that we currently support. */
|
/** The highest consensus method that we currently support. */
|
||||||
#define MAX_SUPPORTED_CONSENSUS_METHOD 28
|
#define MAX_SUPPORTED_CONSENSUS_METHOD 28
|
||||||
|
|
||||||
/** Lowest consensus method where microdesc consensuses omit any entry
|
|
||||||
* with no microdesc. */
|
|
||||||
#define MIN_METHOD_FOR_MANDATORY_MICRODESC 13
|
|
||||||
|
|
||||||
/** Lowest consensus method that contains "a" lines. */
|
|
||||||
#define MIN_METHOD_FOR_A_LINES 14
|
|
||||||
|
|
||||||
/** Lowest consensus method where microdescs may include a "p6" line. */
|
/** Lowest consensus method where microdescs may include a "p6" line. */
|
||||||
#define MIN_METHOD_FOR_P6_LINES 15
|
#define MIN_METHOD_FOR_P6_LINES 15
|
||||||
|
|
||||||
|
@ -1528,7 +1528,7 @@ networkstatus_consensus_has_ipv6(const or_options_t* options)
|
|||||||
return
|
return
|
||||||
cons->consensus_method >= MIN_METHOD_FOR_A_LINES_IN_MICRODESC_CONSENSUS;
|
cons->consensus_method >= MIN_METHOD_FOR_A_LINES_IN_MICRODESC_CONSENSUS;
|
||||||
} else {
|
} else {
|
||||||
return cons->consensus_method >= MIN_METHOD_FOR_A_LINES;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5771,22 +5771,10 @@ test_dir_networkstatus_consensus_has_ipv6(void *arg)
|
|||||||
/* Test the bounds for A lines in the NS consensus */
|
/* Test the bounds for A lines in the NS consensus */
|
||||||
mock_options->UseMicrodescriptors = 0;
|
mock_options->UseMicrodescriptors = 0;
|
||||||
|
|
||||||
mock_networkstatus->consensus_method = MIN_METHOD_FOR_A_LINES;
|
mock_networkstatus->consensus_method = MIN_SUPPORTED_CONSENSUS_METHOD;
|
||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
||||||
tt_assert(has_ipv6);
|
tt_assert(has_ipv6);
|
||||||
|
|
||||||
mock_networkstatus->consensus_method = MIN_METHOD_FOR_A_LINES + 1;
|
|
||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
|
||||||
tt_assert(has_ipv6);
|
|
||||||
|
|
||||||
mock_networkstatus->consensus_method = MIN_METHOD_FOR_A_LINES + 20;
|
|
||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
|
||||||
tt_assert(has_ipv6);
|
|
||||||
|
|
||||||
mock_networkstatus->consensus_method = MIN_METHOD_FOR_A_LINES - 1;
|
|
||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
|
||||||
tt_assert(!has_ipv6);
|
|
||||||
|
|
||||||
/* Test the bounds for A lines in the microdesc consensus */
|
/* Test the bounds for A lines in the microdesc consensus */
|
||||||
mock_options->UseMicrodescriptors = 1;
|
mock_options->UseMicrodescriptors = 1;
|
||||||
|
|
||||||
@ -5795,6 +5783,10 @@ test_dir_networkstatus_consensus_has_ipv6(void *arg)
|
|||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
||||||
tt_assert(has_ipv6);
|
tt_assert(has_ipv6);
|
||||||
|
|
||||||
|
mock_networkstatus->consensus_method = MAX_SUPPORTED_CONSENSUS_METHOD + 20;
|
||||||
|
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
||||||
|
tt_assert(has_ipv6);
|
||||||
|
|
||||||
mock_networkstatus->consensus_method =
|
mock_networkstatus->consensus_method =
|
||||||
MIN_METHOD_FOR_A_LINES_IN_MICRODESC_CONSENSUS + 1;
|
MIN_METHOD_FOR_A_LINES_IN_MICRODESC_CONSENSUS + 1;
|
||||||
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
has_ipv6 = networkstatus_consensus_has_ipv6(get_options());
|
||||||
|
Loading…
Reference in New Issue
Block a user