commit 073fed06c458fac428b2377b4828412acb7d3802 Author: Roger Dingledine arma@torproject.org Date: Tue May 17 20:51:47 2011 -0400
discard circuits when we change our bridge configuration
otherwise we might reuse circuits from the previous configuration, which could be bad depending on the user's situation --- changes/bug3200 | 6 ++++++ src/or/config.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/changes/bug3200 b/changes/bug3200 new file mode 100644 index 0000000..a80d516 --- /dev/null +++ b/changes/bug3200 @@ -0,0 +1,6 @@ + o Minor bugfixes: + - When a client starts or stops using bridges, never use a circuit + that was built before the configuration change. This behavior could + put at risk a user who uses bridges to ensure that her traffic + only goes to the chosen addresses. Bugfix on 0.2.0.3-alpha; fixes + bug 3200. diff --git a/src/or/config.c b/src/or/config.c index 36a8940..8b59d50 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1275,6 +1275,9 @@ options_act(or_options_t *old_options) int revise_trackexithosts = 0; int revise_automap_entries = 0; if ((options->UseEntryGuards && !old_options->UseEntryGuards) || + options->UseBridges != old_options->UseBridges || + (options->UseBridges && + !config_lines_eq(options->Bridges, old_options->Bridges)) || !routerset_equal(old_options->ExcludeNodes,options->ExcludeNodes) || !routerset_equal(old_options->ExcludeExitNodes, options->ExcludeExitNodes) || @@ -1282,8 +1285,9 @@ options_act(or_options_t *old_options) !routerset_equal(old_options->ExitNodes, options->ExitNodes) || options->StrictNodes != old_options->StrictNodes) { log_info(LD_CIRC, - "Changed to using entry guards, or changed preferred or " - "excluded node lists. Abandoning previous circuits."); + "Changed to using entry guards or bridges, or changed " + "preferred or excluded node lists. " + "Abandoning previous circuits."); circuit_mark_all_unused_circs(); circuit_expire_all_dirty_circs(); revise_trackexithosts = 1;
tor-commits@lists.torproject.org