From: Yawning Angel Date: Wed, 24 Sep 2014 09:39:15 +0000 (+0000) Subject: Do not launch pluggable transport plugins when DisableNetwork is set. X-Git-Tag: tor-0.2.6.1-alpha~73^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa60a64088ace76aa2a3c1a8347ee32d4bd3ee21;p=thirdparty%2Ftor.git Do not launch pluggable transport plugins when DisableNetwork is set. 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/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; + } } } }