Patch Name: PHCO_25108 Patch Description: s700_800 10.10 lpspool subsystem cumulative patch Creation Date: 01/11/06 Post Date: 01/11/19 Hardware Platforms - OS Releases: s700: 10.10 s800: 10.10 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_25108 Symptoms: PHCO_25108: 1. rlpdaemon(1M) is mis-behaving in certain conditions. 2. rlpdaemon(1M) is not functioning as expected in certain cases. 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_25108: 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_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: 8606221482 8606215197 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/11/06 /usr/bin/cancel: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o cancel.o 01/11/06 /usr/bin/disable: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o disable.o 01/11/06 /usr/bin/enable: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o enable.o 01/11/06 /usr/bin/lpstat: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o lpstat.o 01/11/06 /usr/bin/lp: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o lp.o 01/11/06 /usr/lbin/rwrite: PATCH_10_10: rwrite.o 01/11/06 /usr/sbin/lpsched: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o lpsched.o 01/11/06 /usr/sbin/rlpdaemon: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o rlpdaemon.o 01/11/06 /usr/sbin/rlp: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o rlp.o 01/11/06 /usr/sbin/lpadmin: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o lpadmin.o 01/11/06 /usr/sbin/rlpstat: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o rlpstat.o 01/11/06 /usr/sbin/rcancel: $Revision: 76.7.1.52 $ PATCH_10_10: hpux_rel.o rcancel.o 01/11/06 /usr/lib/nls/msg/C/lp.cat: None cksum(1) Output: 1905087971 20480 /usr/lbin/divpage 2178527993 40960 /usr/bin/cancel 2736488880 24576 /usr/bin/disable 3095653342 16384 /usr/bin/enable 2028046132 45056 /usr/bin/lpstat 1844482713 40960 /usr/bin/lp 4054496405 16384 /usr/lbin/rwrite 82911555 53248 /usr/sbin/lpsched 1201116971 61440 /usr/sbin/rlpdaemon 1697822446 24576 /usr/sbin/rlp 444640757 40960 /usr/sbin/lpadmin 1190140152 36864 /usr/sbin/rlpstat 630730533 32768 /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 PHCO_24698 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_25108 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_25108.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_25108. 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_25108.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_25108.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None