Patch Name: PHCO_27135 Patch Description: s700_800 10.01 lpspool subsystem cumulative patch Creation Date: 02/08/13 Post Date: 02/08/15 Hardware Platforms - OS Releases: s700: 10.01 s800: 10.01 Products: N/A Filesets: PrinterMgmt.LP-SPOOL Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_27135 Symptoms: PHCO_27135: 1. lpadmin(1m) dumps core in certain conditions. 2. rlpdaemon(1m) is not behaving properly in certain conditions. 3. lp spooler commands dumps core in certain conditions. PHCO_25107: 1. rlpdaemon(1M) is mis-behaving in certain conditions. 2. rlpdaemon(1M) is not functioning as expected in certain cases. PHCO_24697: 1.rlpdaemon is not functioning as expected in certain cases. PHCO_22410: 1. rlpdaemon, lpstat, lp, cancel, disable, enable, rlpstat and rcancel have memory overflow. 2. rlpdaemon does not handle control characters correctly. 3. rlpdaemon does not work as expected and dumps core in certain cases. PHCO_14527: 1. If you submit more than 52 files lp does not remove those above 52. 2. lpsched -v writes strange strings in log file if LANG is set. 3. lpsched -v intermittently stops by SIGSEGV in catgets if LANG is set. 4. 'lpstat' and 'cancel' memory fault with PHCO_11439 and LANG=Japanese. PHCO_11439: 1. Cancelling a lp job with empty control file clears the whole queue. 2. Printer gets disabled on canceling a printing job. PHCO_10411: 1. LP-spool hang or qstatus corrupt when /var full log says:Bogus request 2. Parent lpsched hangs when lpalt is used to move a request. 3. Model scripts does not handle SIGTERM any more. 4. lpsched introduced 5 sec delay between prints at 10.20 PHCO_8486: 1. lpsched hangs under FIFO full condition 2. Printers go idle even when requests are present in the queue 3. Jobs not printed when remote host(IBM) immediately snaps connection. 4. If a BSD system spooler sends a '\001' to rlp(1) after the control file has been sent, rlp(1) simply ignores the '\001' and removes the entry. PHCO_7102: 1. When request comes from IBM, to a printer which is in turn configured as a remote printer to another system ( BSD or Non-BSD ) , the printer queue in question will be shut down( disabled ). PHCO_6631: 1. Permission denied from rcancel if NIS uppercase and hostname lowercase. 2. rcancel (1M) fails with "Permission denied" if hostname is fully qualified. 3. rlpdaemon and spooler subsytem not working with WINDOWS NT. PHCO_6473: 1. lp spooler hangs if printers with active requests are disbled. 2. lpsched(1M) deadlocks when its total "MORE" message length exceeds 8192 bytes. 3. Divpage was treating the character '0xff' as EOF. When it gets this character it stops processing the input file. PHCO_6310: If disk space is not available on the remote server to receive a print job the remote server responds with a return code of 02. The rlp process continues to run for approximately 5 minutes before it dies. PHCO_5998: When large number of files are sent to a remote spooler the first couple of files are printed at the expected speed but rest of the following files are printed very slowly. The problem is seen on any machine running 10.01 and remote spooling to the any other HP machine running 10.01, 9.04 or 9.05. Defect Description: PHCO_27135: 1. lpadmin dumps core and does not display proper messages. Resolution: Changes are done in the code such that core dump does not occur and messages are printed properly. 2. rlpdaemon (1m) is not behaving properly in certain conditions. Resolution: Code is modified such that rlpdaemon (1m) behaves properly. 3. lp spooler commands dumps core in certain conditions and does not display proper messages. Resolution: Changes are done in the code such that core dump does not occur and messages are printed properly. PHCO_25107: 1. rlpdaemon(1M) is mis-behaving in certain conditions. Resolution: Code is modified so that rlpdaemon(1M) would behave correctly. 2. rlpdaemon(1M) is not functioning as expected in certain cases because of improper file handling. Resolution: Code is modified to handle the files properly. PHCO_24697: 1.rlpdaemon is not functioning as expected in certain cases because of improper memory handling. Resolution: A new condition is added to the code to handle the problem. PHCO_22410: 1. Memory fault in the commands is because of the incorrect handling of buffer for error message. Resolution: The buffer size is increased for the error message. If the argument is longer than the allocated buffer size, it is truncated before printing the error message. 2. rlpdaemon does not filter control characters. Because of this, some control characters may turn the user's terminal insane. Resolution: Control characters are replaced with blanks in rlpdaemon. 3. rlpdaemon dumps core due to improper memory handling. Resolution: Code has been modified to handle the memory appropriately. PHCO_14527: 1. Spooler was only deleting the data files whose names start with "d". 2. with LANG set, lpsched was improperly handling repeated calls to catgets(). 3. Due to sharing of same fd's of catalogue message files between parent and child processes in lpsched, a SIGSEGV used to cause coredumps intermittently. 4. The memory fault was due to buffer overflow with LANG set. PHCO_11439: 1. Cancelling a lp job with empty control file clears the whole queue. 2. Printer gets disabled on canceling a printing job. PHCO_10411: 1. LP-spool hang or qstatus corrupt when /var full log says:Bogus request 2. Parent lpsched hangs when lpalt is used to move a request. 3. Model scripts does not handle SIGTERM any more. 4. lpsched introduced 5 sec delay between prints at 10.20 PHCO_8486: 1. lpsched hangs under FIFO full condition 2. Printers go idle even when requests are present in the queue 3. Jobs not printed when remote host(IBM) immediately snaps connection. 4. If a BSD system spooler sends a '\001' to rlp(1) after the control file has been sent, rlp(1) simply ignores the '\001' and removes the entry. PHCO_7102: 1. When request comes from IBM, to a printer which is in turn configured as a remote printer to another system ( BSD or Non-BSD ) , the printer queue in question will be shut down( disabled ). PHCO_6631: 1. Permission denied from rcancel if NIS uppercase and hostname lowercase. 2. rcancel (1M) fails with "Permission denied" if hostname is fully qualified. 3. rlpdaemon and spooler subsytem not working with WINDOWS NT. PHCO_6473: 1. lp spooler hangs if printers with active requests are disbled. 2. lpsched(1M) deadlocks when its total "MORE" message length exceeds 8192 bytes. 3. Divpage was treating the character '0xff' as EOF. When it gets this character it stops processing the input file. PHCO_6310: If disk space is not available on the remote server to receive a print job the remote server responds with a return code of 02. The rlp process continues to run for approximately 5 minutes before it dies. PHCO_5998: When large number of files are sent to a remote spooler the first couple of files are printed at the expected speed but rest of the following files are printed very slowly. The problem is seen on any machine running 10.01 and remote spooling to the any other HP machine running 10.01, 9.04 or 9.05. SR: 8606227217 8606233628 8606262488 8606221482 8606215197 8606201567 8606155796 8606155795 8606154599 1653298620 1653240010 5003347351 4701356097 5003359760 1653198119 1653203109 1653208504 1653142588 5003279463 5003245241 5003242776 1653141861 5003253245 5003240705 5003297796 1653161091 1653162487 5003330688 1653172023 4701323964 5003318188 5003284919 1653167213 Patch Files: /usr/lbin/divpage /usr/bin/cancel /usr/bin/disable /usr/bin/enable /usr/bin/lpstat /usr/sbin/accept /usr/sbin/lpfence /usr/sbin/lpmove /usr/sbin/reject /usr/bin/lp /usr/sbin/lpsched /usr/sbin/rlpdaemon /usr/bin/lpalt /usr/lbin/rwrite /usr/sbin/rcancel /usr/sbin/rlp /usr/sbin/lpadmin /usr/sbin/rlpstat /usr/lib/nls/msg/C/lp.cat what(1) Output: /usr/lbin/divpage: PATCH_10_01: divpage.o 02/08/13 /usr/bin/cancel: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o cancel.o 02/08/13 /usr/bin/disable: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o disable.o 02/08/13 /usr/bin/enable: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o enable.o 02/08/13 /usr/bin/lpstat: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpstat.o 02/08/13 /usr/sbin/accept: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o accept.o 02/08/13 /usr/sbin/lpfence: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpfence.o 02/08/13 /usr/sbin/lpmove: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpmove.o 02/08/13 /usr/sbin/reject: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o reject.o 02/08/13 /usr/bin/lp: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lp.o 02/08/13 /usr/sbin/lpsched: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpsched.o 02/08/13 /usr/sbin/rlpdaemon: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o rlpdaemon.o 02/08/13 /usr/bin/lpalt: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpalt.o 02/08/13 /usr/lbin/rwrite: PATCH_10_01: rwrite.o 02/08/13 /usr/sbin/rcancel: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o rcancel.o 02/08/13 /usr/sbin/rlp: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o rlp.o 02/08/13 /usr/sbin/lpadmin: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o lpadmin.o 02/08/13 /usr/sbin/rlpstat: $Revision: 74.7.3.54 $ PATCH_10_01: hpux_rel.o rlpstat.o 02/08/13 /usr/lib/nls/msg/C/lp.cat: None cksum(1) Output: 3008391054 20544 /usr/lbin/divpage 2644701951 41139 /usr/bin/cancel 3410813345 24717 /usr/bin/disable 1922860386 16480 /usr/bin/enable 3281782264 45257 /usr/bin/lpstat 621344957 16473 /usr/sbin/accept 3536335938 20603 /usr/sbin/lpfence 3064373179 24702 /usr/sbin/lpmove 3551438806 16477 /usr/sbin/reject 1585940253 41132 /usr/bin/lp 3877984571 53499 /usr/sbin/lpsched 3899716679 61724 /usr/sbin/rlpdaemon 895037341 37052 /usr/bin/lpalt 2799544332 16453 /usr/lbin/rwrite 4168191404 32958 /usr/sbin/rcancel 2579031784 24703 /usr/sbin/rlp 2655732849 41149 /usr/sbin/lpadmin 1171484819 37054 /usr/sbin/rlpstat 3028427426 14712 /usr/lib/nls/msg/C/lp.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_5998 PHCO_6310 PHCO_6473 PHCO_6631 PHCO_7102 PHCO_8486 PHCO_10411 PHCO_11439 PHCO_14527 PHCO_22410 PHCO_24697 PHCO_25107 Equivalent Patches: PHCO_27133: s700: 10.20 s800: 10.20 PHCO_27132: s700: 11.00 s800: 11.00 PHCO_27020: s700: 11.11 s800: 11.11 Patch Package Size: 650 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_27135 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_27135.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_27135. 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_27135.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_27135.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Run /usr/sbin/lpshut before the installation of this patch and run /usr/sbin/lpsched after installing the patch.