Subject: wu-ftpd on Solaris 2.4

From: [email-masked] (Mukesh Kacker)
Date: Thu, 26 Jan 1995 13:51:26 -0800

Hello,
I am a recent addition to this list. I can give some information probably
about the problem some people are reporting on Solaris 2.4 (this may not apply
to stock SVR4 problem reports).

> > 
> > The only case so far I heared of port 20 being blocked was a SUN running
> > OPENWIN (Openwin3.3 on Solaris2.x) and you have to shut down OPENWIN to
> > allow the ftp-server function to bind to port 20.
> 
....
> Well I'm having the same problem with Solaris 2.4 NOT running openwin, and
> there is nothing I can find holding port 20. Regular users are fine, it is
> only anonymous that has this problem. My message is:
> 
> 425 Can't create data socket (0.0.0.0,20): No such file or directory.
> 

There is one know bug in Solaris 2.4 that affects ftpd (both stock and
wu-ftpd) operation. There is patch released for it for Solaris  2.3 but
not yet for Solaris 2.4.

The bugid is 1164519 if anyone wants to track it.
It happens in a rare transient conditions but the effect is very bad
on ftpd operation.

The symptom is that ftp clients will not be able to establish a new data
connection (the existing connections will work fine).
and the "Can't create data socket..." error is displayed.

[ the symptom above that regular users are able to use but not anonymous
is not covered by this bug ]

We are currently in the process of developing the 2.4 patch for it
and I will announce it on this list when that is available. Too bad
that this bug is there but at this point the best we can do is to
make a patch available soon and inform you about it.

The bug causes a TCP endpoint ends up in a bound state when it
should not be. ftpd is the only application affected because it is
one of the few applications where client end of a connection has
requirement of being bound to a specific port number.

The workaround is that the ftpd process that owns that TCP
endpoint has to be killed. For busy sites there is no easy way to
identify the process(es) that have a particular TCP socket endpoint open
so killing all ftpd processes is workaround
[ Rebooting accomplishes the same goal ].. Alternatively, looking
at "ps -elf | grep ftpd" output and looking for a process running
for unusually long time might be another hearistic that can be
used to try to kill the right process.

We will soon release the patch to end this problem for good and would
appreciate your patience until then.

-Mukesh Kacker
 Sun MicroSystems (SunSoft).
 [email-masked]