Poul-Henning Kamp writes:
> Mind you, this is only a problem because FreeBSD is to bloddy
> stable:  I logged into a customers server a few days a go, it had
> been up for over a year, and had accumulated tons of ftpds from

If this customer is using wu-ftpd, it's very possible that you saw
daemons blocked inside of accept() for PASV data connections.  We used
to see the same behavior here wrt. ftpds hanging around and it was
almost always the case that the socket was in the LISTEN state.

The code (ftpd.c:dataconn()) was changed to time out the data
connection establishment using select() before calling accept().  If
the client doesn't connect within 15 minutes, we log the event and the
daemon exits.  A diff against our code wouldn't be helpful, since
we've added our own ugly warts to it (but I'll do so if you want it).

If this is indeed the same problem you're seeing, tcp keepalives won't
help.  I haven't looked at the FreeBSD ftpd code to see if the accept
is timed out somehow to prevent this (possibly inadvertent) DOS attack.

-- 
Sudish Joseph                                          MindSpring Enterprises


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to