diff options
| author | kml <kml@NetBSD.org> | 1999-04-09 22:01:07 +0000 |
|---|---|---|
| committer | kml <kml@NetBSD.org> | 1999-04-09 22:01:07 +0000 |
| commit | a7f8ef5e9bd7e4ac6a5d87bdb7c8df93fd5aa4b2 (patch) | |
| tree | 7135daccc4b40095a078c213363519b48a5a0da1 /sys/netinet | |
| parent | 0a400329134ea2cfc053685fc574ed3cde8b8648 (diff) | |
Ensure that out of window SYNs receive an ACK in responce, rather than
being dropped. This fixes a bug reported by Jason Thorpe.
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/tcp_input.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 58986d703a7..63b0f01fd8e 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -1,4 +1,4 @@ -/* $NetBSD: tcp_input.c,v 1.77 1999/02/05 22:37:24 matt Exp $ */ +/* $NetBSD: tcp_input.c,v 1.78 1999/04/09 22:01:07 kml Exp $ */ /*- * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. @@ -1104,8 +1104,12 @@ after_listen: /* * If the ACK bit is off we drop the segment and return. */ - if ((tiflags & TH_ACK) == 0) - goto drop; + if ((tiflags & TH_ACK) == 0) { + if (tp->t_flags & TF_ACKNOW) + goto dropafterack; + else + goto drop; + } /* * Ack processing. |
