buglwIP - A Lightweight TCP/IP stack - Bugs: bug #41494, TCP possibly violates RFC793


You are not allowed to post comments on this tracker with your current authentication level.

bug #41494: TCP possibly violates RFC793

Submitter:  Simon Goldschmidt <goldsimon>
Submitted:  Fri 07 Feb 2014 10:05:33 AM UTC
Category:  TCP Severity:  2 - Minor
Item Group:  Faulty Behaviour Status:  Postponed
Privacy:  Public Assigned to:  None
Open/Closed:  Open Planned Release:  None
lwIP version:  git head

Sat 21 Mar 2015 08:30:46 PM UTC, comment #1: 

From comparing the spec and the sources, I see this too. However, I don't think it's a simple change: at least with TCP_QUEUE_OOSEQ enabled, when not handling ACKs of ooseq segments, we'd have to send these segments through the ACK handling code once they get inseq or we might risk losing ACK updates (or getting them later as we could).

Since I don't think that this is currently a serious issue, I'm postponing this until someone finds the time to fix it :-)

Simon Goldschmidt <goldsimon>
Group administrator
Fri 07 Feb 2014 10:05:33 AM UTC, original submission:  

See lwip-devel from Elena Gurevich on Mon, 3 Feb 2014 10:06:25 +0200:

"I’m following the implementation of tcp_receive() function and it looks like function logic does not follow RFC793 specification of segment_arrives event:


RFC specifies that:


------ snipped from RFC 793 ------
first check sequence number
------ snipped from RFC 793 ------

As I understand that all control information ( SYN, FIN, ACK, ack_no, window ) filed should be ignored and not processed in case of unacceptable segment arrival.

According tcp_receive() function from first of all it takes care of ack_no and window field for segment with ACK ? uses actual ack_no and windows values to update tcb

and takes into account segment seq_no only at data processing step.


This looks like strong violation of RFC defined behavior."

Simon Goldschmidt <goldsimon>
Group administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by goldsimon (Submitted the item)

    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 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-03-21 goldsimon Severity3 - Normal 2 - Minor
        StatusNone Postponed

    Back to the top

    Powered by Savane 3.12.
    Corresponding source code