You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d284138
Browse filesBrowse the repository at this point in the historyBrowse files
fix(toolkit): reassemble the first fragmented IP layer, so tunnelled fragments reassemble (#2307)
Problem: the IPv4 and IPv6 reassembly adapters read the frame's outermost
IPv4 or IPv6 layer, so in an IP-in-IP tunnel a fragmented inner datagram was
reassembled whole under the tunnel's header, or dropped (tunnel DF set, or no
Fragment header in the tunnel's IPv6), and never reassembled itself.
Fix: take the first layer of that IP version, from the outside in, that is a
fragment (IPv4 MF or a non-zero offset; an IPv6 Fragment header), else the
outermost as before. Applied to the default engine's PCAP and PCAP-NG
adapters, and to scapy and dpkt, which picked the outermost too.
Test: tests/toolkit/test_tunnelled_ip_reassembly_2307_unit.py reassembles a
fragmented inner datagram (4in4 with DF clear and set, 6in6) and a fragmented
tunnel carrying a whole one, per engine; the inner cases fail on main. The
scapy 6in6 pin now expects the inner packet reassembled on its own header.
0 commit comments