Patch Name: PHCO_18432 Patch Description: s700_800 10.24 (VVOS) libc is missing snprintf, vsnprintf Creation Date: 99/04/26 Post Date: 99/05/19 Hardware Platforms - OS Releases: s700: 10.24 s800: 10.24 Products: N/A Filesets: OS-Core.C-MIN OS-Core.CORE-SHLIBS ProgSupport.PROG-AUX ProgSupport.PROG-MIN Automatic Reboot?: Yes Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_18432 Symptoms: PHCO_18432: snprintf() and vsnprintf() are not currently available in VVOS 10.24. PHCO_16602: strptime() treats Feb 29 2000 and March 1 2000 as the same day if the %A (or %a) and %U conversion specifications are used. JAGaa13581 JAGaa13581; SR 1653269738 PHCO_11693: The strptime and getdate calls do not handle two digit year specifications in the same manner. PHCO_11183: Call to tempnam(), mktemp() and mkstemp() sometimes returned a dangling symlink as the name for a temporary file. SR1653189134. Defect Description: PHCO_18432: snprintf() and vsnprintf() are not currently available in VVOS 10.24. Due to the benefits to program reliability from using snprintf() and vsnprintf(), more programs will require their presence as time goes by. It is desirable, therefore, to make them available. PHCO_16602: strptime() returns the same values for the tm_mday, tm_mon, tm_yday and tm_wday fields in the tm structure for Feb 29 2000 and March 1 2000 if %A (or %a) and %U conversion specifications are used. The output for March 1 2000 is incorrect. PHCO_11693: The strptime and getdate calls do not handle two digit year specifications in the same manner. This has been addressed by providing strptime and getdate with an alternative behavior for dealing with two digit year specifications. In order to obtain the alternative behavior, which interprets two-digit year values in the range 66-99 to refer to the twentieth century and values in the range 00-68 to refer to the twenty-first century, the executable must link with the supplied object file, /usr/lib/year2000.o. Existing executables will continue to get the compatible behavior. PHCO_11183: The tempnam(), mktemp() and mkstemp() APIs did not check for a dangling symlink before returned it and this has been fixed now. SR: 1653189134 4701360701 1653269738 0000000000 Patch Files: /usr/lib/libc.a /usr/lib/libc.1 /usr/lib/libpicc.a /usr/lib/libp/libc.a /usr/lib/year2000.o what(1) Output: /usr/lib/libc.a: Internal_Unsupported_Version libc.a_ID@@/main/r10dav /libc_dav/15 /ux/libc/libs/libc/archive_pa1/libc.a_ID Apr 28 1999 17:18:09 lib/libc/core/gen/mktemp.c, hpuxlibc, vvos_davis, da vis138 $Date: 99/04/28 14:47:49 $ $Revision: 1.2 PATCH_10.24 (PHCO_11183) $ lib/libc/core/gen/getdate.c, hpuxlibc, vvos_davis, d avis138 $Date: 99/04/28 14:47:57 $ $Revision : 1.3 PATCH_10.24 (PHCO_11693) $ lib/libc/core/gen/strptime.c, hpuxlibc, vvos_davis, davis138 $Date: 99/04/28 14:47:57 $ $Revisio n: 1.5 PATCH_10.24 (PHCO_16602) $ $Source: lib/libc/core/stdio/snprintf.c, hpuxlibc, v vos_davis, davis139 $Date: 99/04/28 14:49:48 $ $Revision: 1.2 PATCH_10.24 (PHCO_18432) $ $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Apr 28 14:50:26 EDT 1999 $ /usr/lib/libc.1: lib/libc/core/gen/mktemp.c, hpuxlibc, vvos_davis, da vis138 $Date: 99/04/28 14:47:49 $ $Revision: 1.2 PATCH_10.24 (PHCO_11183) $ lib/libc/core/gen/getdate.c, hpuxlibc, vvos_davis, d avis138 $Date: 99/04/28 14:47:57 $ $Revision : 1.3 PATCH_10.24 (PHCO_11693) $ lib/libc/core/gen/strptime.c, hpuxlibc, vvos_davis, davis138 $Date: 99/04/28 14:47:57 $ $Revisio n: 1.5 PATCH_10.24 (PHCO_16602) $ $Source: lib/libc/core/stdio/snprintf.c, hpuxlibc, v vos_davis, davis139 $Date: 99/04/28 14:49:48 $ $Revision: 1.2 PATCH_10.24 (PHCO_18432) $ $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Apr 28 14:50:26 EDT 1999 $ Internal_Unsupported_Version libc.1_ID@@/main/r10dav /libc_dav/12 /ux/core/libs/libc/shared_pa1/libc.1_ID Apr 28 1999 17:54:20 /usr/lib/libpicc.a: Internal_Unsupported_Version libc.1_ID@@/main/r10dav /libc_dav/12 /ux/core/libs/libc/shared_pa1/libc.1_ID Apr 28 1999 17:54:20 lib/libc/core/gen/mktemp.c, hpuxlibc, vvos_davis, da vis138 $Date: 99/04/28 14:47:49 $ $Revision: 1.2 PATCH_10.24 (PHCO_11183) $ lib/libc/core/gen/getdate.c, hpuxlibc, vvos_davis, d avis138 $Date: 99/04/28 14:47:57 $ $Revision : 1.3 PATCH_10.24 (PHCO_11693) $ lib/libc/core/gen/strptime.c, hpuxlibc, vvos_davis, davis138 $Date: 99/04/28 14:47:57 $ $Revisio n: 1.5 PATCH_10.24 (PHCO_16602) $ $Source: lib/libc/core/stdio/snprintf.c, hpuxlibc, v vos_davis, davis139 $Date: 99/04/28 14:49:48 $ $Revision: 1.2 PATCH_10.24 (PHCO_18432) $ $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Apr 28 14:50:26 EDT 1999 $ /usr/lib/libp/libc.a: Internal_Unsupported_Version libc.a_ID@@/main/r10dav /libc_dav//1 /ux/libc/libs/libc/profiled_pa1/libc.a_ID Apr 28 1999 18:30:46 lib/libc/core/gen/mktemp.c, hpuxlibc, vvos_davis, da vis138 $Date: 99/04/28 14:47:49 $ $Revision: 1.2 PATCH_10.24 (PHCO_11183) $ lib/libc/core/gen/getdate.c, hpuxlibc, vvos_davis, d avis138 $Date: 99/04/28 14:47:57 $ $Revision : 1.3 PATCH_10.24 (PHCO_11693) $ lib/libc/core/gen/strptime.c, hpuxlibc, vvos_davis, davis138 $Date: 99/04/28 14:47:57 $ $Revisio n: 1.5 PATCH_10.24 (PHCO_16602) $ $Source: lib/libc/core/stdio/snprintf.c, hpuxlibc, v vos_davis, davis139 $Date: 99/04/28 14:49:48 $ $Revision: 1.2 PATCH_10.24 (PHCO_18432) $ $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Apr 28 14:50:26 EDT 1999 $ /usr/lib/year2000.o: $Revision: Hewlett-Packard ISSL 1.3 lib/libc/core/ye ar2000/year2000.c, hpuxlibc, vvos_davis, dav is138 $ $Date: 97/07/18 11:19:59 $ lib/libc/core/year2000/year2000.c, hpuxlibc, vvos_da vis, davis138 $Date: 99/04/28 14:47:58 $ $Re vision: 1.3 PATCH_10.24 (PHCO_11693) $ cksum(1) Output: 418324510 2385288 /usr/lib/libc.a 1531867594 1814528 /usr/lib/libc.1 3597774581 2563718 /usr/lib/libpicc.a 1079213707 2566652 /usr/lib/libp/libc.a 1050476737 996 /usr/lib/year2000.o Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_11183 PHCO_11693 PHCO_16602 Equivalent Patches: None Patch Package Size: 9180 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_18432 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_18432.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/PHCO_18432.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/PHCO_18432. 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 PHCO_18432.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/PHCO_18432.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None