Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jan 2000 22:32:15 -0800
From:      gdonl@tsc.tdk.com (Don Lewis)
To:        Brett Glass <brett@lariat.org>, gdonl@tsc.tdk.com (Don Lewis), Matthew Dillon <dillon@apollo.backplane.com>, Giorgos Keramidas <charon@hades.hell.gr>
Cc:        Warner Losh <imp@village.org>, Darren Reed <avalon@coombs.anu.edu.au>, security@FreeBSD.ORG
Subject:   Re: stream.c worst-case kernel paths
Message-ID:  <200001220632.WAA15894@salsa.gv.tsc.tdk.com>
In-Reply-To: Brett Glass <brett@lariat.org> "Re: stream.c worst-case kernel paths" (Jan 21, 11:09pm)

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 21, 11:09pm, Brett Glass wrote:
} Subject: Re: stream.c worst-case kernel paths
} At 10:51 PM 1/21/2000 , Don Lewis wrote:
} 
} >+       if ((thflags & (TH_ACK|TH_SYN)) == TH_SYN)
} >+               wildcard = 1;
} 
} Looks good! But wouldn't it be better to do:
} 
}         if ((thflags & (TH_RST|TH_ACK|TH_SYN)) == TH_SYN)
}                 wildcard = 1;
} 
} to make sure it's really a legitimate SYN?

That's a fairly minor optimization because the code that handles
listening sockets does a check for TH_RST right off the bat, but
since this particular optimization has zero cost ...

Actually, I think TH_SYN+TH_RST should immediately go to "drop",
do not pass GO, do not collect $200 ...

} And what
} about SYN-FIN packets? (If we want to avoid looking
} for a listener on those, we need to "or" TH_FIN into the
} inntermost constant expression too.)

They need to look for listening sockets in the T/TCP case.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001220632.WAA15894>