Patch Name: PHCO_24698 Patch Description: s700_800 10.10 lpspool subsystem cumulative patch Creation Date: 01/08/06 Post Date: 01/08/08 Hardware Platforms - OS Releases: s700: 10.10 s800: 10.10 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_24698 Symptoms: PHCO_24698: 1. rlpdaemon is not functioning as expected in certain cases. PHCO_22411: 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_15615: Buffer overflow in rwrite and rlpdaemon could memory fault. PHCO_11440: 1. Cancelling a lp job with empty control file clears the whole queue. 2. Printer gets disabled on cancelling a printing job. PHCO_10748: 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_8487: 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_7103: 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 ). 2. lp is not able to print from a directory that has no perms for the world 3. Permission denied from rcancel if NIS uppercase and hostname lowercase. 4. rcancel (1M) fails with "Permission denied" if hostname is fully qualified. 5. rlpdaemon and spooler subsytem not working with WINDOWS NT. 6. lp spooler hangs if printers with active requests are disbled. 7. lpsched(1M) deadlocks when its total "MORE" message length exceeds 8192 bytes. 8. Divpage was treating the character '0xff' as EOF. When it gets this character it stops processing the input file. 9. 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. 10. 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.x and remote spooling to the any other HP machine running 10.01, 9.04 or 9.05. Defect Description: PHCO_24698: 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_22411: 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_15615: rwrite and rlpdaemon should not cause any memory fault due to buffer overflows PHCO_11440: 1. Cancelling a lp job with empty control file clears the whole queue. 2. Printer gets disabled on cancelling a printing job. PHCO_10748: 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_8487: 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_7103: 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 ). 2. lp is not able to print from a directory that has no perms for the world 3. Permission denied from rcancel if NIS uppercase and hostname lowercase. 4. rcancel (1M) fails with "Permission denied" if hostname is fully qualified. 5. rlpdaemon and spooler subsytem not working with WINDOWS NT. 6. lp spooler hangs if printers with active requests are disbled. 7. lpsched(1M) deadlocks when its total "MORE" message length exceeds 8192 bytes. 8. Divpage was treating the character '0xff' as EOF. When it gets this character it stops processing the input file. 9. 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. 10. 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.x and remote spooling to the any other HP machine running 10.01, 9.04 or 9.05. SR: 8606201567 8606155796 8606155795 8606110628 8606154599 5003347351 4701356097 1653198119 5003359760 1653198119 1653203109 1653208504 1653142588 5003279463 5003245241 5003242776 1653141861 5003253245 5003240705 5003297796 1653161091 1653162487 5003330688 1653172023 4701323964 5003318188 Patch Files: /usr/lbin/divpage /usr/bin/cancel /usr/bin/disable /usr/bin/enable /usr/bin/lpstat /usr/bin/lp /usr/lbin/rwrite /usr/sbin/lpsched /usr/sbin/rlpdaemon /usr/sbin/rlp /usr/sbin/lpadmin /usr/sbin/rlpstat /usr/sbin/rcancel /usr/lib/nls/msg/C/lp.cat what(1) Output: /usr/lbin/divpage: PATCH_10_10: divpage.o 01/08/06 /usr/bin/cancel: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o cancel.o 01/08/06 /usr/bin/disable: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o disable.o 01/08/06 /usr/bin/enable: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o enable.o 01/08/06 /usr/bin/lpstat: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o lpstat.o 01/08/06 /usr/bin/lp: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o lp.o 01/08/06 /usr/lbin/rwrite: PATCH_10_10: rwrite.o 01/08/06 /usr/sbin/lpsched: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o lpsched.o 01/08/06 /usr/sbin/rlpdaemon: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o rlpdaemon.o 01/08/06 /usr/sbin/rlp: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o rlp.o 01/08/06 /usr/sbin/lpadmin: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o lpadmin.o 01/08/06 /usr/sbin/rlpstat: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o rlpstat.o 01/08/06 /usr/sbin/rcancel: $Revision: 76.7.1.49 $ PATCH_10_10: hpux_rel.o rcancel.o 01/08/06 /usr/lib/nls/msg/C/lp.cat: None cksum(1) Output: 2968362675 20516 /usr/lbin/divpage 4117773913 41006 /usr/bin/cancel 1365666930 24623 /usr/bin/disable 1226970065 16430 /usr/bin/enable 4037335547 45102 /usr/bin/lpstat 811212745 41002 /usr/bin/lp 2695289557 16419 /usr/lbin/rwrite 919538858 53295 /usr/sbin/lpsched 4169618446 61489 /usr/sbin/rlpdaemon 1760296893 24619 /usr/sbin/rlp 1170051490 41007 /usr/sbin/lpadmin 1797468686 36911 /usr/sbin/rlpstat 1003272678 32815 /usr/sbin/rcancel 1666481277 14672 /usr/lib/nls/msg/C/lp.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_7103 PHCO_8487 PHCO_10748 PHCO_11440 PHCO_15615 PHCO_22411 Equivalent Patches: None Patch Package Size: 530 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_24698 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_24698.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_24698. 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_24698.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_24698.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None