patches: cut a frame at the end of its IP packet in the stream backend #15
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/stream-trim"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Patch 0012. Captures of the passt segment showed guest frames longer than the IPv4 packet in them: a total length of 1032 in a 2259 byte frame, the rest the next bytes of the TCP stream (IRIX 6.5's ec0 or iris's TX descriptor read; the cause is not pinned down). The NAT backend reads the packet by its length field and never noticed; passt did, and ssh through it stalled or failed at its key exchange ('incomplete message', 'string is too large'). The stream backend now cuts a frame at the end of its IPv4/IPv6 packet. The series applies on IRIS_BASE; the new unit test passes (stop_does_not_wait_for_a_peer_that_never_reads fails here with and without the patch: it assumes a socket buffer that macOS lacks).
🤖 Generated with Claude Code