Skip to content

Conversation

@IustinDumitru
Copy link

Overview
This MR introduces SYN_WITH_PAYLOAD_ENABLED configuration option to handle the edge case where a SYN packet contains payload data, ensuring RFC compliance and robustness testing tools passes .

Current Behavior:
lwIP ignores payload in SYN packets and responds with ACK = seqno + 1
Only accounts for the SYN flag, not any accompanying data
Even if is very rarely this behavior is not strictly RFC-compliant ,and can be speculate by security scanners.

RFC Requirement:
According to TCP RFC specifications, the ACK number should reflect the sequence number incremented by:

New behavior:
lwIP SYN packets responds with correct ACK = seqno + the size of any received payload

Benefits:
Explicitly allowed by the TCP specification

Checked by robustness testing tools to validate TCP stack correctness
Used by security scanners to test RFC compliance

Interoperability: Works correctly with all TCP implementations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant