X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_packet.c;h=a5fede148ad2b0342bbdaf367804a8afaa9bb55c;hp=1730023d17c6f54c673896bbf4c25faf70b309f7;hb=0246939ce18e1af9660b782b6814be182a7af9da;hpb=3308d13e7e3bf20cfeaf6f2ab17228a9820cea66 diff --git a/src/net_packet.c b/src/net_packet.c index 1730023d..a5fede14 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -342,7 +342,7 @@ static void send_udppacket(node_t *n, vpn_packet_t *origpkt) return; } - if(!n->minmtu && (inpkt->data[12] | inpkt->data[13])) { + if(n->options & OPTION_PMTU_DISCOVERY && !n->minmtu && (inpkt->data[12] | inpkt->data[13])) { ifdebug(TRAFFIC) logger(LOG_INFO, _("No minimum MTU established yet for %s (%s), forwarding via TCP"), n->name, n->hostname); @@ -545,12 +545,14 @@ void handle_incoming_vpn_data(int sock) n = try_harder(&from, &pkt); if(n) update_node_udp(n, &from); - else { + else ifdebug(PROTOCOL) { hostname = sockaddr2hostname(&from); logger(LOG_WARNING, _("Received UDP packet from unknown source %s"), hostname); free(hostname); return; } + else + return; } receive_udppacket(n, &pkt);