Patch Name: PHCO_30243 Patch Description: s700_800 11.11 pwgrd(1M) cumulative patch Creation Date: 04/03/18 Post Date: 04/05/03 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair general_release Path Name: /hp-ux_patches/s700_800/11.X/PHCO_30243 Symptoms: PHCO_30243: ( SR:8606343624 CR:JAGaf04476 ) If pwgrd(1M) daemon is running, getpwnam(3C) and getpwuid(3C) return encrypted password that are truncated to 13 characters, under certain circumstances. PHCO_28007: ( SR:8606278564 CR:JAGae42622 ) pwgrd(1M) is not caching the user/group names after any Invalid Entry in /etc/passwd and /etc/group files. ( SR:8606292407 CR:JAGae56170 ) pwgrd(1M) is sometimes not processing the requests correctly when filesystem having /var/spool/pwgr directory is full. ( SR:8606282157 CR:JAGae46100 ) pwgrd(1M) is intermittently consuming CPU time and not responding to the requests. PHCO_25891: ( SR:8606227906 CR:JAGad96965 ) pwgrd(1M) is unable to store the full group name because of which "ls -l" command is showing the incomplete group name. Defect Description: PHCO_30243: ( SR:8606343624 CR:JAGaf04476 ) getpwnam(3C) and getpwuid(3C) return initial 13 characters of the encrypted password. If the pwgrd(1M) daemon is running, getpwnam(3C) and getpwuid(3C) collect the user information through the pwgrd(1M) daemon. pwgrd(1M) caches only the initial 13 characters of the encrypted password, if the user details are available from source other than /etc/passwd (eg. NIS). Resolution: pwgrd(1M) has been modified to cache the complete password string instead of truncating it. PHCO_28007: ( SR:8606278564 CR:JAGae42622 ) pwgrd(1M) is not caching the user/group information after any Invalid Entry in /etc/passwd and /etc/group files. Eg. => Suppose the /etc/passwd file has the following entries: ... nobody:*:2:2::/: www:*::1::/: -->THIS IS INVALID SINCE THERE IS NO UID. user1:*:202:60::/mnt/user1:/usr/bin/ksh ... => Login as user1 and touch a file. $ touch testfile => Check the ownership of this file. $ ll testfile << WHEN PWGRD DAEMON IS NOT RUNNING >> -rw-rw-rw- 1 user1 ssgrp 0 Dec 2 15:29 testfile The user name of the file is correctly getting displayed. << WHEN PWGRD DAEMON IS RUNNING >> -rw-rw-rw- 1 202 ssgrp 0 Dec 2 15:29 testfile Here ll(1) is not able to print the user name since pwgrd(1M) is not caching the details of user1. Resolution: The code has been modified to make sure that all the valid entries in /etc/passwd and /etc/group file are cached. ( SR:8606292407 CR:JAGae56170 ) pwgrd(1M) is sometimes not processing the request correctly when the filesystem where /var/spool/pwgr directory resides is full. pwgrd(1M) maintains the hash files in /var/spool/pwgr/ directory and when the filesystem is full, hashtable updation may fails. Since this error condition was not handled pwgrd(1M) was processing the request incorrectly. Resolution: pwgrd(1M) has been modified to shutdown the hashing if the hashtable updation fails, so that it does not uses this hashtable for processing the request. ( SR:8606282157 CR:JAGae46100 ) pwgrd(1M) intermittently consumes CPU time and is not responding to any request. This happens because the flags associated with the hashtables were not updated correctly. Resolution: The code has been modified to make sure that the flags associated with the hashtables are updated properly. PHCO_25891: ( SR:8606227906 CR:JAGad96965 ) pwgrd(1M) is unable to store the full group name, it was only storing the first 8 characters of the group name in the hash table. libc api's like getgrname() uses pwgrd hash table for faster access. Commands which uses these api's were displaying only the first 8 characters of the group name. Eg. "ls -l" displays only the first 8 characters of the group name. Steps to reproduce the defect: 1. groupadd longgrpname 2. touch file1 3. chgrp longgrpname file1 4. ls -l file1 -rw-rw-rw- 1 user1 longgrpn 0 Mar 14 12:24 file1 Resolution: pwgrd(1M) is modified to store the full group name in the pwgrd hash table. Enhancement: No SR: 8606227906 8606278564 8606282157 8606292407 8606343624 Patch Files: OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/sbin/pwgrd what(1) Output: OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/sbin/pwgrd: cache.c $Date: 2004/03/05 02:10:29 $Revision: r11.11 /5 PATCH_11.11 (PHCO_30243) hashtable.c $Date: 2003/01/27 04:43:48 $Revision: r1 1.11/5 PATCH_11.11 (PHCO_28007) main.c $Date: 2002/05/15 23:11:23 $Revision: r11.11/ 2 PATCH_11.11 (PHCO_25891) $Revision: @(#) all R11.11_BL2004_0317_2 PATCH_11.11 PHCO_30243 Thu Mar 18 01:08:42 PST 2004 $ cksum(1) Output: OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 2756830944 36864 /usr/sbin/pwgrd Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_28007 PHCO_25891 Equivalent Patches: PHCO_30244: s700: 11.23 s800: 11.23 Patch Package Size: 50 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 PHCO_30243 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_30243.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_30243. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHCO_30243.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_30243.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_30243.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None