Patch Name: PHCO_23181 Patch Description: s700_800 10.26 libc cumulative patch Creation Date: 01/02/08 Post Date: 01/02/21 Hardware Platforms - OS Releases: s700: 10.26 s800: 10.26 Products: N/A Filesets: BLS.BLS-ENG-A-MAN OS-Core.C-MIN OS-Core.CORE-SHLIBS ProgSupport.PAUX-ENG-A-MAN ProgSupport.PROG-MIN ProgSupport.PROG-AUX Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_23181 Symptoms: PHCO_23181: snprintf() and vsnprintf() functions are not available in 10.26 PHCO_20782: No API for deleting an entry from the /etc/mnttab file. PHCO_18576: No putgrent() function in libc for group file PHCO_17823: Some date related functions are not Year 2000 ready. (equivalent of 10.20 patch PHCO_16303) Defect Description: PHCO_23181: snprintf() and vsnprintf() functions are not available in 10.26 Resolution: Ported snprintf() and vsnprintf() from 10.20 libc PHCO_20782: No API for deleting an entry from the /etc/mnttab file. New network functionality requires updates to the network components of libc. Ported from PHNE_20091. Resolution Added API for deleting an entry from the /etc/mnttab file. Update network specific libc code. PHCO_18576: There is no putgrent() function in libc for group file that is an equivalent of the putpwent() for the password file. Resolution: putgrent() function created in C library. Argument is group structure and stream to write to, and it returns 0 if there is no error, and int other than 0 otherwise: int putgrent(const struct group *grp, FILE *f); PHCO_17823: mktime() does not seem to adjust for change in TZ variable. mktime(3C) sets tm_isdst to 0 when daylight savings is in effect for dates past Tuesday January 19 03:14:07 UTC 2038. Since strptime(3C) obtains this value from mktime(), it also returns the 0 for tm_isdst when daylight savings is in effect for those dates. strptime() does not check for dates not within the supported range of Friday December 13 20:45:52 UTC 1901 and Friday December 31 23:59:59 UTC 9999. (1) strptime(3C) does not support dates beyond January 19 UTC 2038 in 32-bit HP-UX. (2) strptime() does not fill in tm_wday, tm_mon and tm_mday when supplied both the year and day of the year. (3) strptime() does not treat invalid input dates and inconsistent input as errors. (4) strptime() does not handle %E correctly in the C locale. (5) strptime() returns incorrect value for tm_yday and tm_wday if tm_sec and/or tm_min are initialized to -1 when the %j conversion specification is used. strptime() treats Feb 29 2000 and March 1 2000 as the same day if the %A (or %a) and %U conversion specifications are used. (1) strptime(3C) does not support dates beyond January 19 UTC 2038 in 32-bit HP-UX. (2) strptime() does not fill in tm_wday, tm_mon and tm_mday when supplied both the year and day of the year. (3) strptime() does not treat invalid input dates and inconsistent input as errors. (4) strptime() does not handle %E correctly in the C locale. The getdate() function does not parse the template file correctly when the %r field descriptor is used in at least one of the templates. This leads to the situation that a non-zero value for getdate_err is returned even when the template file contains a matching template. In addition, getdate() does not correctly handle the case where %I is used in a template but %p is not. strptime(3C) does not calculate the week number correctly when the first day of the year is a Sunday (for %U and %W) or a Monday(for %W). The strptime and getdate calls did 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. The getdate() routine fails with a signal 11 segmentation violation when accessing a datemask file that contains a very large number of alternative date formats. Resolution: Merge in updated HP-UX 10.20 source code. SR: 0000000000 Patch Files: /usr/lib/libc.a /usr/lib/libc.1 /usr/lib/libpicc.a /usr/lib/libp/libc.a /usr/share/man/man3.Z/getmntent.3x /usr/share/man/man3.Z/delmntent.3x /usr/share/man/man3.Z/putgrent.3c /usr/lib/year2000.o /usr/share/man/man3.Z/printf.3s /usr/share/man/man3.Z/vprintf.3s /usr/share/man/man3.Z/snprintf.3s /usr/share/man/man3.Z/vsnprintf.3s what(1) Output: /usr/lib/libc.a: ic5ae_DAV17 lib/libc/archive_pa1/libc.a_01 Feb 2 2001 22:06:58 01/02/02 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5fl Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 01/02/02 lib/libc/core/gen/ctime64.c, hpux, hpux_10. 26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_178 23) 01/02/02 lib/libc/core/gen/mktime64.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_17 823) 00/01/04 lib/libc/core/gen/mntent.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 99/05/10 lib/libc/core/gen/putpwent.c, hpux, hpux_10 .26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_18 576) 99/03/04 lib/libc/core/gen/getdate.c, hpux, hpux_10. 26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_178 23) UNMODIFIED 01/02/02 lib/libc/core/gen/strptime.c, hpux, hpux_10 .26, ic5fl Revision 1.4 PATCH_10.26 (PHCO_17 823) 00/01/05 lib/libc/net/net/getrpcent.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_20 782) UNMODIFIED 00/01/05 lib/libc/net/net/innetgr.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/svc_tcp.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/xdr_mem.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 01/02/01 lib/libc/core/stdio/snprintf.c, hpux, hpux_ 10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_ 23181) UNMODIFIED 01/02/01 lib/libc/core/stdio/vsnprintf.c, hpux, hpux _10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO _23181) UNMODIFIED 01/02/01 lib/libc/core/stdio/doprnt.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_23 181) UNMODIFIED 00/01/05 lib/libc/net/yp/yp_all.c, hpux, hpux_10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_20782) 00/01/05 lib/libc/net/yp/yp_bind.c, hpux, hpux_10.26 , ic5fl Revision 1.2 PATCH_10.26 (PHCO_20782 ) 00/01/05 lib/libc/net/yp/yp_master.c, hpux, hpux_10. 26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_207 82) 00/01/05 lib/libc/net/yp/yp_match.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_order.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_update.c, hpux, hpux_10. 26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_207 82) 2001/02/02 Hewlett-Packard HP-UX 10.26 TOS [ ic5fl - DAV17 ] /usr/lib/libc.1: 01/02/02 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5fl Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 01/02/02 lib/libc/core/gen/ctime64.c, hpux, hpux_10. 26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_178 23) 01/02/02 lib/libc/core/gen/mktime64.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_17 823) 00/01/04 lib/libc/core/gen/mntent.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 99/05/10 lib/libc/core/gen/putpwent.c, hpux, hpux_10 .26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_18 576) 99/03/04 lib/libc/core/gen/getdate.c, hpux, hpux_10. 26, ic5fl Revision 1.3 PATCH_10.26 (PHCO_178 23) UNMODIFIED 01/02/02 lib/libc/core/gen/strptime.c, hpux, hpux_10 .26, ic5fl Revision 1.4 PATCH_10.26 (PHCO_17 823) 00/01/05 lib/libc/net/net/getrpcent.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_20 782) UNMODIFIED 00/01/05 lib/libc/net/net/innetgr.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/svc_tcp.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/xdr_mem.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 01/02/01 lib/libc/core/stdio/snprintf.c, hpux, hpux_ 10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_ 23181) UNMODIFIED 01/02/01 lib/libc/core/stdio/vsnprintf.c, hpux, hpux _10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO _23181) UNMODIFIED 01/02/01 lib/libc/core/stdio/doprnt.c, hpux, hpux_10 .26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_23 181) UNMODIFIED 00/01/05 lib/libc/net/yp/yp_all.c, hpux, hpux_10.26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_20782) 00/01/05 lib/libc/net/yp/yp_bind.c, hpux, hpux_10.26 , ic5fl Revision 1.2 PATCH_10.26 (PHCO_20782 ) 00/01/05 lib/libc/net/yp/yp_master.c, hpux, hpux_10. 26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_207 82) 00/01/05 lib/libc/net/yp/yp_match.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_order.c, hpux, hpux_10.2 6, ic5fl Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_update.c, hpux, hpux_10. 26, ic5fl Revision 1.2 PATCH_10.26 (PHCO_207 82) 2001/02/02 Hewlett-Packard HP-UX 10.26 TOS [ ic5fl - DAV17 ] ic5ae_DAV17 lib/libc/shared_pa1/libc.1_01 Feb 2 2001 22:25:05 /usr/lib/libpicc.a: ic5ae_DAV17 lib/libc/shared_pa1/libc.1_01 Mar 28 2000 21:46:35 00/03/28 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5ep Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 00/03/28 lib/libc/core/gen/ctime64.c, hpux, hpux_10. 26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_178 23) 00/03/28 lib/libc/core/gen/mktime64.c, hpux, hpux_10 .26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_17 823) 00/01/04 lib/libc/core/gen/mntent.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 99/05/10 lib/libc/core/gen/putpwent.c, hpux, hpux_10 .26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_18 576) 99/03/04 lib/libc/core/gen/getdate.c, hpux, hpux_10. 26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_178 23) UNMODIFIED 00/03/28 lib/libc/core/gen/strptime.c, hpux, hpux_10 .26, ic5ep Revision 1.4 PATCH_10.26 (PHCO_17 823) 00/01/05 lib/libc/net/net/getrpcent.c, hpux, hpux_10 .26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_20 782) UNMODIFIED 00/01/05 lib/libc/net/net/innetgr.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/svc_tcp.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/xdr_mem.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/yp/yp_all.c, hpux, hpux_10.26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_20782) 00/01/05 lib/libc/net/yp/yp_bind.c, hpux, hpux_10.26 , ic5ep Revision 1.2 PATCH_10.26 (PHCO_20782 ) 00/01/05 lib/libc/net/yp/yp_master.c, hpux, hpux_10. 26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_207 82) 00/01/05 lib/libc/net/yp/yp_match.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_order.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_update.c, hpux, hpux_10. 26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_207 82) 2000/03/28 Hewlett-Packard HP-UX 10.26 TOS [ ic5ep - DAV17 ] /usr/lib/libp/libc.a: ic5ae_DAV17 lib/libc/profiled_pa1/libc.a_01 Mar 28 2000 22:13:25 00/03/28 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5ep Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 00/03/28 lib/libc/core/gen/ctime64.c, hpux, hpux_10. 26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_178 23) 00/03/28 lib/libc/core/gen/mktime64.c, hpux, hpux_10 .26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_17 823) 00/01/04 lib/libc/core/gen/mntent.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 99/05/10 lib/libc/core/gen/putpwent.c, hpux, hpux_10 .26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_18 576) 99/03/04 lib/libc/core/gen/getdate.c, hpux, hpux_10. 26, ic5ep Revision 1.3 PATCH_10.26 (PHCO_178 23) UNMODIFIED 00/03/28 lib/libc/core/gen/strptime.c, hpux, hpux_10 .26, ic5ep Revision 1.4 PATCH_10.26 (PHCO_17 823) 00/01/05 lib/libc/net/net/getrpcent.c, hpux, hpux_10 .26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_20 782) UNMODIFIED 00/01/05 lib/libc/net/net/innetgr.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/svc_tcp.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/rpc/xdr_mem.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) UNMODIFIED 00/01/05 lib/libc/net/yp/yp_all.c, hpux, hpux_10.26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_20782) 00/01/05 lib/libc/net/yp/yp_bind.c, hpux, hpux_10.26 , ic5ep Revision 1.2 PATCH_10.26 (PHCO_20782 ) 00/01/05 lib/libc/net/yp/yp_master.c, hpux, hpux_10. 26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_207 82) 00/01/05 lib/libc/net/yp/yp_match.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_order.c, hpux, hpux_10.2 6, ic5ep Revision 1.2 PATCH_10.26 (PHCO_2078 2) 00/01/05 lib/libc/net/yp/yp_update.c, hpux, hpux_10. 26, ic5ep Revision 1.2 PATCH_10.26 (PHCO_207 82) 2000/03/28 Hewlett-Packard HP-UX 10.26 TOS [ ic5ep - DAV17 ] /usr/share/man/man3.Z/getmntent.3x: None /usr/share/man/man3.Z/delmntent.3x: None /usr/share/man/man3.Z/putgrent.3c: None /usr/lib/year2000.o: 99/03/22 lib/libc/core/year2000/year2000.c, hpux, hp ux_10.26, ic5bn Revision 1.2 PATCH_10.26 (PH CO_17823) UNMODIFIED /usr/share/man/man3.Z/printf.3s: None /usr/share/man/man3.Z/vprintf.3s: None /usr/share/man/man3.Z/snprintf.3s: None /usr/share/man/man3.Z/vsnprintf.3s: None cksum(1) Output: 3482265549 2424268 /usr/lib/libc.a 4217869596 1855488 /usr/lib/libc.1 4157951079 2608546 /usr/lib/libpicc.a 2290700430 2611956 /usr/lib/libp/libc.a 457028579 4535 /usr/share/man/man3.Z/getmntent.3x 457028579 4535 /usr/share/man/man3.Z/delmntent.3x 1138435759 740 /usr/share/man/man3.Z/putgrent.3c 2606328815 940 /usr/lib/year2000.o 1584050233 9011 /usr/share/man/man3.Z/printf.3s 3084250884 2124 /usr/share/man/man3.Z/vprintf.3s 1584050233 9011 /usr/share/man/man3.Z/snprintf.3s 3084250884 2124 /usr/share/man/man3.Z/vsnprintf.3s Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_17823 PHCO_18576 PHCO_20782 Equivalent Patches: None Patch Package Size: 9370 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_23181 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_23181.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_23181. 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_23181.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_23181.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: If libc patches are installed without rebooting, applications currently running which are linked shared against libc will still continue using the former version of libc. If this presents a problem to any applications, you should reboot.