Patch-ID# 101317-25 Keywords: security y2000 lpnet lpsched lpr lpq lpNet lptest lpstat lprm lp.cat Synopsis: SunOS 5.3: lp patch Date: Jul/06/98 Solaris Release: 2.3 SunOS Release: 5.3 Unbundled Product: Unbundled Release: Topic: SunOS 5.3: lp patch BugId's fixed with this patch: 1044250 1070962 1098546 1100419 1101959 1111688 1115802 1115847 1119361 1120640 1128006 1128962 1129221 1129606 1135499 1136082 1136170 1137207 1137210 1137926 1137927 1139105 1139662 1140418 1140477 1141029 1141160 1141249 1141332 1141761 1141849 1141853 1141893 1141956 1142820 1143055 1143367 1143441 1143444 1143446 1143510 1143838 1144043 1144048 1144072 1144207 1144449 1144635 1145123 1145152 1145327 1145448 1145524 1145870 1146147 1146831 1146832 1147605 1147650 1147668 1147671 1147848 1148312 1148893 1149427 1149580 1149964 1151467 1151762 1152980 1153256 1153621 1153738 1154392 1155160 1156226 1156459 1157069 1157189 1157402 1157403 1158067 1158431 1158675 1158969 1159307 1160264 1160580 1161332 1161354 1161752 1162312 1162317 1163194 1163971 1165107 1167037 1168625 1169421 1169551 BugId's fixed with this patch: 1170808 1170857 1171055 1174175 1177184 1178138 1178451 1178530 1179396 1183524 1184931 1187515 1189176 1200103 1200306 1201425 1202237 1202891 1208295 1210044 1210216 1210760 1211026 1214993 1220835 1221750 1222271 1223153 1224086 1224549 1228202 1230941 1231385 1233047 1237991 1241998 1249064 1255967 1257405 1258376 1260585 1261137 1262253 1263668 1263675 1263686 4004517 4006868 4007891 4008193 4012285 4030199 4061499 4063076 4063506 4075350 4077613 4077986 4081706 4086199 4094908 Changes incorporated in this version: 4063506 4075350 4094908 Relevant Architectures: sparc Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /etc/lp/fd/postio.fd /etc/lp/fd/postior.fd /etc/lp/fd/catv.fd /etc/lp/fd/postpages.fd /etc/lp/fd/pr.fd /etc/lp/fd/postprint.fd /usr/bin/cancel /usr/bin/disable /usr/bin/enable /usr/bin/lp /usr/bin/lpstat /usr/lib/lp/bin/lp.tell /usr/lib/lp/bin/lp.cat /usr/lib/lp/lpsched /usr/lib/lp/lpNet /usr/lib/lp/model/standard /usr/lib/lp/postscript/dpost /usr/lib/lp/postscript/postio /usr/lib/lp/postscript/postreverse /usr/lib/lp/bin/lp.cat /usr/sbin/accept /usr/sbin/lpadmin /usr/sbin/lpfilter /usr/sbin/lpforms /usr/sbin/lpmove /usr/sbin/lpshut /usr/sbin/lpsystem /usr/sbin/lpusers /usr/sbin/reject /usr/ucb/lpq /usr/ucb/lpc /usr/ucb/lpr /usr/ucb/lprm /usr/ucb/lptest Problem Description: 4094908 anonymous print service does not work properly 4075350 lp.tell loops tightly consuming 20% CPU printing stalled for that printer 4063506 lpsched goes into poll-loop requiring restart (from 101317-24) 4081706 2.5.1: current job can't be cancelled (no more paper in the printer) 4077986 lpsched FLIST option should not contain a space 4077613 Unable to print file to remote queue when user has secondary group access 4063076 lpsched core dumps at start or on the normal operation 1221750 lprm from 5.4 print client fails when print job id is less than 100 4086199 lpsched aborts after issued "You must be "lp" or "root" to run this program" (from 101317-23) 4061499 several lp filter definitions have a security problem 4022904 can't open spool file "/var/spool/lp/tmp/.net/machine/number-1" with protocol lpd 4049134 103959-03 introduces new bug - can't pass SVR4-Extensions tojetadmin 4061420 An alert (mail) is send evenafter a fault is restored 4061486 SECURITY: auscert 12684, client can gain access to server without an account (from 101317-22) 4030199 Standard printer interface program script hard coded to century 19. (from 101317-21) 4012285 nonexistent remote printer causes lpNet loop & fills log file 1257405 Print system treats jobs from NT as submitted by root 1262253 Control file contains incorrect data file name when printing more than one file 4006868 lpstat -p command exhausts system memory if options are used incorrectly 4007891 printjobs are hanging in the queue 1255967 PCNFSPRO LPD print server hungs randomly 4008193 interface program inserts ^m before %!PS-ADOBE - Jobs look like ASCII to printer (from 101317-20) 1241998 lpsched hangs at random times and has to be killed 1249064 lpsched hangs with PC-NFS clients 1233047 lp doesn't consider the secondary group of a user to print to a local printer 1257405 Print system treats jobs from NT as submitted by root 4004517 lpstat, lpq hangs in environment with many remote printers configures (from 101317-19) 1260585 lpNet core every 30 seconds in s_get_status with 101959-06 installed 1258376 lpNet core, when executing get_status() 1237991 debug lpsched crashes in mwrite printing to remote printers on Microplex boxes 1261137 lpNet logfile produces error messages: < hostname> NAKed by remote lpd 1263668 lpsched and lpNet log files have userid/machine name in build info 1263675 To comply with RFC 1179 (l flag), remove catv filter option 1263686 Using freed MESG structures causing lpsched to core dump (from 101317-18) 1230941 job processed incorrectly from Windows NT to SPARCprinter E on Solaris 5.4 1231385 Solaris 2.X print server does not accept control file from Computerm BSD client 1228202 lpsched dies intermittently with signal 11 and core dumps 1210760 lpsched dies when SIGTHAW is sent to it. 1214993 /usr/ucb/lpr -C can not print '-' character on burst page going to a remote prt 1223153 spooldir on printclient gets full if the spooldir on the printserver is to smal 1224549 If lpr(1B) is passed -C, -T, or -J without any arguments it core dumps 1221750 lprm from 5.4 print client fails when print job id is less than 100 (from 101317-17) 1202891 request creation failed (cf: 0 bytes) when printing over network 1220835 print jobs from a PC running chameleon software will not print under solaris 2. (from 101317-16) 1210216 lp will print any file 1224086 security problem in lp subsystem allows client user to have euid of lp 1222271 lpr -i does not produce indentation 1210044 Printer Patch 101317-12 will not install via jumpstart (from 101317-15) 1208295 lpsched die w. signal 11 and appears to be increasing the cpu utilization. 1211026 lpstat -t makes the system dead, specially at network printing under Solaris 2.4 1200306 NeWSprint doesn't accept job from bsd clients with type 'l' data 1202237 lp filter "postpages" specifies wrong input type, is unusable 1201425 Permission denied when lp cron job tries to copy lpsched and lpNet files (from 101317-14) 1200103 lpr -l does not work with Sol2.4 and Sol 2.3 w/101317-12 1187515 Print jobs are lost when sent to HP Laserjet 3si with Patch T101317-12. (from 101317-13) 1189176 Print job from Window NT to solaris 2.3 print server can't save the request (from 101317-12) 1174175 lpstat returns incorrect info on S2.3 clients when duplicate request ID exists 1184931 overlapping print jobs can get corrupted 1183524 lpNet does not understand classes using BSD protocol 1178530 Print queue hangs when printing to HP Laserjet III in PostScript mode 1179396 lp daemon endlessly poll trying to get the status of a pc's printer (from 101317-11) 1178451 lpsched dumps core after canceling all job for unavailable remote printer 1178138 "paper out" error-handling via "bpp" under Solaris 2.3 on SS1000 1177184 lpadmin -p foo -f deny:all may report errors (from 101317-10) 1165107 BSD print options not passed to print server with Solaris 2.3 1167037 postreverse produces erroneous output on .ps file produced by ditroff 1168625 client spool dirs fill up when using the s5 protocol 1115847 "ux: lp: error: there is no filter to convert the file content." not helpful 1119361 lpsystem quirk when changing system type from "bsd" to "s5" 1120640 lp -o nobanner overrides lpadmin -p -o banner 1128962 files in /var/lp/logs are writable by every one. 1145524 lp commands "lpsystem", "lpadmin" and "accept" do not return proper return codes 1147605 lpadmin's "-c" option is not behaving uniformly 1169421 dpost exits with error message 1169551 bpp port handles error conditions differently than a serial port 1148312 "lpadmin -f" switch returning inconsistent error codes between allow & deny 1171055 'lpadmin -p' gives no error message 1170857 lp print client spooling large numbers of jobs will run out of request id's 1129221 lpr -p from 4.x to 5.x doesn't invoke pr 1170808 Postreverse dumps core if input file does not exist This is an LP patch. It includes fixes for several bugs including allowing more than 1000 jobs to queue from a print client, having lpsched do better cleanup of spooling directories, better parallel printer support, and a variety of other things. (from 101317-09) 1163971 only 1st 9 jobs appear in the queue This patch fixes the following bugs: 1163971 only 1st 9 jobs appear in the queue (from 101317-08) 1163194 specify -onobanner causes print job to 4.x to fail This patch fixes the following bugs: 1163194 specify -onobanner causes print job to 4.x to fail (from 101317-07) 1161354 nonexistent remote printer causes lpNet loop & fills log file 1157402 empty Systems file causes lpsched segv 1157403 bad /var/spool/lp/temp symlink causes lpsched segv 1158431 lpsched can randomly segv 1158675 lpsched gets SEGV in freerstatus() after printing job 1158969 implement changes outlined in fast-track psarc/1994/095 1159307 mail notification bounces 1158067 Using lprm as root does not work correctly on Solaris2.X. 1161332 troff command and piping to dpost causes core 1153738 lpmove doesn't work 1161752 print jobs get lost when submitted from 5.4 client to 4.X server 1162312 lpNet memory leak 1160580 lpq doesn't know about printer classes 1162317 the LP system doesn't handle postscript docs from pc apps properly 1160264 A print job sent by eroff is printed forever. 1157189 printing to a named pipe using lp causes system hang This patch fixes the following bugs: 1161354 nonexistent remote printer causes lpNet loop & 1157402 empty Systems file causes lpsched segv 1157403 bad /var/spool/lp/temp symlink causes lpsched s 1158431 lpsched can randomly segv 1158675 lpsched gets SEGV in freerstatus() after print 1158969 implement changes outlined in fast-track psarc/ 1159307 mail notification bounces 1158067 Using lprm as root does not work correctly on S 1161332 troff command and piping to dpost causes core 1153738 lpmove doesn't work 1161752 BSD protocol extension messages are getting sent 1162312 lpNet memory leak 1160580 lpq doesn't know about printer classes 1162317 the LP system doesn't handle postscript docs from 1160264 A print job sent by eroff is printed forever. 1157189 printing to a named pipe using lp causes system (from 101317-06) 1154392 'lpstat -o all' does not show jobs sent to a printer class 1156459 when printing to a class, special forms are ignored 1156226 lpNet can loose print jobs when receiving them from a 4.X/BSD system 1157069 Setting up two printers to use the same device doesn't work, jobs get mixed This patch fixes the following bugs: 1154392 lpstat -o all' does not show jobs sent to a pri 1156459 when printing to a class, special forms are ign 1156226 lpNet can loose print jobs when receiving them 1157069 Setting up two printers to use the same device (from 101317-05) 1152980 lpnet/lpsched botches up cf file when printing lots of files 1153256 lpNet overwrites existing print job with same job id in spool directory 1153621 changed print priorities will not take effect until lpsched has been restarted 1155160 when printing using forms, jobs from BSD clients print on any form This patch fixes the following bugs: 1152980 lpnet/lpsched botches up cf file when printing lots of files 1153256 updated recvjob, to correct request ID collisions 1153621 updated so end_chage reorders requests if priority changes 1155160 when printing using forms, jobs from BSD clients print on any form (from 101317-04) 1149427 lpsystem creates system with default threshold of 0 1149580 lpNet doesn't report some error information 1146832 the lp code has some serious problem that lint reports 1149964 error msg can cause command to segv on intel 1144207 lpstat causes system hang 1147848 lpNet dumps core/doesn't recover from TLI state change errors 1147650 lpstat -p -l dumps core 1147671 Spooler doesn't handle request-id collisions well; overwrites the older request. 1141893 postreverse often totally screws up 1147668 lpc clean doesn't clean all jobs in the queue. 1148893 lpNet logs connection/disconnect which can fill a filesystem 1151467 lpstat -t doesn't report the correct state (enable/disable) of printer. 1146831 parallel postscript printing support only works on bpp devices 1151762 lpsched auto-retry timeout is too long... 1146147 0 length files are left around in /var/spool/lp/tmp/ This patch fixes the following bugs: 1149427 lpsystem should create a system with the defa 1149580 lpNet doesn't report some error information 1146832 the lp code has some serious problem that lint 1149964 error msg can cause command to segv on intel 1144207 lpstat causes system hang 1147848 lpNet dumps core/doesn't recover from TLI st 1147650 lpstat -p -l dumps core 1147671 Spooler doesn't handle request-id collisions we 1141893 postreverse often totally screws up 1147668 lpc clean doesn't clean all jobs in the queue 1148893 lpNet logs connection/disconnect which can fill 1151467 lpstat -t doesn't report the correct state (ena 1146831 parallel postscript printing support only works 1151762 lpsched auto-retry timeout is too long... 1146147 0 length files are left around in /var/spool/lp (from 101317-03) This patch corrects a typo in the SUNW_PATCHID field in the pkginfo file in 101317-02 (from 101317-02) 1145448 too many print jobs can hang around and make /var very full 1145870 lpsched sends unnecessary work across net when multiple printers 1144043 lpNet will not accept a BSD print job if datafile is not sent first 1144449 disable(1M) doesn't fully disable printing from a print client. 1145327 lpNet hangs causing queue backup 1145152 status queries get queued when they shouldn't 1141849 lp xxx; rm xxx hangs lp system 1145123 lpNet can fial to connect to remote and cause request to never xfer 1142820 when using lp -H hold for remote printers, the held jobs don't show up 1144635 lpstat does not report when LaserWriter status This patch collects all of the lp bug fixes that have been made to date. This patch fixes a number of problems when printing with PC-NFS. This patch fixes a number of bugs that can cause lpsched to segv. If the print server already has a postscript printer configured, then the new standard interface script should be copied in place of the existing interface script. For example, if the printer is named xyz, then once the patch is installed, the standard interface script, /usr/lib/lp/model/standard, should be copied to /etc/lp/interfaces/xyz. Each printer will have a copy of the standard interface script in /etc/lp/interfaces, so a copy will need to be made for each printer. (from 101317-01) 1141029 lpsched crashed with "unexpected signal 11" 1135499 job forwarding causes lpsched abort 1137207 lpstat doesn't work well when remote printer doesn't exist 1137927 lpstat -o print status after printer removed 1100419 lpsched: very inefficient polling 1137926 can't remove system after connection established 1136082 lpsystem fails when modifying server type 1101959 Give no filter-name to"lpfilter -f" option doesn't receive proper error message 1098546 fix error message from cancel with no arguments 1139105 LP doesn't transfer jobs to remote when printer has '-' in it's name 1115802 canceling a 5.x job from a 4.x client sends an e-mail warning 1137210 lp -n X prints X copies of a document uncollated 1128006 BSD lpr commands don't know about printer classes 1044250 lpc crashes with segmentation fault 1070962 cancel -u can not clean up the printing queue completely 1129606 lp cancels requests for no apparent reason 1140418 lpadmin doesn't remove all files when deleting printer 1140477 get printer idle when using bsd proto and remote spooler is down 1141160 job transmission error cause lpNet to loop.. 1141332 lpq doesn't work when print server is PC-NFS server 1141761 lpsched can hang after cancel pc-nfs print job 1141956 lpsched can segv after adding printer 1139662 LP system doesn't pass filenames back on status inquiries 1143441 lpsched leaks memory and accesses garbage 1143444 lpsched backlogs unnecessary work when a remote print server is down 1143446 lpstat -p name can cause lpsched to segv when pending lpstat 1143510 Intermittent delays while printing to a BSD print server. 1143055 the "all" keyword for lpadmin printer access does not work. 1143838 job-ids over 999 cause problems 1141249 lpstat hangs when lpshut during a job 1144048 using BSD protocol to non-BSD based systems can cause lpsched to segv 1144072 lpstat -o can hang 1111688 Messaging in LP package commands needs overhaul. Patch Installation Instructions: -------------------------------- Refer to the Install.info file within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. Any other special or non-generic installation instructions should be described below. Special Install Instructions: ----------------------------- NOTE1:Before installing this patch, stop lpsched. After patch is installed, before restarting lpsched,in order to get the log file mode fix, remove the lpsched and lpNet log files from /var/lp/logs. After installing this patch on a print server, one should re-add any filter definitions that have changed. The following script can be used to do this task: #!/bin/sh cd /etc/lp/fd for filt in *.fd do fname=`basename $filt .fd` lpfilter -f $fname -x lpfilter -f $fname -F $filt done