Bug 747

Summary: Listening TCP socket closes on RST
Product: ns-3 Reporter: Fabian Mauchle <f1mauchl>
Component: internetAssignee: Josh Pelkey <jpelkey>
Status: RESOLVED FIXED    
Severity: normal CC: mathieu.lacage, ns-bugs, tomh
Priority: P2    
Version: ns-3-dev   
Hardware: All   
OS: All   
Attachments: patch

Description Fabian Mauchle 2009-11-23 05:07:25 EST
Created attachment 667 [details]
patch

A TCP socket in state 'Listening' changes to state 'Closed' when a (malicious) RST packet is received. The socket should stay in state 'Listening'.

Please review the patch very closely. All unit-tests pass, but i'm not sure whether they cover all situations.
Comment 1 Josh Pelkey 2009-11-26 11:24:26 EST
(In reply to comment #0)
> Created an attachment (id=667) [details]
> patch
> 
> A TCP socket in state 'Listening' changes to state 'Closed' when a (malicious)
> RST packet is received. The socket should stay in state 'Listening'.
> 
> Please review the patch very closely. All unit-tests pass, but i'm not sure
> whether they cover all situations.

I spent some time looking over this, and it looks good.  Essentially the patch ensures that the state machine is used upon RST events (rather than trying to do it within the methods). +1 from me.
Comment 2 Josh Pelkey 2010-01-31 15:18:28 EST
(In reply to comment #1)
> (In reply to comment #0)
> > Created an attachment (id=667) [details] [details]
> > patch
> > 
> > A TCP socket in state 'Listening' changes to state 'Closed' when a (malicious)
> > RST packet is received. The socket should stay in state 'Listening'.
> > 
> > Please review the patch very closely. All unit-tests pass, but i'm not sure
> > whether they cover all situations.
> 
> I spent some time looking over this, and it looks good.  Essentially the patch
> ensures that the state machine is used upon RST events (rather than trying to
> do it within the methods). +1 from me.

changeset 894221b51957