SunOS 4.0 inhibits use of local, privileged ports

Vic Abell abe at mace.cc.purdue.edu
Thu Jan 12 18:27:13 AEST 1989


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.



More information about the Comp.sys.sun mailing list