Patch Name: PHNE_10893 Patch Description: s700_800 10.0X-10 NFS/NIS Runtime cumulative patch Creation Date: 97/04/10 Post Date: 97/09/10 Hardware Platforms - OS Releases: s700: 10.00 10.01 10.10 s800: 10.00 10.01 10.10 Products: N/A Filesets: NFS.NFS-CORE NFS.NFS-SERVER NFS.NFS-CLIENT NFS.NIS-CLIENT NFS.NIS-SERVER NFS.NFS-ENG-A-MAN Automatic Reboot?: Yes Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHNE_10893 Symptoms: PHNE_10893: 1. Automount automount does not correctly support the "nodevs" mount option. 1653218305/INDaa27653 2. rpc.lockd Enhancement to rpc.lockd to fix problem of forwarding unlocks to kernel contained a bug that caused rpc.lockd to send incorrect unlock range to the kernel. Applications failed with unexpected results due to this problem. INDaa26432/INDaa26633 3. rpc.mountd Rpc.mountd does not handle requests from an IBM machine. 1653207654 4. pcnfsd Man page for PCNFSD not correct. The man page doe s not list the entry for /etc/shells. 5003332296/INDaa26031 PHNE_10514: 1. Rpc.lockd rpc.lockd forwards unlock to kernel when no match exists in queue. Cause was Unlock range passed into kernel by rpc.lockd via nfs_fcntl() call was incorrect. Read Locks are now examined for overlapping regions and non-overlapping regions are deleted selectively in the kernel. When a unlock rqst with range offset=0 and len=0 from a client is received at LOCKD ,LOCKD will now examine if the client had any NFS locks on the file and selectively delete kernel locks held by that client. 5003355784/INDaa26432 Ksh hangs when $HOME is nfs mounted and HISTFILE is under $HOME. This defect is discussed in an earlier patch,but an additional problem due to too frequent retransmits has been fixed. This caused rpc.lockd to invalidate cache entries more often than required. A timestamp has been added to struct reclock which keeps track of the time the request got queued up in the retransmit queue. This timestamp is used in nlm_call() to prevent retransmits of that request from occurring more frequently than 10 secs. INDaa25087 2. Rpc.yppasswdd allows users to change passswd fields even though the options which disallow this are upsupported in HP-UX. PHNE_9464: exports.4: 1. Exportfs does not parse comments in the exports file correctly. secure_rpc.3c: 1. Get_myaddress man page incorrect as to the action of this call. rpc.pcnfsd: 1. Rpc.pcnfsd doesn't work with changes to wlogin(). rpc.lockd: 1. Multiple logmsg problem. rpc.rexd: 1. Rpc.rexd on 10.01 does not work with 10.10. PHNE_8114: ypwhich: 1. ypwhich fails connection on X.25 interface. INDaa24591,SR# 5003323980 rpc.pcnfsd: 1. Enhanced pcnfsd logging in wtmp file to include ip and system name of caller INDaa22350 makedbm: 1. Previous patch makedbm refuses to run on some S800's. rpc.quotad: 1. Previous patch left out rpc.rquotad fixes. rpc.mountd: 1. rpc.mountd ran from unprivleged ports. INDaa23107,SR#1653155622 rpc.yppasswdd: 1. rpc.yppasswdd gives errors when trying to write passwd maps when file is on different partition. INDaa25035, SR#1653183277 PHNE_7073: portmap: 1. It is possible to break any machines that support a large number of open file descriptors with the old portmap program. rpc.pcnfsd: 1. rpc.pcnfsd incorrectly sets spool dir permissions. rpc.lockd: 1. rpc.lockd does not handle lock at 2Gb-1 with length of 0. Also creates large logfiles when rpc.statd is unavailable. Kernal patches are required for this fix. (See depend- ancy list below.) rpc.statd: 1. Possible mem leak problem. rpc.mountd: 1. mount daemon runs from non-priveleged ports. rpc.rexd: 1. rexd daemon fails to rename mnttab if /tmp is on a seperate partition. rpc.yppasswdd: 1. ypmake fails to run after master map is updated. PHNE_6444: Automount: 1. Automount cannot correlate entries in log file to entries in syslog.log because of missing timestamps. rpc.mountd: 1. Rpc.mountd has to be stopped and restarted when logging is desired. rpc.lockd: 1. rpc.lockd doesn't dump lock queue when issued SIGUSR2. rpc.statd: 1. Want to toggle logging by signaling through SIGUSR2. ypxfr: 1. Ypxfr complains when it can't find ypxfrd on NIS server. exportfs 1. Hostname containing the string "rw" is erroneously flagged as a mutually exclusive error when the host is also tagged as -ro. makedbm: 1. Makedbm makes maps which are full of duplicate entries. ypset: 1. Ypset returns wrong loopback address. portmap: 1. Portmap needs to have the keep_quiet enhancement. rpc.pcnfsd: 1. Rpc.pcnfsd doesn't support user authentication on Trusted Systems. PHNE_6121: Automount: 1. Automount tries to open NIS map as local map and prints error message. 2. Automount unable to mount filesystems from different NIS domain. rpc.lockd: 1. Access to data files receive file locking errors. Rpc.lockd memory leak. rpc.statd: 1. rpc.statd dies. ypserv: 1. NIS returns wrong nextkey when concurrent access is allowed to maps. rpc.mountd: 1. Rpc.mountd exits without warning . Defect Description: PHNE_10893: 1. Enhancement to rpc.lockd to fix problem of forwarding unlocks to kernel contained a bug that caused rpc.lockd to send incorrect unlock range to the kernel. Applications failed with unexpected results due to this problem. 2. Rpc.mountd does not handle requests from an IBM machine. 3. The man page for pcnfsd does not list the entry for /etc/shells 4. Automount does not correctly support the "nodevs" mount option. PHNE_10514: 1. Rpc.lockd forwards unlock to kernel when no match exists in queue 2. Rpc.yppasswdd allows users to change fields due to unsupported options in the code. PHNE_9464: 1. Get_myaddress man page wrong 2. Exports man page change 3. Rpc.lockd hangs, causes multiple messages to be logged. 4. Rpc.pcnfsd has a problem with wlogin() if the server fails contact 5. rpc.rexd would not run on 10.01 after installing patch PHNE_7073 or PHNE_8114 PHNE_8114: 1. Get_myaddress routine in ypwhich fails if X.25 is the only interface configured. 2. Enhancement request to log authentication info to wtmp file. 3. Makedbm wouldn't run on certain S800's due to compilation error. 4. rpc.rquotad was inadvertantly left out of last patch. 5. rpc.mountd default was to run from non-priveledged ports. 6. rpc.yppasswdd daemon would return errors if temp file was on seperate partition from root rile. PHNE_7073: 1. Portmapp had limit on number of file descriptors it would handle. 2. Rpc.pcnfsd did not set spool/users directory per- missions correctly. 3. rpc.lockd does not handle lock at 2Gb-1 with length of 0. 4. rpc.lockd creates large logfiles when rpc.statd is unavailable. 5. Possible mem leak problem in rpc.statd. 6. Rpc.mountd runs from non-priveleged ports. 7. Rpc.rexd has problem renaming if /tmp is on a seperate file system. 8. Rpc.yppasswdd can return incorrect error status on rename. PHNE_6444: 1. Automount is enhanced to provide timestamps in logfile. 2. Rpc.mountd daemon has to be stopped and restarted when problems arise where logging is needed. 3. rpc.lockd does not dump lock queue to log when issued a SIGUSR2 signal but logs everything else. 4. rpc.statd Added the function to enable rpc.statd to turn on the logging at run time when rpc.statd receives SIGUSR2 5. Exportfs has a bug which gives an error when the -ro option is compared to a hostname which contained the "rw" string. Exportfs interprets this as as read-write option. 6. Makedbm bug does not give an error indication when hash table overflow occurs. 7. ypset returns wrong loopback address if no ethernet card is installed. 8. portmap has the keep_quiet option brought forward. 9. Rpc.pcnfsd doesn't support user authentication on Trusted Systems. PHNE_6121: 1. Automount when resolving the mapnames, if the map is not found logs an error message in the syslog file. Then it tries NIS for the matching map. It can be annoying if it logs a message that the local map is not found. 2. Automount before sending the request to mount the file- system checks the netgroups file to see if the client has permission to mount it. If the client and server are in different domain then they might have different netgroups file. If the client netgroup file does not have an entry for the local host, the automount will not send a request to the server to mount the filesystem even though the server might allow access to it. This is incorrect behavior. 4. Trying lock an NFS file if it is a blocked lock the client may be blocked forever when server logging show it is already granted. This can cause any processes attempt to lock this file be blocked. Rpc.lockd has memory leak problem that causes the object to grow. 5. Client reboot can cause server rpc.statd to exit. 6. When concurrent processes access the same open map in NIS the wrong data can be returned when the hash key gets changed by one of the processes. Data can even be skipped for one or more of the processes. 7. Ypxfr returns a warning error which is really an information only message. 8. Rpc.mountd daemon can remove itself from the system when it encounters a timeout from various interface cards other than lan and ethernet which are not configured properly. SR: 1653218305 1653207654 5003332296 5003323980 1653155622 1653153593 5003306993 1653146357 4701314765 5003283846 5003273565 5003282038 5003291245 5003291245 1653154476 5003299255 5003293001 5003290833 5003301564 4701314765 1653159087 1653183277 5003335984 5003349878 5003355784 Patch Files: /usr/sbin/automount /usr/sbin/rpc.mountd /usr/sbin/rpc.lockd /usr/sbin/rpc.statd /usr/sbin/rpc.rexd /usr/sbin/rpc.rquotad /usr/sbin/exportfs /usr/sbin/portmap /usr/lib/netsvc/yp/ypserv /usr/lib/netsvc/yp/rpc.yppasswdd /usr/sbin/ypxfr /usr/sbin/ypset /usr/sbin/makedbm /usr/sbin/rpc.pcnfsd /usr/bin/ypwhich /usr/share/man/man1m.Z/mountd.1m /usr/share/man/man1m.Z/pcnfsd.1m /usr/share/man/man4.Z/exports.4 /usr/share/man/man3.Z/secure_rpc.3c what(1) Output: /usr/sbin/automount: automount: PHNE_10893 $Revision: 1.9.111.7 $ $Dat e: 95/11/03 14:59:26 $ /usr/share/man/man1m.Z/pcnfsd.1m: None /usr/share/man/man1m.Z/mountd.1m: None /usr/share/man/man4.Z/exports.4: None /usr/share/man/man3.Z/secure_rpc.3c: None /usr/sbin/rpc.mountd: rpc.mountd: PHNE_10893 $Revision: 1.79.111.5 $ $Dat e: 97/07/01 11:30:10 $ issubdir.c 1.2 90/07/23 4.1NFSSRC Copyr 1990 Su n Micro /usr/sbin/rpc.lockd: rpc.lockd: $Revision: 1.37.112.15 $ $Dat e: 97/08/18 00:30:04 $ PHNE_10893 prot_pnlm.c 1.rb5 86/09/24 Copyr 1986 Sun Micro prot_msg.c 1.3.rb 86/09/24 Copyr 1984 Sun Micro PATCH_10.X rpc.lockd: $Revision: 1.19.112.7 $ $Date: 97/04/14 11:23:25 $ PHNE_6121 prot_proc.c 1.9.rb 86/09/24 Copyr 1986 Sun Micro prot_freeall.c 1.1 88/08/05 NFSSRC4.0 1.3 88/02/07 Copyr 1984 Sun Micro prot_share.c 1.1 88/08/05 NFSSRC4.0 1.4 88/08/04 Copyr 1984 Sun Micro RB2 /usr/sbin/rpc.statd: PATCH_10.X rpc.statd: $Revision: 1.19.112.5 $ $Date: 96/05/14 16:52:46 $ PHNE_7073 sm_proc.c : $Revision: 1.10.112.8 $ $Date: 96/02/21 20:05:21 $ PHNE_6444 sm_statd.c: $Revision: 1.20.112.4 $ $Date: 96/02/07 20:08:28 $ PHNE_6444 /usr/sbin/rpc.rexd: rexd.c PHNE_9464 1.5 92/04/20 4.1NFSSRC Copyr 1990 Sun Micro publickey.c 1.3 90/07/19 4.1NFSSRC Copyr 1990 Su n Micro $ /usr/sbin/rpc.rquotad: PHNE_7073 10.X $Revision: 1.9.112.2 $ /usr/lib/netsvc/yp/ypserv: patch PHNE_6444 ypserv.c 1.4 92/06/05 4.1NFSS RC Copyr 1990 Sun Micro ypserv_ancil.c 1.4 90/07/23 4.1NFSSRC Copyr 1990 Su n Micro ypserv_map.c 1.3 92/06/05 4.1NFSSRC Copyr 1990 Su n Micro ypserv_proc.c 1.3 90/07/23 4.1NFSSRC Copyr 1990 Su n Micro yp_cache.c: $Revision: 1.3.111.1 $ $Date: 94/11 /04 11:36:24 $ patch PHNE_6444 ypserv_dbmtrak.c 1.1 90/07/24 4.1NFS SRC Copyr 1990 SMI ypserv_net_secure.c 1.2 92/06/05 4.1NFSSRC Copyr 1990 Sun Micro ngethostbyname.c 1.2 92/04/08 4.1NFSSRC $ /usr/sbin/ypxfr: ypxfr: PHNE_6121 $Revision: 1.46.111.1 $ $Dat e: 94/11/04 11:35:31 $ /usr/sbin/ypset: patch PHNE_6444 ypset: $Revision: 1.30.112.2 $ $Dat e: 96/01/09 16:10:27 $ /usr/sbin/exportfs: patch PHNE_6444 exportfs.c: $Revision: 1.3.112.3 $ $Date: 96/01/16 12:38:08 $ issubdir.c 1.2 90/07/23 4.1NFSSRC Copyr 1990 Su n Micro $ /usr/sbin/portmap: patch PHNE_7073 portmap: $Revision: 1.37.112. 4 $ $Date: 96/01/09 16:19:43 $ /usr/lib/netsvc/yp/rpc.yppasswdd: PHNE_10514 rpc.yppasswdd: $Revision: 1.50.111. 1 $ $Date: 94/11/04 11:31:18 $ /usr/sbin/makedbm: makedbm: $Revision: 1.33.109M.3 $ $Dat e: 94/02/07 10:28:18 $ /usr/sbin/rpc.pcnfsd: rpc.pcnfsd: $Revision: 1.2.112.6 $ $Date: 97/01 /06 14:54:12 $ PHNE_9464 pcnfsd_v2.c 1.6 - rpc.pcnfsd V2.0 (c) 1991 Sun T echnology Enterprises, Inc. /usr/bin/ypwhich: PHNE_8114 10.0-10.10 ypwhich: $Revision: 1.37.112. 1 $ $Date: 95/03/01 11:20:40 $ cksum(1) Output: 1110207065 86016 /usr/sbin/automount 2176641483 36864 /usr/sbin/rpc.mountd 3430928307 106496 /usr/sbin/rpc.lockd 3906179429 45056 /usr/sbin/rpc.statd 2737315607 20480 /usr/sbin/rpc.rquotad 1222790145 73728 /usr/sbin/rpc.rexd 500261357 20480 /usr/sbin/exportfs 2386822309 24576 /usr/sbin/portmap 1265917306 81920 /usr/lib/netsvc/yp/ypserv 2914821402 20480 /usr/bin/ypwhich 2155590091 233472 /usr/lib/netsvc/yp/rpc.yppasswdd 3026603961 57344 /usr/sbin/ypxfr 2081604636 16384 /usr/sbin/ypset 2752288367 36974 /usr/sbin/makedbm 2603723287 53248 /usr/sbin/rpc.pcnfsd 475614411 2195 /usr/share/man/man1m.Z/mountd.1m 2288025224 7371 /usr/share/man/man1m.Z/pcnfsd.1m 1187020384 3268 /usr/share/man/man4.Z/exports.4 257139511 5514 /usr/share/man/man3.Z/secure_rpc.3c Patch Conflicts: None Patch Dependencies: s700: 10.01: PHKL_7059 s700: 10.10: PHKL_8292 s800: 10.01: PHKL_7060 s800: 10.10: PHKL_8293 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_6121 PHNE_6444 PHNE_7073 PHNE_8114 PHNE_9464 PHNE_10514 Equivalent Patches: None Patch Package Size: 980 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_10893 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_10893.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_10893.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_10893. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_10893.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_10893.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None