Make sure we do not allocate new edge when talking to old nodes and the same edge already exists

When tinc gets ADD_EDGE from older versions it will allocate
new edge in protocol_edge.c:189 due to missed case in lines 149-171 where
local_address is not defined.
This commit is contained in:
thorkill 2015-07-07 21:19:26 +02:00
parent de7d9ee437
commit 5ae403f9e6

View file

@ -168,6 +168,10 @@ bool add_edge_h(connection_t *c, const char *request) {
forward_request(c, request);
return true;
} else {
logger(DEBUG_PROTOCOL, LOG_WARNING, "%s:%d %s -> %s - got edge we know from older version? (%d.%d)",
__FUNCTION__, __LINE__, e->from->name, e->to->name, c->protocol_major, c->protocol_minor);
return true;
}
} else {
sockaddrfree(&local_address);