X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_socket.c;h=284bab74c576bfead8dd956e846f1374adfcf983;hp=80ae6778ff3b3d591921a634c768732ff9d29857;hb=9a5e289493541c80890700b03b93ba5a1ba91905;hpb=d7a7797ef35e0fd81c975d41ccfd42a4d2a5ae38 diff --git a/src/net_socket.c b/src/net_socket.c index 80ae6778..284bab74 100644 --- a/src/net_socket.c +++ b/src/net_socket.c @@ -1,7 +1,7 @@ /* net_socket.c -- Handle various kinds of sockets. Copyright (C) 1998-2005 Ivo Timmermans, - 2000-2015 Guus Sliepen + 2000-2017 Guus Sliepen 2006 Scott Lamb 2009 Florian Forster @@ -556,13 +556,20 @@ void setup_outgoing_connection(outgoing_t *outgoing) { c->outcompression = myself->connection->outcompression; init_configuration(&c->config_tree); - read_connection_config(c); + if(!read_connection_config(c)) { + free_connection(c); + outgoing->timeout = maxtimeout; + retry_outgoing(outgoing); + return; + } outgoing->cfg = lookup_config(c->config_tree, "Address"); if(!outgoing->cfg) { logger(LOG_ERR, "No address specified for %s", c->name); free_connection(c); + outgoing->timeout = maxtimeout; + retry_outgoing(outgoing); return; }