summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-10-22 14:46:10 -0400
committerNick Mathewson <nickm@torproject.org>2019-10-22 14:46:10 -0400
commit2ed194c9a93c9e60ca4d4ff0bbf25acb2cf2c62c (patch)
tree7bbdddd3da1f7d5fd6c5c879367265ba574cff87
parentedc3f70635fdead8f4dd777117c82b7319c19fe6 (diff)
parenta7ccd9a997bc85c0e03926b7d24f7e05a4a51d39 (diff)
downloadtor-2ed194c9a93c9e60ca4d4ff0bbf25acb2cf2c62c.tar.gz
tor-2ed194c9a93c9e60ca4d4ff0bbf25acb2cf2c62c.zip
Merge remote-tracking branch 'tor-github/pr/1441' into maint-0.4.2
-rw-r--r--changes/bug321088
-rw-r--r--src/core/mainloop/mainloop.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/changes/bug32108 b/changes/bug32108
new file mode 100644
index 0000000000..2806fa3e5d
--- /dev/null
+++ b/changes/bug32108
@@ -0,0 +1,8 @@
+ o Major bugfixes (relay):
+ - Relays now respect their AccountingMax bandwidth again. When relays
+ entered "soft" hibernation (which typically starts when we've hit
+ 90% of our AccountingMax), we had stopped checking whether we should
+ enter hard hibernation. Soft hibernation refuses new connections and
+ new circuits, but the existing circuits can continue, meaning that
+ relays could have exceeded their configured AccountingMax. Fixes
+ bug 32108; bugfix on 0.4.0.1-alpha.
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index 2f8be9961d..6f29a6981a 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -1388,7 +1388,7 @@ STATIC periodic_event_item_t mainloop_periodic_events[] = {
/* This is a legacy catch-all callback that runs once per second if
* we are online and active. */
CALLBACK(second_elapsed, NET_PARTICIPANT,
- FL(NEED_NET)|FL(RUN_ON_DISABLE)),
+ FL(RUN_ON_DISABLE)),
/* XXXX Do we have a reason to do this on a callback? Does it do any good at
* all? For now, if we're dormant, we can let our listeners decay. */