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

Submitted by:  Simon Goldschmidt <goldsimon>
Submitted on:  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>
Project 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>
Project Administrator


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)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    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.7