From 36612b9bf8f432ccfc5fc637dd86463b84ab4882 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sun, 12 Feb 2023 15:50:55 -0500 Subject: 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. --- changes/ticket40753 | 5 +++++ src/feature/dirauth/dirvote.c | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100644 changes/ticket40753 diff --git a/changes/ticket40753 b/changes/ticket40753 new file mode 100644 index 0000000000..c5dc76b006 --- /dev/null +++ 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 index 1bb4fd7de1..0591125d51 100644 --- 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; -- cgit v1.2.3-54-g00ecf