Problems with SunOS -> Linux 1.99.8 TCP

Ross Alexander (r.alexander@auckland.ac.nz)
Thu, 30 May 1996 09:06:18 +1200 (NZT)


Please excuse the quoting, I'm resending this message.

> Last week my department changed from CAP on SunOS to Netatalk on Linux
> (1.99.7) for printer. In general all has gone well. The problem
> relates to lpr/lpd on the our Suns (running SunOS 4.1.4).
>
> If I send a file from SunOS (or Solaris 2.5) using lpd the result is
> the following
>
> > Active Internet connections (w/o servers)
> > Proto Recv-Q Send-Q Local Address Foreign Address State
> > tcp 0 1 stat8.stat.auckl:printer stat4.stat.auckland:1023 CLOSE
> > tcp 0 0 stat8.stat.aucklan:login stimpy.math.aucklan:1017 ESTABLISHED
>
>
> That is, the socket is left in the CLOSE state.
>
> If I do it from Linux 1.99.8, the result is the following
>
> > Active Internet connections (w/o servers)
> > Proto Recv-Q Send-Q Local Address Foreign Address State
> > tcp 0 0 stat8.stat.auckl:printer stimpy.math.aucklan:1021 CLOSE_WAIT
> > tcp 0 0 stat8.stat.aucklan:login stimpy.math.aucklan:1017 ESTABLISHED
>
>
> That is, the socket is left in the CLOSE_WAIT state.
>
>
> With lpd, because it does not accept connections from non priviledged
> ports, it (and lpq, lprm) start at 1023 and count down, trying to bind
> to a port. It finds a port is has recently bound to, say 1023, and
> then tries to connect to the lpd server. Now, because Linux is in the
> CLOSE state with the identical port number (SunOS having believed it
> had finished with it and hence able to reuse it) refuses this new
> connection.
>
> The practical upshot of this is if you print from SunOS using lpr,
> then normally lpq and lprm don't work, since the try to connect, get a
> connection refused and time out after a while. This is a problem, but
> not fatal (but it would be nice if it would go away).
>
>
> I've noticed (after checking) that telnet leaves the socket in a
> TIME_WAIT state.
>
> Thanks for any help.
>
>
>
> Ross
>
>
>
> --A41C67F70.833362625=_/vger.rutgers.edu--
>