summaryrefslogtreecommitdiff
path: root/src/or/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/config.c')
-rw-r--r--src/or/config.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/or/config.c b/src/or/config.c
index a1960dd8fc..39d7f5b589 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1208,6 +1208,7 @@ options_act(or_options_t *old_options)
return -1;
if (options->ClientTransportPlugin) {
+ clear_transport_list();
for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
if (parse_transport_line(cl->value, 0)<0) {
log_warn(LD_BUG,
@@ -1230,6 +1231,13 @@ options_act(or_options_t *old_options)
sweep_bridge_list();
}
+ /** Okay, we have Bridges and we have ClientTransportPlugins. Let's
+ match them together. */
+ if (options->Bridges && options->ClientTransportPlugin) {
+ if (match_bridges_with_transports() < 0)
+ return -1;
+ }
+
if (running_tor && rend_config_services(options, 0)<0) {
log_warn(LD_BUG,
"Previously validated hidden services line could not be added!");
@@ -4629,7 +4637,7 @@ parse_bridge_line(const char *line, int validate_only)
fmt_addr(&addr), (int)port, transport_name,
fingerprint ? fingerprint : "no key listed");
bridge_add_from_config(&addr, port,
- fingerprint ? digest : NULL/*, transport_name*/);
+ fingerprint ? digest : NULL, transport_name);
}
r = 0;
@@ -4702,8 +4710,8 @@ parse_transport_line(const char *line, int validate_only)
if (!validate_only) {
log_warn(LD_DIR, "Transport %s at %s:%d", name,
fmt_addr(&addr), (int)port);
- /* transport_add_from_config(&addr, port,
- fingerprint ? digest : NULL, transport); */
+ transport_add_from_config(&addr, port, name,
+ socks_ver);
}
r = 0;