aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2023-02-12 15:50:55 -0500
committerRoger Dingledine <arma@torproject.org>2023-02-13 13:54:29 -0500
commit36612b9bf8f432ccfc5fc637dd86463b84ab4882 (patch)
tree76e8bc37da2046e762f5f7ef42b7d99341ad0a40
parent21b3397f9b0803134bc458b83cd161de259887fd (diff)
downloadtor-36612b9bf8f432ccfc5fc637dd86463b84ab4882.tar.gz
tor-36612b9bf8f432ccfc5fc637dd86463b84ab4882.zip
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.
-rw-r--r--changes/ticket407535
-rw-r--r--src/feature/dirauth/dirvote.c8
2 files changed, 13 insertions, 0 deletions
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;