X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol_misc.c;h=8818d0232e4c5a517e3cdb3388ae9dff9d3648ab;hp=6f7ab03b3fc7ae5549717be54457a2ec727286ca;hb=80e15d8b96e5313b33c91003b1f75d7f6db9924e;hpb=6d08eb1614b59d5f86a43edda9db06fca72b76cd diff --git a/src/protocol_misc.c b/src/protocol_misc.c index 6f7ab03b..8818d023 100644 --- a/src/protocol_misc.c +++ b/src/protocol_misc.c @@ -111,8 +111,14 @@ bool pong_h(connection_t *c) { /* Succesful connection, reset timeout if this is an outgoing connection. */ - if(c->outgoing) + if(c->outgoing) { c->outgoing->timeout = 0; + c->outgoing->cfg = NULL; + if(c->outgoing->ai) + freeaddrinfo(c->outgoing->ai); + c->outgoing->ai = NULL; + c->outgoing->aip = NULL; + } return true; } @@ -129,7 +135,7 @@ bool send_tcppacket(connection_t *c, const vpn_packet_t *packet) { if(!send_request(c, "%d %hd", PACKET, packet->len)) return false; - return send_meta(c, (char *)packet->data, packet->len); + return send_meta(c, (char *)packet->data, packet->len) && flush_meta(c); } bool tcppacket_h(connection_t *c) {