X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.c;h=d7c4c872fe27fed160af90458ea403ecd66e4387;hp=68a66492966d966c6b1f4c004e1676c2dd75f9ea;hb=a8a3a2c8ceb19bcb6c2c3ef0647c94d7d0624b7a;hpb=ac9e32ff91ee2318c49808522f0c7d458c79eb44 diff --git a/src/route.c b/src/route.c index 68a66492..d7c4c872 100644 --- a/src/route.c +++ b/src/route.c @@ -902,7 +902,7 @@ static bool do_decrement_ttl(node_t *source, vpn_packet_t *packet) { if(!checklength(source, packet, ethlen + ip_size)) return false; - if(DATA(packet)[ethlen + 8] < 1) { + if(DATA(packet)[ethlen + 8] <= 1) { if(DATA(packet)[ethlen + 11] != IPPROTO_ICMP || DATA(packet)[ethlen + 32] != ICMP_TIME_EXCEEDED) route_ipv4_unreachable(source, packet, ethlen, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL); return false; @@ -925,7 +925,7 @@ static bool do_decrement_ttl(node_t *source, vpn_packet_t *packet) { if(!checklength(source, packet, ethlen + ip6_size)) return false; - if(DATA(packet)[ethlen + 7] < 1) { + if(DATA(packet)[ethlen + 7] <= 1) { if(DATA(packet)[ethlen + 6] != IPPROTO_ICMPV6 || DATA(packet)[ethlen + 40] != ICMP6_TIME_EXCEEDED) route_ipv6_unreachable(source, packet, ethlen, ICMP6_TIME_EXCEEDED, ICMP6_TIME_EXCEED_TRANSIT); return false;