summaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2021-06-29 10:55:46 -0400
committerDavid Goulet <dgoulet@torproject.org>2021-06-29 10:55:46 -0400
commite9edcea0ca9aaaa208a52149b742d048eaaff142 (patch)
tree3555c23b2146bab37455938d4bf36adddaedc09c /src/app
parent23451ef2fee7cecb3e08757807c90a27b9cfffc1 (diff)
parent01a5b41be0aa0d8ab2574d7075af8db2878a1cf3 (diff)
downloadtor-e9edcea0ca9aaaa208a52149b742d048eaaff142.tar.gz
tor-e9edcea0ca9aaaa208a52149b742d048eaaff142.zip
Merge branch 'tor-gitlab/mr/275'
Diffstat (limited to 'src/app')
-rw-r--r--src/app/config/config.c3
-rw-r--r--src/app/config/or_options_st.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 7c92694178..078df50677 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -616,6 +616,7 @@ static const config_var_t option_vars_[] = {
V(ConnectionPadding, AUTOBOOL, "auto"),
V(RefuseUnknownExits, AUTOBOOL, "auto"),
V(CircuitPadding, BOOL, "1"),
+ V(ReconfigDropsBridgeDescs, BOOL, "0"),
V(ReducedCircuitPadding, BOOL, "0"),
V(RejectPlaintextPorts, CSV, ""),
V(RelayBandwidthBurst, MEMUNIT, "0"),
@@ -2309,6 +2310,8 @@ options_act,(const or_options_t *old_options))
}
if (transition_affects_guards) {
+ if (options->ReconfigDropsBridgeDescs)
+ routerlist_drop_bridge_descriptors();
if (guards_update_all()) {
abandon_circuits = 1;
}
diff --git a/src/app/config/or_options_st.h b/src/app/config/or_options_st.h
index 151b77c457..b289865983 100644
--- a/src/app/config/or_options_st.h
+++ b/src/app/config/or_options_st.h
@@ -293,6 +293,13 @@ struct or_options_t {
* disabled. */
int CircuitPadding;
+ /** Boolean: if true, then this client will discard cached bridge
+ * descriptors on a setconf or other config change that impacts guards
+ * or bridges (see options_transition_affects_guards() for exactly which
+ * config changes trigger it). Useful for tools that test bridge
+ * reachability by fetching fresh descriptors. */
+ int ReconfigDropsBridgeDescs;
+
/** Boolean: if true, then this client will only use circuit padding
* algorithms that are known to use a low amount of overhead. If false,
* we will use all available circuit padding algorithms.