Patch Name: PHCO_25514 Patch Description: s700_800 11.00 libnss_files cumulative patch Creation Date: 03/04/09 Post Date: 03/05/19 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No (superseded patches were critical) PHCO_23189: CORRUPTION Category Tags: defect_repair general_release critical corruption Path Name: /hp-ux_patches/s700_800/11.X/PHCO_25514 Symptoms: PHCO_25514: ( SR:8606258815 CR:JAGae23135 ) Daemon programs do not recognize changes made to the system database files. PHCO_23189: Host file aliases cause static buffer allocation overrun. JAGad40031 Memory leak when parsing netgroup. JAGad07432 PHCO_16039: Threaded applications running on systems configured to use the files name service may abort with a core dump. JAGaa13611. PHCO_14717: gethostbyname() run performance in a kernel thread environment while using /etc/hosts is low compared to a process-based run. JAGaa01281. Defect Description: PHCO_25514: ( SR:8606258815 CR:JAGae23135 ) Changes made to system database files are not reflected in daemon programs due to stdio buffering. Resolution: NSS files backend is modified so that any changes in system database files are reflected in running programs without delay. PHCO_23189: gethostbyname(3) returns garbage in hostname because of the static buffer overflow which is used to hold aliases for the hostname. Resolution Description:: gethostbyname() returns garbage in hp->h_host because it is not set to point to the first alias hp->h_aliases[0] when the function __nss_netdb_aliases() returns zero. The static buffer which is of size 2336 bytes allocated in the function __nss_XbyY_buf_alloc() is used to store all the aliases, inet addresses and pointer to all the aliases for a given hostname. Buffer containing all the aliases. (abuf - abuf_start) - total length of all the aliases args->buf.buffer - starting address of the buffer (hp->h_addr_list - args->buf.buffer) - remaining length of the buffer after filling the inet address to store the aliases and pointer to aliases. The function __nss_netdb_aliases() returns zero when the buffer is not of sufficent length. This is the error case and hence errno is set to args->erange = 1 and returning from the function gethostbyname() with out setting the hp->h_name. Now this case is changed. When __nss_netdb_aliases() function returns zero the hp->h_aliases is set to starting address of the buffer and set hp->h_name to hp->h_aliases[0] hp->h_aliases[0] contains the hostname. We display only the aliases in the first line when there is a buffer overrun. This is the behaviour in 10.20. The new variable nu_aliases is added which holds the number of aliases present in the first line JAGad40031; SR 8606170767 The customer periodically experience mount problems from their nfs clients, they get access denied error messages. This happens because of the memory leak when parsing netgroup. Resolution Description: The problem is fixed. the cause for the problem was that there was an unnecessary memory being allocated in one of the internal functions. JAGad04732; SR 8606138231 PHCO_16039: Threaded applications running on systems configured to use the files name service may abort with a core dump. JAGaa13611. PHCO_14717: _nss_files_read_line() in libnss_files.1 runs slowly in kernel thread environment. JAGaa01281. Enhancement: No SR: 8606258815 8606138231 8606170767 Patch Files: OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/pa20_64/libnss_files.1 OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/libnss_files.1 what(1) Output: OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/libnss_files.1: $ PATCH/11.00:PHCO_25514 Apr 8 2003 08:01:36 $ OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/pa20_64/libnss_files.1: $ PATCH/11.00:PHCO_25514 Apr 8 2003 08:01:50 $ cksum(1) Output: OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 444813867 40960 /usr/lib/libnss_files.1 OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2329485476 45408 /usr/lib/pa20_64/libnss_files.1 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_14717 PHCO_16039 PHCO_23189 Equivalent Patches: None Patch Package Size: 110 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_25514 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_25514.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_25514. 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_25514.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_25514.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_25514.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: If libnss_files patches are installed without rebooting, applications currently running which are linked shared against libnss_files will still continue using the former version of libnss_files. If this presents a problem to any applications, you should reboot.