diff options
-rw-r--r-- | changes/bug3200 | 6 | ||||
-rw-r--r-- | 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 0000000000..a80d51633e --- /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 87eb5d38ea..4fcbd625d3 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1296,6 +1296,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) || @@ -1303,8 +1306,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; |