Patch Name: PHCO_31016 Patch Description: s700_800 11.00 lpspool subsystem cumulative patch Creation Date: 04/06/21 Post Date: 04/06/28 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHCO_31016: HANG Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHCO_31016 Symptoms: PHCO_31016: 1. cancel(1) exits with an error due to overrun of file descriptors. 2. Performance of lpsched is degraded severely due to the way in which lpstat reads request control files. 3. lpsched cannot process the maximum number of files that lp(1) can accept. PHCO_29208: 1. rwrite has functional problem. 2. lp(1) removes an arbitrary request when Ctrl-c is hit. 3. lpalt(1) displays wrong results when the destination queue is full. 4 .rlpdaemon(1m) doesn't accept hostname starting with digits. PHCO_28320: 1. When a printer is disabled, the current printing job remains in the queue and doesn't get printed even after the printer is enabled. 2. lpalt incorrectly handles 3 digit job id numbers for BSD print queues. This can cause lpsched to exit. PHCO_27132: 1. lpsched(1m) was not killing its children when lpshut(1m) was run. 2. lpadmin(1m) dumps core in certain conditions. 3. rlpdaemon(1m) is not behaving properly in certain conditions. 4. lp spooler commands dumps core in certain conditions. 5. lpstat returns incorrect exit value when HPDPS is installed. PHCO_25110: 1. rlpdaemon(1M) is mis-behaving in certain conditions. 2. rlpdaemon(1M) is not functioning as expected in certain cases. PHCO_24700: 1. rlpdaemon is not functioning as expected in certain cases. 2. Multiple lpscheds can be running simultaneously. 3. lp was sending a corrupted mail message. PHCO_22365: 1) If a printing request is cancelled, the other requests in the printer queue are not getting printed until another request is given to the queue. 2) rlp may hang indefinitely when the remote machine goes down and comes up. 3) The remote request with the user name having spaces is not getting processed. 4) rlpdaemon, lpstat, lp, cancel, disable, enable, rlpstat and rcancel have memory overflow. 5) lpadmin does not configure a remote printer properly if the length of printer name is exactly 14 characters. The requests to this printer are not processed. PHCO_21611: 1) If rlpdaemon writes the messages (for eg: when lp or lpalt are invoked with -w option for remote printers) without stripping the control characters, some of these control characters can make the user's terminal behave abnormally. Some times the user terminal may be closed. 2) Data does not get printed when a remote request is given with a very long title (more than 78 characters in length). 3) When large number of requests (around 120-130) are given, the spooler stops printing requests in between. 4) If the printers/classes specified to lpstat are not in the same order as they are configured, lpstat -p,lpstat -a is not giving the complete status. PHCO_21224: When a request is transferred from a non BSD (Berkeley Software Distribution) printer to a remote BSD printer, the remote BSD printer gets disabled without printing the job. In case of BSD to remote non-BSD printer, the request is printed but the residual datafile remains in the system. PHCO_19484: Residual ".lck" files are left after printing on remote printers. PHCO_18866: 1. lpstat gives "Status received is corrupt message" with remote printers on Sun. 2. The value of LANG env variable is improperly passed to the model script. PHCO_18074: 1. Canceling of remote requests causes deadlock and multiple lpscheds on a single device. 2. lp(1) does not link files into request directory as mentioned in man pages. 3. kill -9 on lp processes causes corruption in pstatus file. PHCO_17032: UTF8 printing support needed. PHCO_15616: Buffer overflow in rwrite could cause remote terminal logins to memory fault PHCO_14781: Buffer overflow with LANG and LPDEST set in lpspooler. PHCO_13361: Buffer overflow in rwrite(1) could cause core dump Defect Description: PHCO_31016: 1. cancel(1) exits with an error due to overrun of file descriptors. If the number of requests getting cancelled is more than the number of open file descriptors allowed for the process, cancel fails due to overrun of file descriptors. This problem occurs only when lp scheduler is running. The problem can be reproduced as follows: 1. Shut down the lp scheduler # lpshut 2. Now configure a dummy printer (dprinter) # lpadmin -pdprinter -v/dev/null -mdumb # accept dprinter 3. Start the lp scheduler again # lpsched 4. Stream requests to dprinter. The total number of requests should be greater than the file descriptor limit. i=0 total=$(/usr/bin/ulimit -n) while [[ $i -ne ${total} ]] do lp -ddprinter /etc/passwd i=`expr $i+1 ` done 5. Now try canceling all the requests # cancel -e dprinter Observation: cancel (1M) will give the following error message. cancel: can't open output queue file Resolution: Now the file descriptors are closed appropriately. 2. Performance of lpsched is degraded severely due to the way in which lpstat reads request control files. Resolution: lpstat has been changed in such a way that it reads the request control files in a way that will not interfere with the processing of request control file by lpsched. 3. lpsched cannot handle the maximum number of files that lp(1) can accept. The problem can be reproduced as follows: 1. Shut down the lp scheduler # lpshut 2. Now configure a dummy printer (dprinter) # lpadmin -pdprinter -v/dev/null -mdumb # accept dprinter # enable dprinter 3. Start the lp scheduler again # lpsched 4. Create 832 files in a temporary directory # mkdir tmp # i=0 # while [[ $i -ne 832 ]] do echo $i>tmp/file_$i i=`expr $i+1 ` done 4. Stream requests to dprinter with the files created in the previous step as input. # lp -ddprinter -m tmp/* 5. Giving enough time for scheduler to process the request, check the mail. The scheduler would have a sent a mail stating that there was an error in print request. Resolution: lpsched has been modified to handle 832 files, the maximum number of files that can be given for a print request through lp(1). PHCO_29208: 1. rwrite has functional problem. Resolution: The problem is resolved. 2. lp command with -ob3, for BSD 3 digit ids will hang on the 1000th request. When Ctrl-c is hit to get out of the hang, one request is cancelled at random. This is because when the interrupt occurs, the interrupt handler removes one of the requests. The problem can be reproduced as follows: a. Configure a BSD printer as follows. # lpadmin -pprint1 -v/dev/null -mdumb -h -ob3 # accept print1 # enable print1 b. Stream requests to the printer "print1" as follows to make the queue full i=0 while [[ $i -ne 1000 ]] do lp -dprint1 /etc/passwd i=`expr $i+1 ` done c. $ lpstat print1 This will list all the requests for the printer "print1". Check the number of requests. d. Now stream another request to the same printer "print1" $ lp -dprint1 /etc/passwd It is observed that the lp hangs.Send an interrupt Ctrl-c. e. $ lpstat print1 This will list all the requests for the printer "print1". Check the number of requests. One of the requests will be deleted. f. Now stream another request to the same printer "print1" $ lp -dprint1 /etc/passwd we are able to get a new request id. g. Repeat the steps c & d several times. Observe that each time a different request id is obtained. Resolution: The interrupt handler is modified not to remove any queued request when interrupt occurs. 3. lpalt with -ob3, for BSD 3 digit ids shows wrong results when a request is altered to the destination printer which is already having 1000 requests. Also the request to be altered will be removed from the first printer. The problem can be reproduced as follows: a. Configure a BSD printer as follows. # lpadmin -pprint1 -v/dev/null -mdumb -h -ob3 # accept print1 # enable print1 b. Stream requests to the printer "print1" as follows to make the queue full i=0 while [[ $i -ne 1000 ]] do lp -dprint1 /etc/passwd i=`expr $i+1 ` done c. Configure another BSD printer as follows. # lpadmin -pprint2 -v/dev/null -mdumb -h -ob3 # accept print2 # enable print2 d. Stream requests to the printer "print2" as follows i=0 while [[ $i -ne 10 ]] do lp -dprint2 /etc/passwd i=`expr $i+1 ` done e. Now alter one request from print2 to print1. $ lpalt print2-1 -dprint1 An arbitrary id is displayed. $ lpstat print2-1 no entries The above condition is wrong as the first queue is already full. Resolution: lpalt code has been modified to resolve this issue. The request is not altered when the destination printer queue is full. An error is printed. 4. rlpdaemon checks the name of the control and data files sent through the network. Host name is one of the fields in the filename. If the hostname field contains ip address instead of hostname, rlpdaemon will not accept the request. Resolution: Now rlpdaemon has been modified such that it accepts the ip address in the hostname field. PHCO_28320: 1. cancel and disable commands send SIGTERM to the lpsched child process to stop the current printing. Also these commands inform the parent lpsched to make appropriate changes in its internal data structures. Sometimes before the disable/cancel command could inform the parent lpsched to disable/cancel the printer, the child lpsched which got the SIGTERM informs the parent that the printer is free to process further requests. The parent interprets it as completion of print request, thus removing the request from the dynamic data structure it maintains. This is not expected for disable command because the request should be reprinted later. The problem can be reproduced as follows: Step 1) Configure a local printer and a remote printer on the same machine. # lpshut # lpadmin -ploc -v/dev/null -mdumb -h # lpadmin -prem -v/dev/null -mrmodel -orm`hostname` -orploc Step 2) Accept and Enable remote printer and not local printer. Hence the request will be in the printing mode until the local printer accepts requests. # accept rem # enable rem Step 3) Start the scheduler. # lpsched Step 4) Give 2 requests to remote printer. # lp -drem /etc/passwd # lp -drem /etc/passwd You can see that lpsched will start printing the first request and will be waiting since loc does not accept the requests. Step 5) Disable remote printer. Accept and Enable local printer such that the printing continues and Enable the remote printer. # disable rem # accept loc # enable loc # enable rem lpsched starts printing from the second request instead of the first one. The first request remains in the queue and is never printed. Resolution: Code changes are made such that lpsched parent does not remove the request entry when the child receives SIGTERM. Removing the requests for cancel is taken care when cancel informs the parent lpsched. 2. lpalt incorrectly handles 3 digit job id numbers for BSD print queues. This can cause lpsched to exit. When lpalt is called to move a request across printers, lpalt generates a new request id. It then informs the scheduler about the new request id. The scheduler while moving the request tries to create the data/control files as per the new request id. On some cases these names clashes with the already existing request id's of the new spooler resulting in lpsched to terminate. This can be reproduced as follows: Step 1: Configure 2 BSD printers lpadmin -pBSD1 -v/dev/null -mdumb -h -ob3 accept BSD1 enable BSD1 lpadmin -pBSD2 -v/dev/null -mdumb -h -ob3 accept BSD2 enable BSD2 Step 2: Run the Scheduler. lpsched Step 3: Give 2 requests in BSD1 and lpalt one request from BSD2, such that both have same request id. lp -dBSD1 /etc/passwd lp -dBSD1 /etc/passwd lp -dBSD2 /etc/passwd lpalt -dBSD1 BSD2-0 << lpsched exits with the following message >> cat /var/spool/lp/log lpsched: can't create temporary request file "request/printer1/tfA970abght" Resolution: Now lpalt generates new request ids which will not clash with the already existing request id's on the new print spooler. PHCO_27132: 1. For every print request, lpsched forks a child which handles that request. lpsched was not killing its child processes when lpshut was run, printing jobs were not stopped. Resolution: The problem was in handling the signals. Signal handlers for the signal SIGTERM were not properly set. The changes are made such that signal handlers are set at proper places. 2. 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. 3. rlpdaemon (1m) is not behaving properly in certain conditions. Resolution: Code is modified such that rlpdaemon (1m) behaves properly. 4. 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. 5. When HPDPS is installed on a system and lpstat is invoked with an unknown printer name, it will exit with 0 (SUCCESS). For example, lpstat -pnoneprinter; echo $? The above script will show 0, whereas it should show 1. The return value will be 0 for all the lpstat options. Resolution: lpstat will query the HPDPS system if the printer is non-existent in lp spooler system. A new variable is declared which will capture exit values of every such HPDPS invocation. lpstat is made to exit with the value of this variable. PHCO_25110: 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_24700: 1. rlpdaemon is not functioning as expected in certain cases because of improper memory handling. Resolution: A new condition is added in the code to handle the problem. 2. In lpsched startup, there is a large window for a race condition that allows multiple lpscheds to start. Resolution: The fix is that ~lp/SCHEDLOCK file is opened for locking the file descriptor. If one lpsched is already running,the second/any next lpsched will not run as lock is already acquired by another process (which is already running) 3. A newline character was missing in lpsched mail text , due to which the mail message was getting corrupted when read through /usr/bin/mail. Resolution: The newline character '/n' has been added in the end of mail message for lp -m , so that messages don't get corrupted. PHCO_22365: 1. When a printing request is cancelled, the process which prints the request is terminated and enqueing of F_MORE request is not done. This results in loosing continuity. Resolution: When the printing process is killed, F_MORE request is enqueued to continue with the other requests in the spooler. 2. rlp sends a request to rlpdaemon and waits for the acknowledgement in read call on the socket. read() continues waiting indefinitely if the remote machine goes down without closing the socket. The wait continues even if the machine comes up later. Resolution: SO_KEEPALIVE option is set for the socket so that if there is no response for 2 hours, the read call returns with an error instead of waiting indefinitely. 3. The remote request with the username having the spaces is not getting processed because of the incorrect parsing of arguments in rlpdaemon. Resolution: It is made sure that the parsing of arguments is done correctly and the request is processed. 4. Memory fault in the commands is the result of incorrect handling of the buffer for error message. Resolution: The buffer size is increased for the error message. If a very long argument is given, it is truncated. 5. When the length of remote printer name is of exactly 14 characters, there is no NULL character assigned at the end of array which stores the printer name. Because of this, corrupted data is written to the file that stores the information of all the printers. Resolution: NULL character is assigned at the end for the array which stores the remote printer name. PHCO_21611: 1. 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. 2. Data is not getting printed due to control file corruption in the remote machine. This is because of an array overflow in rlpdaemon. Resolution: The array size which contains the title on the remote printer is increased to hold the title length specified in the RFC1179. 3. Spooler stops processing requests in between because, the file which contains the request information (outputq) is not getting compressed when a large number of requests are given. This occurs because of the missing return statement in a function. Resolution: The return statement is added in the appropriate function. 4. lpstat was giving the incomplete status because, it was not searching for the printers/classes from the beginning of the status (pstatus, qstatus) files. Resolution: The file descriptor of the status file is positioned at the beginning, before every search. PHCO_21224: When the requests are transferred from non-BSD to remote BSD data filename has been renamed incorrectly and the request remains unprocessed. When the request is transferred from BSD to remote non-BSD the request gets processed but the data file which is named incorrectly remains in the request directory. Resolution: The fix is to add more conditions so that the datafile is renamed appropriately while the request is being transferred from BSD to non-BSD and vise-versa. PHCO_19484: rlpdaemon(1) creates multiple ".lck" files for requests from remote systems if the host does not use FQDN/non -FQDN consistently. Resolution: The temporary ".lck" files are made to be created only once for a particular request, even if the host does not use FQDN/non -FQDN consistently while sending files to be printed on the remote printer. PHCO_18866: 1. According to RFC-1179, the messages from the remote printer daemon could be anything, but the starting and ending of these messages should adhere to the correct protocol. Portions where unrequired checks are being made to the messages resulting in the "Status corrupt" messages have to be removed. 2. Since the LANG variable was incorrectly passed to the control file, the "Invalid options" error message was appearing on the banner. Resolution: 1. Unrequired checking in rlpstat(1) has been removed to avoid the "Status corrupt" message. Any message got from the remote printer daemon is printed as is got. 2. The LANG variable is passed onto the control file ONLY IF utf8 locale has been set. PHCO_18074: 1. Multiple lpscheds running on the the same device caused the deadlocks. This deadlock used to appear intermittently when multiple remote/local job requests are queued and cancelled continuously over a period of time. 2. lp(1) should hardlink data files if present on the same file system as that of spooler (/var/spool) directory instead of copying them to the spooler directory. 3. kill -9 of lp processes causes printers to disappear. Resolution: 1. Setting the busy flags for the printers has now been synchronised so that multiple lpscheds running on the same printer devices are avoided. 2. Correct path has now been passed on to the link(2) call to link data files into the spooler directory. 3. Proper offsets are passed while writing into pstatus file to ensure consistency. PHCO_17032: UTF8 printing support needs to be added. PHCO_15616: rwrite should take care of any memory fault due to buffer overflow during during connecting to remote terminals PHCO_14781: Buffer overflow in the lpspooler is due to invalid entries in LANG and LPDEST variables. PHCO_13361: rwrite(1) should take care of any buffer verflow which might corrupt the stack which inturn might cause a core dump. Enhancement: No SR: 8606357899 8606357522 8606356721 8606323478 8606323479 8606323480 8606311116 8606286028 8606284963 8606226693 8606227217 8606233628 8606262488 8606103767 8606213046 8606265902 8606221482 8606215197 8606201567 8606197229 8606197042 8606170526 8606154599 8606106120 8606125159 8606152584 8606155796 8606155795 1653298620 8606110628 8606127627 8606103553 1653232694 8606104672 8606101623 5003455048 5003464222 1653290718 1653245696 4701376251 5003411645 4701387050 4701392043 Patch Files: PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/HPP405 /usr/lib/lp/model/PCL1 /usr/lib/lp/model/PCL4 /usr/lib/lp/model/PCL5 /usr/lib/lp/model/colorlaserjet /usr/lib/lp/model/deskjet1200C /usr/lib/lp/model/deskjet1600CM /usr/lib/lp/model/hp2225a /usr/lib/lp/model/hp2225d /usr/lib/lp/model/hp2227a /usr/lib/lp/model/hp2228a /usr/lib/lp/model/hp2631g /usr/lib/lp/model/hp33447a /usr/lib/lp/model/hp3630a /usr/lib/lp/model/hp5000c30 /usr/lib/lp/model/hp5000f100 /usr/lib/lp/model/hpC1208a /usr/lib/lp/model/hpd640 /usr/lib/lp/model/laserjet /usr/lib/lp/model/laserjet4 /usr/lib/lp/model/laserjet4Si /usr/lib/lp/model/laserjet4v /usr/lib/lp/model/laserjet5Si /usr/lib/lp/model/laserjetIIISi /usr/lib/lp/model/paintjet /usr/lib/lp/model/paintjetXL300 /usr/lib/lp/model/quietjet /usr/lib/lp/model/rmodel /usr/lib/lp/model/thinkjet /usr/lib/nls/msg/C/lp.cat /usr/sbin/lpana /usr/bin/cancel /usr/bin/disable /usr/bin/enable /usr/bin/lpstat /usr/sbin/accept /usr/sbin/lpfence /usr/sbin/lpmove /usr/sbin/lpshut /usr/sbin/reject /usr/bin/lp /usr/bin/lpalt /usr/lbin/rwrite /usr/sbin/lpadmin /usr/sbin/lpsched /usr/sbin/rcancel /usr/sbin/rlpdaemon /usr/sbin/rlpstat /usr/sbin/rlp what(1) Output: PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/HPP405: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/PCL1: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/PCL4: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/PCL5: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/colorlaserjet: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/deskjet1200C: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/deskjet1600CM: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp2225a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp2225d: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp2227a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp2228a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp2631g: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp33447a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp3630a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp5000c30: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hp5000f100: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hpC1208a: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/hpd640: $Header: hpd640,v 82.1 98/02/24 15:51:13 ssa Exp $ HP-UX 10.x PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjet: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjet4: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjet4Si: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjet4v: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjet5Si: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/laserjetIIISi: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/paintjet: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/paintjetXL300: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/quietjet: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/rmodel: $Revision: 80.1 $ */ PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/lp/model/thinkjet: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/lp.cat: None PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpana: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpana.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/cancel: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o cancel.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/disable: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o disable.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/enable: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o enable.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/lpstat: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpstat.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/accept: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o accept.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpfence: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpfence.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpmove: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpmove.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpshut: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpshut.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/reject: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o reject.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/lp: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lp.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/lpalt: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpalt.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lbin/rwrite: $Revision: 82.8.1.111 $ PATCH_11_00: ../hpux_rel.o rwrite.o 04/06/08 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpadmin: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpadmin.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/lpsched: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o lpsched.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/rcancel: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o rcancel.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/rlpdaemon: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o rlpdaemon.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/rlpstat: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o rlpstat.o 04/06/20 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/rlp: $Revision: 82.8.1.111 $ PATCH_11_00: hpux_rel.o rlp.o 04/06/20 cksum(1) Output: PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 483369663 35251 /usr/lib/lp/model/HPP405 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/PCL1 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2727027650 23719 /usr/lib/lp/model/PCL4 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/PCL5 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/colorlaserjet PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 140617486 46395 /usr/lib/lp/model/deskjet1200C PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/deskjet1600CM PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp2225a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp2225d PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp2227a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp2228a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp2631g PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2727027650 23719 /usr/lib/lp/model/hp33447a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/hp3630a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/hp5000c30 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2727027650 23719 /usr/lib/lp/model/hp5000f100 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3736213896 39055 /usr/lib/lp/model/hpC1208a PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3155102849 71817 /usr/lib/lp/model/hpd640 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2727027650 23719 /usr/lib/lp/model/laserjet PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/laserjet4 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/laserjet4Si PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/laserjet4v PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/laserjet5Si PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 271262146 51624 /usr/lib/lp/model/laserjetIIISi PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/paintjet PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 140617486 46395 /usr/lib/lp/model/paintjetXL300 PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/quietjet PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3478230145 5263 /usr/lib/lp/model/rmodel PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1439765765 6373 /usr/lib/lp/model/thinkjet PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3334616911 16330 /usr/lib/nls/msg/C/lp.cat PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3837630886 20480 /usr/sbin/lpana PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3490180093 45056 /usr/bin/cancel PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 850189013 28672 /usr/bin/disable PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 269112437 24576 /usr/bin/enable PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3501410147 53248 /usr/bin/lpstat PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3861193069 20480 /usr/sbin/accept PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 428880806 24576 /usr/sbin/lpfence PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 4092666783 36864 /usr/sbin/lpmove PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 4058462238 20480 /usr/sbin/lpshut PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3654522146 20480 /usr/sbin/reject PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2987165036 49152 /usr/bin/lp PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2434508568 45056 /usr/bin/lpalt PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2375286438 20480 /usr/lbin/rwrite PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3737500469 49152 /usr/sbin/lpadmin PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 1735942507 61440 /usr/sbin/lpsched PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2653655219 40960 /usr/sbin/rcancel PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3319872446 81920 /usr/sbin/rlpdaemon PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2228046768 40960 /usr/sbin/rlpstat PrinterMgmt.LP-SPOOL,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3506417818 32768 /usr/sbin/rlp Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_13361 PHCO_14781 PHCO_15616 PHCO_17032 PHCO_18074 PHCO_18866 PHCO_19484 PHCO_21224 PHCO_21611 PHCO_22365 PHCO_24700 PHCO_25110 PHCO_27132 PHCO_28320 PHCO_29208 Equivalent Patches: None Patch Package Size: 450 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_31016 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_31016.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_31016. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHCO_31016.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_31016.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_31016.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.