[comp.sys.sun] SunOS 4.0 inhibits use of local, privileged ports

abe@mace.cc.purdue.edu (Vic Abell) (01/12/89)

Because of the way that SunOS 4.0's bindresvport() function of libc
allocates privileged ports, a local service from inetd.conf using ports in
the 600-1023 range can sometimes be prevented from running because some
other server (e. g., the lock manager) has reserved its well known port.
Since the allocation of privileged ports in the 512-1023 range pre-dates
SunOS, it is not practical to reassign them.

One simple solution is to make sure that inetd completes its
initialization before any Sun servers are started.  This means starting
inetd first in /etc/rc.local and making a slight mod to inetd to delay its
background fork until it has completed its initialization.

A better and more complex solution is to modify bindresvport.c to make it
avoid assigning ports that have service names.