X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fconnection.c;h=36c0fdbc58fd76eed0dc010c666561b20651ad9a;hp=6229e79d83be40c9d77a5592576494aa5b8e9d82;hb=8c3105283ac53f8cc9cc4dde25957ec1cf6b53a0;hpb=4b6a9f1c1f645ce5989692655337d9e23ca28648 diff --git a/src/connection.c b/src/connection.c index 6229e79d..36c0fdbc 100644 --- a/src/connection.c +++ b/src/connection.c @@ -129,9 +129,24 @@ void dump_connections(void) { } bool read_connection_config(connection_t *c) { + list_node_t *node, *next; + size_t name_len = strlen(c->name); char *fname; bool x; + for(node = cmdline_conf->tail; node; node = next) { + config_t *cfg = (config_t *)node->data; + next = node->prev; + if (!strncmp(c->name, cfg->variable, name_len) && cfg->variable[name_len] == '.') { + config_t *new_cfg = new_config(); + new_cfg->variable = xstrdup(cfg->variable + name_len + 1); + new_cfg->value = xstrdup(cfg->value); + new_cfg->file = NULL; + new_cfg->line = cfg->line; + config_add(c->config_tree, new_cfg); + } + } + xasprintf(&fname, "%s/hosts/%s", confbase, c->name); x = read_config_file(c->config_tree, fname); free(fname);