Patch-ID# 100949-05 Keywords: getservbyname libsocket errno ENOMEM EWOULDBLOCK send rexec netrc Synopsis: Solaris 2.1: fixes to libsocket Date: Feb/23/95 Solaris Release: 2.1 SunOS release: 5.1 Unbundled Product: Unbundled Release: Topic: Solaris 2.1: fixes to libsocket BugId's fixed with this patch: 1121188 1124510 1095764 1122704 1127186 Changes incorporated in this version: 1122704 1127186 Relevant Architectures: sparc Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /usr/lib/libsocket.a /usr/lib/libsocket.so.1 Problem Description: 1122704: socket library accept() may leak file descriptors 1127186: accept() can leak incoming connections - server stop accepting connections Ftp/rlogin/telnet or some other service provided by inetd might stop working (e.g. by allowing no more rlogin's.) If these messages show up in /var/adm/messages you are seeing this bug: inetd[120]: accept: Protocol error inetd[120]: accept: Too many open files (from 100949-04) This patch is being reissued to remove a symbolic link in the SUNWcsu patch package (from 100949-03) rexec does not look for information in the .netrc file. (From 100949-02) If the a socket file descriptor is set up for non-blocking I/O then the send() call will return with errno being ENONMEM instead of the correct EWOULDBLOCK. (From 100949-01) This patch fixes the problem: getservbyname(3) cannot find the service name in /etc/services file if the 2nd parameter is NULL or empty string "". Patch Installation Instructions: -------------------------------- Generic 'installpatch' and 'backoutpatch' scripts are provided within each patch package with instructions appended to this section. Other specific or unique installation instructions may also be necessary and should be described below. Special Install Instructions: ----------------------------- None.