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
fix(ipv4,tcp): a header length declared past the data zero-fills the missing octets on rebuild #1404
Describe the bug
When an IPv4 ihl or a TCP data offset declares more header than the captured data holds, and the option area starts at or past the end, the missing octets are zero-filled. The rebuilt frame is longer than the captured one. This is a declared header length, separate from #1325's option lengths; #1398 pins the end-of-options case deliberately (test_an_option_area_declared_past_the_data_still_ends_at_eool) but asserts no round trip.
To Reproduce
Ethernet + IPv4 with ihl=6 and only 20 header octets present: Ethernet.from_data(Ethernet(raw).info) gives 34 octets in and 38 out.
Activity
JarryShaw commentedon Oct 8, 2026
Unblocked: #1398 and #1399 have merged. One worker is taking #1402 and #1404 together, because both edit
protocols/internet/ipv4.py.fix(ipv4,tcp)!: a header length declared past the data zero-fills on …
fix(ipv4,tcp)!: a header length declared past the data zero-fills on …
fix(toolkit): trace and reassemble a TCP segment whose header the sna…
fix(toolkit): trace and reassemble a TCP segment whose header the sna…