Subject: kern/8604: ipf prematurely expires connections
To: None <gnats-bugs@gnats.netbsd.org>
From: Charles M. Hannum <root@ihack.net>
List: netbsd-bugs
Date: 10/10/1999 17:18:41
>Number: 8604
>Category: kern
>Synopsis: ipf prematurely expires connections
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Oct 10 17:18:00 1999
>Last-Modified:
>Originator: Charles M. Hannum
>Organization:
The NetBSD Mission
>Release: -current
>Environment:
n/a
>Description:
When ipf adds new state for a TCP connection, it initializes
the state to TCPS_CLOSED. This is not changed when an
ACK-only packet is received; thus, when an ipf `keep state'
rule is activated while a connection is already active, the
connection is expired prematurely.
>How-To-Repeat:
With no ipf rules, establish an outgoing connection. Then add
a rule like:
pass out quick on ppp0 proto tcp/udp all keep state
Now make the connection non-idle somehow. With `ipfstat -s',
note that the state is initialized to `ttl 60 state 0/0'.
>Fix:
Should be a trivial change to the state machine in
fr_tcp_age().
>Audit-Trail:
>Unformatted: