[tor-commits] [tor/maint-0.2.9] Make changes in server_mode() affect workers; fix a crash.
nickm at torproject.org
nickm at torproject.org
Tue Oct 31 15:46:59 UTC 2017
commit c50c98ba6a3eae0b9a3a19c4a3498809080d7ac0
Author: Nick Mathewson <nickm at torproject.org>
Date: Mon Oct 2 11:11:30 2017 -0400
Make changes in server_mode() affect workers; fix a crash.
Without this fix, changes from client to bridge don't trigger
transition_affects_workers(), so we would never have actually
initialized the cpuworkers.
Fixes bug 23693. Bugfix on 3bcdb26267502e0 0.2.6.3-alpha, which
fixed bug 14901 in the general case, but not on the case where
public_server_mode() did not change.
---
changes/bug23693 | 6 ++++++
src/or/config.c | 1 +
2 files changed, 7 insertions(+)
diff --git a/changes/bug23693 b/changes/bug23693
new file mode 100644
index 000000000..796398be5
--- /dev/null
+++ b/changes/bug23693
@@ -0,0 +1,6 @@
+ o Minor bugfixes (relay, crash):
+ - Avoid a crash when transitioning from client mode to bridge mode.
+ Previously, we would launch the worker threads whenever our "public
+ server" mode changed, but not when our "server" mode changed.
+ Fixes bug 23693; bugfix on 0.2.6.3-alpha.
+
diff --git a/src/or/config.c b/src/or/config.c
index 2e001ee5a..23c566c6c 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -4453,6 +4453,7 @@ options_transition_affects_workers(const or_options_t *old_options,
new_options->ServerDNSSearchDomains ||
old_options->SafeLogging_ != new_options->SafeLogging_ ||
old_options->ClientOnly != new_options->ClientOnly ||
+ server_mode(old_options) != server_mode(new_options) ||
public_server_mode(old_options) != public_server_mode(new_options) ||
!config_lines_eq(old_options->Logs, new_options->Logs) ||
old_options->LogMessageDomains != new_options->LogMessageDomains)
More information about the tor-commits
mailing list