X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_packet.c;h=ffda5a1253702c3ae2733fbc084e65239f20380d;hp=31e18b470fd552f1c53f3dd51586f0feb82c15a9;hb=8d393b30a922110ec77d5b243347416b50cd2160;hpb=de78d79db84c486afcc353884ec1770866beb653 diff --git a/src/net_packet.c b/src/net_packet.c index 31e18b47..ffda5a12 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -29,7 +29,12 @@ #include #include +#ifdef HAVE_LZO_LZO1X_H +#include +#endif +#ifdef HAVE_LZO1X_H #include +#endif #include "avl_tree.h" #include "conf.h" @@ -285,10 +290,11 @@ void receive_tcppacket(connection_t *c, char *buffer, int len) receive_packet(c->node, &outpkt); } -static void send_udppacket(node_t *n, vpn_packet_t *inpkt) +static void send_udppacket(node_t *n, vpn_packet_t *origpkt) { vpn_packet_t pkt1, pkt2; vpn_packet_t *pkt[] = { &pkt1, &pkt2, &pkt1, &pkt2 }; + vpn_packet_t *inpkt = origpkt; int nextpkt = 0; vpn_packet_t *outpkt; int origlen; @@ -404,7 +410,7 @@ static void send_udppacket(node_t *n, vpn_packet_t *inpkt) } end: - inpkt->len = origlen; + origpkt->len = origlen; } /* @@ -457,11 +463,8 @@ void broadcast_packet(const node_t *from, vpn_packet_t *packet) ifdebug(TRAFFIC) logger(LOG_INFO, _("Broadcasting packet of %d bytes from %s (%s)"), packet->len, from->name, from->hostname); - if(from != myself) { - if(overwrite_mac) - memcpy(packet->data, mymac.x, ETH_ALEN); - write_packet(packet); - } + if(from != myself) + send_packet(myself, packet); for(node = connection_tree->head; node; node = node->next) { c = node->data;