From 28f92f84d5adb5b0b07abab7cb72c4eceb0ca1ec Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Sat, 12 Apr 2014 20:21:58 +0200 Subject: [PATCH] Leave 14 bytes for legacy MTU probing --- src/libmeshlink.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libmeshlink.c b/src/libmeshlink.c index 00eaa09c..67d945e0 100644 --- a/src/libmeshlink.c +++ b/src/libmeshlink.c @@ -565,7 +565,7 @@ bool tinc_send_packet(node_t *receiver, const char* buf, unsigned int len) { vpn_packet_t packet; tincpackethdr* hdr = malloc(sizeof(tincpackethdr)); - if (sizeof(hdr) + len > MAXSIZE) { + if (14 + sizeof(hdr) + len > MAXSIZE) { //log something return false; @@ -577,8 +577,9 @@ bool tinc_send_packet(node_t *receiver, const char* buf, unsigned int len) { packet.priority = 0; packet.len = sizeof(tincpackethdr) + len; - memcpy(packet.data,hdr,32); - memcpy(packet.data+32,buf,len); + memset(packet.data,1,14); + memcpy(packet.data+14,hdr,32); + memcpy(packet.data+32+14,buf,len); myself->in_packets++; myself->in_bytes += packet.len; -- 2.39.5