summaryrefslogtreecommitdiff
path: root/src/or/config.c
diff options
context:
space:
mode:
authorteor (Tim Wilson-Brown) <teor2345@gmail.com>2016-07-01 15:37:13 +1000
committerteor (Tim Wilson-Brown) <teor2345@gmail.com>2016-07-01 15:37:13 +1000
commit514f0041d190b9e142cc246e3ec7ac65342547bd (patch)
tree4476a6dbcb443e380267cc120b21ed230137b812 /src/or/config.c
parent64ee7bcd0c8e154269145b626a7cd56b9d6264a1 (diff)
downloadtor-514f0041d190b9e142cc246e3ec7ac65342547bd.tar.gz
tor-514f0041d190b9e142cc246e3ec7ac65342547bd.zip
Avoid disclosing exit IP addresses in exit policies by default
From 0.2.7.2-alpha onwards, Exits would reject all the IP addresses they knew about in their exit policy. But this may have disclosed addresses that were otherwise unlisted. Now, only advertised addresses are rejected by default by ExitPolicyRejectPrivate. All known addresses are only rejected when ExitPolicyRejectLocalInterfaces is explicitly set to 1.
Diffstat (limited to 'src/or/config.c')
-rw-r--r--src/or/config.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/config.c b/src/or/config.c
index 45acd39980..5643c8d226 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -244,6 +244,7 @@ static config_var_t option_vars_[] = {
V(ExitNodes, ROUTERSET, NULL),
V(ExitPolicy, LINELIST, NULL),
V(ExitPolicyRejectPrivate, BOOL, "1"),
+ V(ExitPolicyRejectLocalInterfaces, BOOL, "0"),
V(ExitPortStatistics, BOOL, "0"),
V(ExtendAllowPrivateAddresses, BOOL, "0"),
V(ExitRelay, AUTOBOOL, "auto"),
@@ -4320,6 +4321,8 @@ options_transition_affects_descriptor(const or_options_t *old_options,
old_options->ExitRelay != new_options->ExitRelay ||
old_options->ExitPolicyRejectPrivate !=
new_options->ExitPolicyRejectPrivate ||
+ old_options->ExitPolicyRejectLocalInterfaces !=
+ new_options->ExitPolicyRejectLocalInterfaces ||
old_options->IPv6Exit != new_options->IPv6Exit ||
!config_lines_eq(old_options->ORPort_lines,
new_options->ORPort_lines) ||