diff options
author | pst <pst@FreeBSD.org> | 1996-10-11 19:26:42 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1996-10-11 19:26:42 +0000 |
commit | 430faa57f96285ccf81cdc8bf084551e42ae6f97 (patch) | |
tree | bc13083c076e119068a2146a4c0b9076434b4b4f /sys/netinet/tcp_input.c | |
parent | 19def30c85c8d02fd975bca63292490d0e3029da (diff) | |
download | FreeBSD-src-430faa57f96285ccf81cdc8bf084551e42ae6f97.zip FreeBSD-src-430faa57f96285ccf81cdc8bf084551e42ae6f97.tar.gz |
Fix two bugs I accidently put into the syn code at the last minute
(yes I had tested the hell out of this).
I've also temporarily disabled the code so that it behaves as it previously
did (tail drop's the syns) pending discussion with fenner about some socket
state flags that I don't fully understand.
Submitted by: fenner
Diffstat (limited to 'sys/netinet/tcp_input.c')
-rw-r--r-- | sys/netinet/tcp_input.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 3b0bde8..657fef8 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $Id: tcp_input.c,v 1.52 1996/10/07 04:32:39 pst Exp $ + * $Id: tcp_input.c,v 1.53 1996/10/07 19:06:10 davidg Exp $ */ #ifndef TUBA_INCLUDE @@ -415,11 +415,15 @@ findpcb: so2 = sonewconn(so, 0); if (so2 == 0) { tcpstat.tcps_listendrop++; +#ifdef TCPSYNRED so2 = sodropablereq(so); - if (so2) - tcp_drop(sototcpcb(so2), ETIMEDOUT); - else - goto drop; + if (so2) { + tcp_drop(sototcpcb(so2), ETIMEDOUT); + so2 = sonewconn(so, 0); + } + if (!so2) +#endif + goto drop; } so = so2; /* |