Patch Name: PHCO_24697 Patch Description: s700_800 10.01 lpspool subsystem cumulative patch Creation Date: 01/08/06 Post Date: 01/08/08 Hardware Platforms - OS Releases: s700: 10.00 10.01 s800: 10.00 10.01 Products: N/A Filesets: PrinterMgmt.LP-SPOOL Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_24697 Symptoms: 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 cancelling 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_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 cancelling 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 availble 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: 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 Patch Files: /usr/lbin/divpage /usr/bin/cancel /usr/bin/disable /usr/bin/enable /usr/bin/lpstat /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 01/08/06 /usr/bin/cancel: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o cancel.o 01/08/06 /usr/bin/disable: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o disable.o 01/08/06 /usr/bin/enable: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o enable.o 01/08/06 /usr/bin/lpstat: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o lpstat.o 01/08/06 /usr/bin/lp: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o lp.o 01/08/06 /usr/sbin/lpsched: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o lpsched.o 01/08/06 /usr/sbin/rlpdaemon: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o rlpdaemon.o 01/08/06 /usr/bin/lpalt: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o lpalt.o 01/08/06 /usr/lbin/rwrite: PATCH_10_01: rwrite.o 01/08/06 /usr/sbin/rcancel: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o rcancel.o 01/08/06 /usr/sbin/rlp: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o rlp.o 01/08/06 /usr/sbin/lpadmin: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o lpadmin.o 01/08/06 /usr/sbin/rlpstat: $Revision: 74.7.3.45 $ PATCH_10_01: hpux_rel.o rlpstat.o 01/08/06 /usr/lib/nls/msg/C/lp.cat: None cksum(1) Output: 3057147268 20580 /usr/lbin/divpage 1687771600 41182 /usr/bin/cancel 860221373 24761 /usr/bin/disable 1097973911 16526 /usr/bin/enable 2027589269 45300 /usr/bin/lpstat 3478149821 41172 /usr/bin/lp 1072889909 53544 /usr/sbin/lpsched 4079506338 61769 /usr/sbin/rlpdaemon 1487492181 37094 /usr/bin/lpalt 1625602342 16488 /usr/lbin/rwrite 2240582872 33004 /usr/sbin/rcancel 2230865407 24743 /usr/sbin/rlp 1144161878 41196 /usr/sbin/lpadmin 1850677453 37099 /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 Equivalent Patches: None Patch Package Size: 570 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_24697 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_24697.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_24697. 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_24697.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_24697.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None