From: Etienne Dechamps Date: Sun, 18 Dec 2016 16:56:27 +0000 (+0000) Subject: Fix edge local addresses not being set when connections are established. X-Git-Tag: release-1.1pre15~52 X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=commitdiff_plain;h=0792a10a5a66bcbf56185e479feed78252122667 Fix edge local addresses not being set when connections are established. This bug prevented nodes from advertising their local addresses, thus breaking local discovery. The regression was introduced in ab13c14a1480561bb9f59ccfbbd6045e0484ce9c. --- diff --git a/src/protocol_auth.c b/src/protocol_auth.c index 224b6d84..d4705bde 100644 --- a/src/protocol_auth.c +++ b/src/protocol_auth.c @@ -888,8 +888,10 @@ bool ack_h(connection_t *c, const char *request) { socklen_t local_salen = sizeof local_sa; if (getsockname(c->socket, &local_sa.sa, &local_salen) < 0) logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get local socket address for connection with %s", c->name); - else + else { sockaddr_setport(&local_sa, myport); + c->edge->local_address = local_sa; + } c->edge->weight = (weight + c->estimated_weight) / 2; c->edge->connection = c; c->edge->options = c->options;