From: Guus Sliepen Date: Sat, 12 Jul 2014 20:19:45 +0000 (+0200) Subject: Merge branch 'winwarnings' of https://github.com/dechamps/tinc into 1.1 X-Git-Tag: release-1.1pre11~63 X-Git-Url: https://www.tinc-vpn.org/git/browse?a=commitdiff_plain;h=53036a58790168e18f524bd923f9a7d34691ba2d;hp=-c;p=tinc Merge branch 'winwarnings' of https://github.com/dechamps/tinc into 1.1 --- 53036a58790168e18f524bd923f9a7d34691ba2d diff --combined src/net_packet.c index 31c19b7a,b7ef5193..4ec70fa6 --- a/src/net_packet.c +++ b/src/net_packet.c @@@ -360,6 -360,7 +360,6 @@@ static void receive_udppacket(node_t *n vpn_packet_t pkt1, pkt2; vpn_packet_t *pkt[] = { &pkt1, &pkt2, &pkt1, &pkt2 }; int nextpkt = 0; - vpn_packet_t *outpkt = pkt[0]; size_t outlen; if(n->status.sptps) { @@@ -401,7 -402,7 +401,7 @@@ /* Decrypt the packet */ if(cipher_active(n->incipher)) { - outpkt = pkt[nextpkt++]; + vpn_packet_t *outpkt = pkt[nextpkt++]; outlen = MAXSIZE; if(!cipher_decrypt(n->incipher, &inpkt->seqno, inpkt->len, &outpkt->seqno, &outlen, true)) { @@@ -458,7 -459,7 +458,7 @@@ length_t origlen = inpkt->len; if(n->incompression) { - outpkt = pkt[nextpkt++]; + vpn_packet_t *outpkt = pkt[nextpkt++]; if((outpkt->len = uncompress_packet(outpkt->data, inpkt->data, inpkt->len, n->incompression)) < 0) { logger(DEBUG_TRAFFIC, LOG_ERR, "Error while uncompressing packet from %s (%s)", @@@ -628,8 -629,8 +628,8 @@@ static void send_udppacket(node_t *n, v size_t outlen; #if defined(SOL_IP) && defined(IP_TOS) static int priority = 0; - #endif int origpriority = origpkt->priority; + #endif if(!n->status.reachable) { logger(DEBUG_TRAFFIC, LOG_INFO, "Trying to send UDP packet to unreachable node %s (%s)", n->name, n->hostname); @@@ -768,12 -769,12 +768,12 @@@ bool send_sptps_data(void *handle, uint /* Otherwise, send the packet via UDP */ - const sockaddr_t *sa; + const sockaddr_t *sa = NULL; int sock; if(to->status.send_locally) choose_local_address(to, &sa, &sock); - else + if(!sa) choose_udp_address(to, &sa, &sock); if(sendto(listen_socket[sock].udp.fd, data, len, 0, &sa->sa, SALEN(sa->sa)) < 0 && !sockwouldblock(sockerrno)) { @@@ -936,7 -937,7 +936,7 @@@ void broadcast_packet(const node_t *fro // usually distributes the sending of broadcast packets over all nodes. case BMODE_MST: for list_each(connection_t, c, connection_list) - if(c->status.active && c->status.mst && c != from->nexthop->connection) + if(c->edge && c->status.mst && c != from->nexthop->connection) send_packet(c->node, packet); break;