From: Guus Sliepen Date: Fri, 5 Jan 2018 18:58:28 +0000 (+0100) Subject: Merge remote-tracking branch 'dechamps/ipip' into 1.1 X-Git-Tag: release-1.1pre16~44 X-Git-Url: https://git.tinc-vpn.org/git/browse?a=commitdiff_plain;h=bdeba3f9c26f9225c17c097ca490dc651cd40b90;hp=696dc2ad9743c62e56a6d21addb8c4e8efbffec1;p=tinc Merge remote-tracking branch 'dechamps/ipip' into 1.1 --- diff --git a/src/route.c b/src/route.c index a130e690..92dc1cd0 100644 --- a/src/route.c +++ b/src/route.c @@ -406,6 +406,15 @@ static void clamp_mss(const node_t *source, const node_t *via, vpn_packet_t *pac type = DATA(packet)[16] << 8 | DATA(packet)[17]; } + /* IP in IP (RFC 2003) packet */ + if(type == ETH_P_IP && DATA(packet)[start + 9] == 4) { + start += 20; + } + + if(packet->len <= start + 20) { + return; + } + if(type == ETH_P_IP && DATA(packet)[start + 9] == 6) { start += (DATA(packet)[start] & 0xf) * 4; } else if(type == ETH_P_IPV6 && DATA(packet)[start + 6] == 6) {