[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor] 02/04: dir auths now omit Measured= if rs->is_authority



This is an automated email from the git hooks/post-receive script.

dgoulet pushed a commit to branch main
in repository tor.

commit bab8375ef5e4a917f9512e4250c52a45d33fb9ba
Author: Roger Dingledine <arma@xxxxxxxxxxxxxx>
AuthorDate: Thu Oct 20 20:56:33 2022 -0400

    dir auths now omit Measured= if rs->is_authority
    
    Directory authorities stop voting a consensus "Measured" weight
    for relays with the Authority flag. Now these relays will be
    considered unmeasured, which should reserve their bandwidth
    for their dir auth role and minimize distractions from other roles.
    
    In place of the "Measured" weight, they now include a
    "MeasuredButAuthority" weight (not used by anything) so the bandwidth
    authority's opinion on this relay can be recorded for posterity.
    
    Resolves ticket 40698.
---
 changes/bug40698                        | 11 +++++++++++
 src/feature/nodelist/fmt_routerstatus.c | 15 +++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/changes/bug40698 b/changes/bug40698
new file mode 100644
index 0000000000..98ddd4f968
--- /dev/null
+++ b/changes/bug40698
@@ -0,0 +1,11 @@
+  o Minor bugfixes (dirauth):
+    - Directory authorities stop voting a consensus "Measured" weight
+      for relays with the Authority flag. Now these relays will be
+      considered unmeasured, which should reserve their bandwidth
+      for their dir auth role and minimize distractions from other
+      roles. In place of the "Measured" weight, they now include a
+      "MeasuredButAuthority" weight (not used by anything) so the
+      bandwidth authority's opinion on this relay can be recorded for
+      posterity. Lastly, remove the AuthDirDontVoteOnDirAuthBandwidth
+      torrc option which never worked right. Fixes bugs 40698 and 40700;
+      bugfix on 0.4.7.2-alpha.
diff --git a/src/feature/nodelist/fmt_routerstatus.c b/src/feature/nodelist/fmt_routerstatus.c
index 95379a7721..8c02a302af 100644
--- a/src/feature/nodelist/fmt_routerstatus.c
+++ b/src/feature/nodelist/fmt_routerstatus.c
@@ -169,9 +169,20 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version,
     smartlist_add_asprintf(chunks,
                      "w Bandwidth=%d", bw_kb);
 
+    /* Include the bandwidth weight from our external bandwidth
+     * authority, if we have one. */
     if (format == NS_V3_VOTE && vrs && vrs->has_measured_bw) {
-      smartlist_add_asprintf(chunks,
-                       " Measured=%d", vrs->measured_bw_kb);
+      if (!rs->is_authority) { /* normal case */
+        smartlist_add_asprintf(chunks,
+                         " Measured=%d", vrs->measured_bw_kb);
+      } else {
+       /* dir auth special case: don't give it a Measured line, so we
+        * can reserve its attention for authority-specific activities.
+        * But do include the bwauth's opinion so it can be recorded for
+        * posterity. See #40698 for details. */
+        smartlist_add_asprintf(chunks,
+                         " MeasuredButAuthority=%d", vrs->measured_bw_kb);
+      }
     }
     /* Write down guardfraction information if we have it. */
     if (format == NS_V3_VOTE && vrs && vrs->status.has_guardfraction) {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits