tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 36612b9bf8f432ccfc5fc637dd86463b84ab4882
parent 21b3397f9b0803134bc458b83cd161de259887fd
Author: Roger Dingledine <arma@torproject.org>
Date:   Sun, 12 Feb 2023 15:50:55 -0500

vote AuthDirMaxServersPerAddr in consensus params

Directory authorities now include their AuthDirMaxServersPerAddr
config option in the consensus parameter section of their vote. Now
external tools can better predict how they will behave.

In particular, the value should make its way to the
https://consensus-health.torproject.org/#consensusparams page.

Once enough dir auths vote this param, they should also compute a
consensus value for it in the consensus document. Nothing uses this
consensus value yet, but we could imagine having dir auths consult it
in the future.

Implements ticket 40753.

Diffstat:
Achanges/ticket40753 | 5+++++
Msrc/feature/dirauth/dirvote.c | 8++++++++
2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/changes/ticket40753 b/changes/ticket40753 @@ -0,0 +1,5 @@ + o Minor features (directory authorities): + - Directory authorities now include their AuthDirMaxServersPerAddr + config option in the consensus parameter section of their vote. Now + external tools can better predict how they will behave. Implements + ticket 40753. diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c @@ -4878,6 +4878,14 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, smartlist_split_string(v3_out->net_params, paramline->value, NULL, 0, 0); } + + /* for transparency and visibility, include our current value of + * AuthDirMaxServersPerAddr in our consensus params. Once enough dir + * auths do this, external tools should be able to use that value to + * help understand which relays are allowed into the consensus. */ + smartlist_add_asprintf(v3_out->net_params, "AuthDirMaxServersPerAddr=%d", + d_options->AuthDirMaxServersPerAddr); + smartlist_sort_strings(v3_out->net_params); } v3_out->bw_file_headers = bw_file_headers;