lwIP - A Lightweight TCP/IP stack - Bugs: bug #49717, Window size in received SYN and...
You are not allowed to post comments on this tracker with your current authentication level.
bug #49717: Window size in received SYN and SYN-ACK assumed scaled but is not
Submitter: | Ambroz Bizjak <abizjak> | ||
Submitted: | Sun 27 Nov 2016 07:01:49 PM UTC | ||
Category: | TCP | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | Fixed |
Privacy: | Public | Assigned to: | goldsimon |
Open/Closed: | Closed | Planned Release: | None |
lwIP version: | git head |
Mon 28 Nov 2016 09:30:31 AM UTC, comment #3: |
Simon Goldschmidt <goldsimon> |
Sun 27 Nov 2016 07:39:25 PM UTC, comment #2: RFC 793 specifies updating SND.WND only when receiving an ACK while already in ESTABLISHED or SYN-RCVD state (page 72). So I suggest that lwIP set snd_wnd to 1 when the SYN is received ignoring the window size in the segment. |
Ambroz Bizjak <abizjak> |
Sun 27 Nov 2016 07:29:38 PM UTC, comment #1: Also I find it strange that lwIP even looks at the window size in a received SYN (not SYN-ACK) segment, because it won't send any real data until the transition from SYN_RCVD to ESTABLISHED.
|
Ambroz Bizjak <abizjak> |
Sun 27 Nov 2016 07:01:49 PM UTC, original submission:
From looking at the code I believe lwIP incorrectly interprets the window size values in received SYN and SYN-ACK segments.
|
Ambroz Bizjak <abizjak> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 4 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2016-11-28 | goldsimon | Category | None | TCP | |
Status | None | Fixed | |||
Assigned to | None | goldsimon | |||
Open/Closed | Open | Closed |
Powered by Savane 3.13-02a9.
Corresponding source code
Re comment #2:
If we did that, passive open could only send 1 byte at first.
The original but report is correct, though. Fixed by not scaling in SYN segments.