summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug132134
-rw-r--r--src/or/config.c32
2 files changed, 21 insertions, 15 deletions
diff --git a/changes/bug13213 b/changes/bug13213
new file mode 100644
index 0000000000..6dae8b06a1
--- /dev/null
+++ b/changes/bug13213
@@ -0,0 +1,4 @@
+ o Minor bugfixes (Bridges):
+ - When DisableNetwork is set, do not launch pluggable transport
+ plugins, and if any are running already, terminate the existing
+ instances. Resolves ticket 13213.
diff --git a/src/or/config.c b/src/or/config.c
index 16acec791c..8f4fc39689 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1399,24 +1399,26 @@ options_act(const or_options_t *old_options)
mark_transport_list();
pt_prepare_proxy_list_for_config_read();
- if (options->ClientTransportPlugin) {
- for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
- if (parse_client_transport_line(options, cl->value, 0)<0) {
- log_warn(LD_BUG,
- "Previously validated ClientTransportPlugin line "
- "could not be added!");
- return -1;
+ if (!options->DisableNetwork) {
+ if (options->ClientTransportPlugin) {
+ for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
+ if (parse_client_transport_line(options, cl->value, 0)<0) {
+ log_warn(LD_BUG,
+ "Previously validated ClientTransportPlugin line "
+ "could not be added!");
+ return -1;
+ }
}
}
- }
- if (options->ServerTransportPlugin && server_mode(options)) {
- for (cl = options->ServerTransportPlugin; cl; cl = cl->next) {
- if (parse_server_transport_line(options, cl->value, 0)<0) {
- log_warn(LD_BUG,
- "Previously validated ServerTransportPlugin line "
- "could not be added!");
- return -1;
+ if (options->ServerTransportPlugin && server_mode(options)) {
+ for (cl = options->ServerTransportPlugin; cl; cl = cl->next) {
+ if (parse_server_transport_line(options, cl->value, 0)<0) {
+ log_warn(LD_BUG,
+ "Previously validated ServerTransportPlugin line "
+ "could not be added!");
+ return -1;
+ }
}
}
}