aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-10-05 23:02:40 +0000
committerNick Mathewson <nickm@torproject.org>2005-10-05 23:02:40 +0000
commitba67d14d407adcf603d422c07236438083aa0f30 (patch)
treecda69528dbd320ba5f7d3088262686a59785f5c1
parentf12663a4ce2a61d5b1f4975dcf27d9f2adaa128e (diff)
downloadtor-ba67d14d407adcf603d422c07236438083aa0f30.tar
tor-ba67d14d407adcf603d422c07236438083aa0f30.tar.gz
On sighup, if usehelpernodes changed to 1, use new circuits.
svn:r5203
-rw-r--r--doc/TODO2
-rw-r--r--src/or/config.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/doc/TODO b/doc/TODO
index 9700eaa31..5e9fdee16 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -57,7 +57,7 @@ N . Additional controller features
. Helper nodes
. More testing and debugging
- - On sighup, if usehelpernodes changed to 1, use new circuits?
+ o On sighup, if usehelpernodes changed to 1, use new circuits?
- If your helper nodes are unavailable, don't abandon them unless
other nodes *are* reachable.
R - If you think an OR conn is open but you can never establish a circuit
diff --git a/src/or/config.c b/src/or/config.c
index 4655e2c2b..d7ac5f72c 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -623,6 +623,12 @@ options_act(or_options_t *old_options)
/* Check for transitions that need action. */
if (old_options) {
+ if (options->UseHelperNodes && !old_options->UseHelperNodes) {
+ log_fn(LOG_INFO, "Switching to helper nodes; abandoning previous circuits");
+ circuit_mark_all_unused_circs();
+ circuit_expire_all_dirty_circs();
+ }
+
if (options_transition_affects_workers(old_options, options)) {
log_fn(LOG_INFO,"Worker-related options changed. Rotating workers.");
cpuworkers_rotate();