aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/ticket403373
-rw-r--r--src/feature/relay/router.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/ticket40337 b/changes/ticket40337
index 02ea29ffc1..1c86fc4c99 100644
--- a/changes/ticket40337
+++ b/changes/ticket40337
@@ -11,3 +11,6 @@
immediately from startup. Previously, they waited
until they had been running for a full day. Closes ticket
40337.
+ - Relays on testing networks no longer rate-limit how frequently
+ they are willing to report new bandwidth measurements. Part of a fix
+ for ticket 40337.
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 2696b8633b..c95f36aa8b 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -2599,7 +2599,10 @@ check_descriptor_bandwidth_changed(time_t now)
if ((prev != cur && (!prev || !cur)) ||
cur > (prev * BANDWIDTH_CHANGE_FACTOR) ||
cur < (prev / BANDWIDTH_CHANGE_FACTOR) ) {
- if (last_changed+MAX_BANDWIDTH_CHANGE_FREQ < now || !prev) {
+ const bool change_recent_enough =
+ last_changed+MAX_BANDWIDTH_CHANGE_FREQ < now;
+ const bool testing_network = get_options()->TestingTorNetwork;
+ if (change_recent_enough || testing_network || !prev) {
log_info(LD_GENERAL,
"Measured bandwidth has changed; rebuilding descriptor.");
mark_my_descriptor_dirty("bandwidth has changed");