Patch Name: PHCO_14064 Patch Description: s700_800 10.24 (VVOS) spax(1) March 1998 Cumulative Patch Creation Date: 98/03/04 Post Date: 98/03/23 Hardware Platforms - OS Releases: s700: 10.24 s800: 10.24 Products: N/A Filesets: VirtualVaultOS.VVSMIN-ENG-A-MAN OS-Core.UX-CORE VirtualVaultOS.VVOS-MIN Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_14064 Symptoms: PHCO_14064: - spax doesn't support 24 bit minor numbers or large files. - spax prints incorrect message when it doesn't find a file in the archive. - spax has a memory leak. - spax does not preserve the mode word of a symbolic link. - The -M and -A options fail after installing PHCO_11131. - The "-p e" option doesn't restore the correct mode word. - Internationalization problems - spax does not handle wide chars correctly. - There is a multilevel directory printing problem. - Spax prints stat(2) error messages when it shouldn't. PHCO_11131: Spax does not support localization, a feature required by current customers. PHCO_11264: spax(1) does not restore WILDCARD sensitivity label Defect Description: PHCO_14064: spax doesn't support 24 bit minor numbers or large files: The previous spax tape format assumed that minor numbers were 16 bit long. However, in VVOS 10.24, minor numbers are 24 bits long, that is, on a 32 bit word, the major number is encoded in the high 8 bits, and the minor in the low 24 bits. Since the spax special file structure only used 5 ASCII digits for the minor number, it was necessary to define a new tape format to handle 24 bit long minor numbers. Since 24 bits can encode a number as big as 16,777,215, the minor number field was expanded to 8 digits from the previous 5 digits. In addition to the expanded minor number field, the tape format was also updated to support large files. The spax code has been compiled with large file support, and code was added to skip files larger than 2GB in the archive if the target filesystem does not support large files. Tapes created with the previous version of spax do not include enough information to restore special files with minor numbers larger than 16 bits correctly. Therefore, backup tapes that might include these files, including BBT tapes, should be recreated after installing this patch to ensure that these special files can restore correctly. The new version of spax, which supports both tapes, can read and restore these old backup tapes except as noted above. The listing output, that is, the output from spax when not using the -r or -w flags, has changed. Any scripts that depend on spax's listing output should be revised. Please read the notes section of the spax(1) man page for more information about the new tape format. Spax(1) prints the wrong message when it doesn't find a file in the archive: If a filename given on the command line was not found in the archive, spax printed a '' message when it should've printed the filename given on the command line. Memory leaks: There was a memory leak in the input list handling code and in the pass function. spax(1) does not preserve the mode word of a symbolic link: When restoring symbolic links, spax was not preserving the original permissions. The -M and -A options fail after installing PHCO_11131: After installing PHCO_11131, options -M and -A, which select files depending on the access and modification dates, were not working correctly. The "-p e" option doesn't restore the correct mode word: The spax(1) "-p e" option didn't always correctly restore the mode word of files that were previously archived. Internationalization problems - spax does not handle wide chars correctly: The -b option didn't work correctly. There is a multilevel directory printing problem in spax: Under some conditions, spax printed the MAC tag of a multilevel diversion directory when used with the -vf options. spax prints stat(2) error messages when it shouldn't: When spax decided that it couldn't import files whose SL was outside the range of the device's SL, it incorrectly printed a stat(2) error message instead of just reporting that the files were inaccessible. PHCO_11131: This patch allows spax to retrieve messages out of message catalogs and process multibyte characters. PHCO_11264: spax(1) returns an EPERM error when it attempts to restore a file with the WILDCARD SL. It recreates that file with the SL as syshi. SR: 5003404517 4701355966 4701354753 Patch Files: /usr/bin/pax /sbin/pax /usr/lib/nls/msg/C/spax.cat /usr/share/man/man1.Z/spax.1 what(1) Output: /sbin/pax: lib/libc/core/gen/mktemp.c, hpuxlibc, vvos_davis, da vis88 $Date: 98/03/11 16:37:56 $ $Revision: 1.2 PATCH_10.24 (PHCO_11183) $ $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Mar 11 16:53:24 EST 1998 $ seccmd/spax/pax.c, cmdsfs, vvos_davis, davis93 $Date : 98/03/11 16:40:01 $ $Revision: 1.9.2.3 PAT CH_10.24 (PHCO_14064) $ $RCSfile: pax.c,v $ $Revision: 1.1.2.3 $ (OSF) $Date : 91/05/28 10:58:05 $ $RCSfile: append.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:12:58 $ $RCSfile: buffer.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:13:03 $ $RCSfile: charmap.c,v $ $Revision: 1.1.2.4 $ (OSF) $ Date: 91/05/31 10:54:03 $ $RCSfile: cpio.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:13:27 $ $RCSfile: create.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:13:33 $ $RCSfile: extract.c,v $ $Revision: 1.1.2.2 $ (OSF) $ Date: 91/04/17 16:13:39 $ $RCSfile: fileio.c,v $ $Revision: 1.1.2.3 $ (OSF) $D ate: 91/05/31 10:54:09 $ $RCSfile: hash.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:13:58 $ $RCSfile: list.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:14:12 $ $RCSfile: mem.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date : 91/04/17 16:14:19 $ $RCSfile: namelist.c,v $ $Revision: 1.1.2.3 $ (OSF) $Date: 91/05/31 10:54:15 $ $RCSfile: pass.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:14:37 $ $RCSfile: pathname.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date: 91/04/17 16:14:44 $ $RCSfile: replace.c,v $ $Revision: 1.1.2.2 $ (OSF) $ Date: 91/04/17 16:15:10 $ $RCSfile: tar.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date : 91/04/17 16:15:16 $ $RCSfile: ttyio.c,v $ $Revision: 1.1.2.2 $ (OSF) $Da te: 91/04/17 16:15:21 $ $RCSfile: warn.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:15:26 $ lib/libsecurity/acllib.c, libsecurity_acl, vvos_davi s, davis88 $Date: 98/03/11 16:33:24 $ $Revis ion: 1.2.3.2 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/getdvagent.c, libsecurity_ia, vvos_d avis, davis88 $Date: 98/03/11 16:33:27 $ $Re vision: 1.14 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/identity.c, libsecurity_util, vvos_d avis, davis88 $Date: 98/03/11 16:33:29 $ $Re vision: 1.8 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/mandlib.c, libsecurity_macilb, vvos_ davis, davis88 $Date: 98/03/11 16:33:31 $ $R evision: 1.17 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/mld.c, libsecurity_macilb, vvos_davi s, davis88 $Date: 98/03/11 16:33:31 $ $Revis ion: 1.8 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/printbuf.c, libsecurity_util, vvos_d avis, davis88 $Date: 98/03/11 16:33:32 $ $Re vision: 1.7 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/privileges.c, libsecurity_util, vvos _davis, davis88 $Date: 98/03/11 16:33:32 $ $ Revision: 1.1.1.12 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/subsystems.c, libsecurity_util, vvos _davis, davis88 $Date: 98/03/11 16:33:34 $ $ Revision: 1.10.1.7 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/ie_audit.c, libsecurity_util, vvos_d avis, davis88 $Date: 98/03/11 16:35:21 $ $Re vision: 1.12 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/sec_conf.c, libsecurity_util, vvos_d avis, davis88 $Date: 98/03/11 16:35:41 $ $Re vision: 1.5 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/sec_nls.c, libsecurity, vvos_davis, davis88 $Date: 98/03/11 16:37:55 $ $Revision : 1.1.1.4 PATCH_10.24 (PHCO_12734) $ lib/libsecurity/auditdb.c, libsecurity_audit, vvos_d avis, davis88 $Date: 98/03/11 16:35:11 $ $Re vision: 1.15 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/discr.c, libsecurity_util, vvos_davi s, davis88 $Date: 98/03/11 16:33:26 $ $Revis ion: 1.7 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/fields.c, libsecurity_ia, vvos_davis , davis88 $Date: 98/03/11 16:33:26 $ $Revisi on: 1.10 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/psecerror.c, libsecurity_util, vvos_ davis, davis88 $Date: 98/03/11 16:33:32 $ $R evision: 1.7 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/authaudit.c, libsecurity_audit, vvos _davis, davis88 $Date: 98/03/11 16:33:24 $ $ Revision: 1.21 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/fileattr.c, libsecurity_fs, vvos_dav is, davis88 $Date: 98/03/11 16:37:01 $ $Revi sion: 1.9 PATCH_10.24 (PHCO_11251) $ lib/libsecurity/sec_errlst.c, libsecurity_util, vvos _davis, davis88 $Date: 98/03/11 16:33:32 $ $ Revision: 1.8 PATCH_10.24 (PHCO_11251) $ Internal_Unsupported_Version libc.a_ID@@/main/r10dav /libc_dav/15 /ux/libc/libs/libc/archive_pa1/libc.a_ID Mar 11 1998 19:12:36 /usr/bin/pax: $Revision: Hewlett-Packard ISSL Level vvos_davis40 $ $Header: Hewlett-Packard ISSL Release vvos_ davis $ $Date: Wed Mar 11 16:53:24 EST 1998 $ seccmd/spax/pax.c, cmdsfs, vvos_davis, davis93 $Date : 98/03/11 16:40:01 $ $Revision: 1.9.2.3 PAT CH_10.24 (PHCO_14064) $ $RCSfile: pax.c,v $ $Revision: 1.1.2.3 $ (OSF) $Date : 91/05/28 10:58:05 $ $RCSfile: append.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:12:58 $ $RCSfile: buffer.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:13:03 $ $RCSfile: charmap.c,v $ $Revision: 1.1.2.4 $ (OSF) $ Date: 91/05/31 10:54:03 $ $RCSfile: cpio.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:13:27 $ $RCSfile: create.c,v $ $Revision: 1.1.2.2 $ (OSF) $D ate: 91/04/17 16:13:33 $ $RCSfile: extract.c,v $ $Revision: 1.1.2.2 $ (OSF) $ Date: 91/04/17 16:13:39 $ $RCSfile: fileio.c,v $ $Revision: 1.1.2.3 $ (OSF) $D ate: 91/05/31 10:54:09 $ $RCSfile: hash.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:13:58 $ $RCSfile: list.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:14:12 $ $RCSfile: mem.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date : 91/04/17 16:14:19 $ $RCSfile: namelist.c,v $ $Revision: 1.1.2.3 $ (OSF) $Date: 91/05/31 10:54:15 $ $RCSfile: pass.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:14:37 $ $RCSfile: pathname.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date: 91/04/17 16:14:44 $ $RCSfile: replace.c,v $ $Revision: 1.1.2.2 $ (OSF) $ Date: 91/04/17 16:15:10 $ $RCSfile: tar.c,v $ $Revision: 1.1.2.2 $ (OSF) $Date : 91/04/17 16:15:16 $ $RCSfile: ttyio.c,v $ $Revision: 1.1.2.2 $ (OSF) $Da te: 91/04/17 16:15:21 $ $RCSfile: warn.c,v $ $Revision: 1.1.2.2 $ (OSF) $Dat e: 91/04/17 16:15:26 $ /usr/lib/nls/msg/C/spax.cat: None /usr/share/man/man1.Z/spax.1: None cksum(1) Output: 2778040282 155648 /usr/bin/pax 3729993601 630784 /sbin/pax 2983604117 15056 /usr/lib/nls/msg/C/spax.cat 3240526024 22560 /usr/share/man/man1.Z/spax.1 Patch Conflicts: None Patch Dependencies: s700: s800: 10.24: PHCO_11251 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_11264 PHCO_11131 Equivalent Patches: None Patch Package Size: 870 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_14064 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_14064.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_14064.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_14064. 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_14064.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_14064.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Tapes created with the previous version of spax do not include enough information to restore special files with minor numbers larger than 16 bits correctly. Therefore, backup tapes that might include these files, including BBT tapes, should be recreated after installing this patch to ensure that these special files can restore correctly. The new version of spax, which supports both tapes, can read and restore these old backup tapes except as noted above. The listing output, that is, the output from spax when not using the -r or -w flags, has changed. Any scripts that depend on spax's listing output should be revised. Please read the notes section of the spax(1) man page for more information about the new tape format. NOTE: This patch is dependent on the installation of Patch PHCO_11251. Failure to install PHCO_11251 will result in failures in the spax(1) command.