Patch-ID# 103613-23
Keywords: security libc memory su getdate NIS+ libnsl nis_cachemgr rpc.nisd NIS+
Synopsis: SunOS 5.5.1_x86: libc, libnsl, nis_cachemgr and rpc.nisd patch
Date: Apr/21/97

Solaris Release: 2.5.1_x86

SunOS Release: 5.5.1_x86

Unbundled Product:

Unbundled Release:

Xref: This patch available for SPARC as patch 103612
Xref: This patch available for PPC as patch 103614

Topic: SunOS 5.5.1_x86: libc, libnsl, nis_cachemgr and rpc.nisd patch

BugId's fixed with this patch: 1212974 1213016 1219671 1221809 1223323 1223326 1230570 1232758 1234630 1235867 1242395 1244872 1244917 1245451 1246630 1246864 1247052 1248090 1249373 1249903 1255623 1258916 1259200 1262666 1264708 1265785 4005483 4006674 4016724 4018883 4018887 4025665 4029971

Changes incorporated in this version: 4025665

Relevant Architectures: i386

Patches accumulated and obsoleted by this patch: 103616-04 103655-01

Patches which conflict with this patch: iss_x86-01 (or higher revs)

Patches required with this patch:

Obsoleted by:

Files included with this patch:

/usr/lib/libc.a
/usr/lib/libc.so.1
/usr/lib/libp/libc.a
/usr/lib/libnsl.a
/usr/lib/libnsl.so.1
/usr/lib/pics/libc_pic.a
/usr/sbin/nis_cachemgr
/usr/sbin/rpc.nisd
/usr/sbin/static/rcp

Problem Description:

4025665 nisping -Ca broken by fix to bugid#4005483

	This patch is generated to workaround bug 4010430 -- installpatch
	should ignore a required patch when not applicable to a target
	system.  The workaround is to include an empty root sparse patch
	package.  This will allow patch dependency requirement to be
	met in a server/client configuration.

(from 103613-22)

4029971 getopt security problem

	The fix for 4029971 requires the static version of rcp to be
        included in the patch.

(from 103613-21)

4029971 getopt security problem

(from 103613-20)

4018883 getgrnam_r() & getpwnam_r() can overrun buffers.
4018887 gethostbyname_r() can overrun buffer.
1223323 No bounds checking on NIS_GROUP environment variable

(from 103613-19)

1247052 nis_dumplog_r translates all failures into NIS_RPCERROR

	nis_dumplog_r() frequently fails because it attempts to reuse a 
	connection that had been closed on the server side, but couldn't
	handle the resulting error.  Consequently, the dumplog request
	gets aborted and the NIS+ replica would remain out of sync with
	the master until the next update for the NIS+ directory in question.

(from 103613-18)

1212974 Bogus bootparam packet makes rpcbind stop working

(from 103613-17)

4016724 nis_cptime failure in nisd causes unreliable update propagation

(from 103613-16)

4005483 replica doing full resync too frequently

(from 103613-15)

4006674 rpc.nisd crash because of simple user program

	The rpc.nisd can free the same memory twice during modify or add
	operations.  Since part of the cleanup work is to zero out pointers,
	the second free can stomp on memory that's been re-used, or an
	administrative information used by the malloc library.  The latter
	scenario leads to a core dump.

1249373 Application file descriptors are being closed without applications knowledge
1232758 finddirectory call fails when there are too many replicas
1223326 possible memory leak in "rpc.nisd"

	rpc.nisd can leak memory if a nis_list with search criteria is
	done with callbacks.  The leak will be equal to 8*(number of matched
	entries) bytes.  The reason for the leak is that memory is being
	freed in the child process but not in the parent rpc.nisd.

(from 103613-14)

1230570 nisplus strips leading spaces before doing lookup.

(from 103613-13)

1259200 no more syslog from rpc.nisd after the fix for 1244917 was integrated

	The fix for bug 1244917 prevents syslog from working.  This fix
	is to call closelog() so that forking and subsequent closing of 
	all field descriptors does not prevent syslog from working.

(from 103613-12)

1248090 getwd very slow over nfs to 4.1.3 server

The fix for bug 1220400 ("lofs becomes confused about where the present 
working directory "." is") introduced a new problem -- where getcwd() 
would erroneously believe that it was passing a mount point, and start 
lstat()ing every directory in the current directory.  With lots of 
subdirectories, and especially over NFS, these unnecessary lstat() calls 
could result in very noticeable delays (on the order of minutes with ten+ 
thousand subdirectories, and/or a slow network).

(from 103613-11)

1249903 rpc.nisd hung in nis_list_svc on getmsg in _rcv_conn_con

(from 103613-10)

1221809 absence of user public key caching makes NIS+ inter-domain lookups unreliable

(from 103613-09)

1245451 syslogd failing to log messages every 12-48 hours of operation

(from 103613-08)

1264708 get segmt fault on malloc with getcwd, chdir and opendir over PATH_MAX

(from 103613-07)

1265785 fwrite regression from 2.4 to 2.5, 2.5.1

(from 103613-06)

1262666 nscd client backend, getxby_door, has buffer overflows

(from 103613-05)

1244917 syslog(3) does not correctly cache the file descriptor that it writes on

(from 103613-04)

1255623 getdate() fails on 1st of month with julian date

(from 103613-03)

1246864 Multithreaded C++ program using strptime() causes bus error when 'new' used.

(from 103613-02)

1219671 Memory is given free which was never allocated before.

(from 103613-01)

1235867 line buffered stdio loses data and/or hangs in 2.5

(from 103616-04)

1258916 nis_cachemgr causing other many processes to hang in semop

(from 103616-03)

1213016 User looses access to secondary groups if nisplus root master is not up

(from 103616-02)

1234630 Client side RPC handle caching and server side fd leaks needs a general solution

(from 103616-01)

1244872 nis_cachemgr can deadlock when servers are unavailable
1242395 NIS+ TTLs for objects not correct on 2.4 slave replicas and 2.3 slave/clients.

(from 103655-01)

1246630 nisd can potentially hang if it gets a SIGCHLD/SIGHUP on an established callback

Patch Installation Instructions:
--------------------------------
Refer to the Install.info file within the patch for instructions on
using the generic 'installpatch' and 'backoutpatch' scripts provided
with each patch. Any other special or non-generic installation
instructions should be described below.

Special Install Instructions:
-----------------------------

Reboot the system after patch installation.
