This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SYN problem with new TCP/IP stack


On 2006-02-12, Andrew Lunn <andrew@lunn.ch> wrote:

> For things like this i generally go back to the FreeBSD sources and
> study them.

Done.

> I don't see anything in the latest code which indicates that this
> "problem" has been fixed. Im actually woundering if this is
> deliberate. 

In the beginning, both NetBSD and FreeBSD had the same code:

         /* 
          * If the ACK bit is off we drop the segment and return.
          */
         if ((tiflags & TH_ACK) == 0)
                 goto drop;


On Fri Apr 9 22:05:19 1999 UTC, NetBSD tcp_input.c version 1.78
fixed the problem I've reported.  Here's the CVS log entry:

     Ensure that out of window SYNs receive an ACK in responce,
     rather than being dropped.  This fixes a bug reported by
     Jason Thorpe.

[And I thought I may have managed to be the first person to
find this particular bug in the BSD TCP code.  There goes my
claim to fame...]
     
So, after that fix, the NetBSD code looks like this:

	/*
	 * If the ACK bit is off we drop the segment and return.
	 */
	if ((tiflags & TH_ACK) == 0) {
		if (tp->t_flags & TF_ACKNOW)
			goto dropafterack;
		else
			goto drop;


The same fix was never made to the FreeBSD stack.

> So, well, err. I think you should take this up with the
> FreeBSD people. Find out if they think this is a bug or a
> security feature.

I guess I'll start out by submitting a normal problem report.

-- 
Grant Edwards                   grante             Yow!
                                  at               TAILFINS!!... click...
                               visi.com            


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]