Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jun-ichiro itojun Hagino <itojun@netbsd.org>
List: source-changes
Date: 08/25/1999 08:23:15
Module Name:	syssrc
Committed By:	itojun
Date:		Wed Aug 25 15:23:14 UTC 1999

Modified Files:
	syssrc/sys/netinet: tcp_input.c tcp_subr.c tcp_var.h

Log Message:
When listening socket goes away, remove assockated syn cache entires.
Stale syn cache entries are useless because none of them will be used
if there is no listening socket, as tcp_input looks up listening socket by
in_pcblookup*() before looking into syn cache.

This fixes race condition due to dangling socket pointer from syn cache
entries to listening socket (this was introduced when ipsec is merged in).

This should preserve currently implemented behavior (but not 4.4BSD
behavior prior to syn cache).

Tested in KAME repository before commit, but we'd better run some
regression tests.


To generate a diff of this commit:
cvs rdiff -r1.92 -r1.93 syssrc/sys/netinet/tcp_input.c
cvs rdiff -r1.77 -r1.78 syssrc/sys/netinet/tcp_subr.c
cvs rdiff -r1.66 -r1.67 syssrc/sys/netinet/tcp_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.