Patch-ID# 105411-05 Keywords: security SSPC lpsched lpNet pr.fd lp filter cf print chameleon SIGTHAW Synopsis: SunSoft Print Client (SSPC) 1.0_x86: product patch Date: Apr/01/99 Solaris Release: 2.4_x86 2.5_x86 2.5.1_x86 SunOS Release: 5.4_x86 5.5_x86 5.5.1_x86 Unbundled Product: SSPC Unbundled Release: 1.0 Xref: This patch is available for SPARC as patch 104734 Topic: SunOS 5.X_x86: SSPC patch NOTE: This patch will not install on systems with Solaris bundled LP support installed. If you have the bundled printing software installed, you will need to install the equivalent LP Patch for the revision of Solaris you are running. BugId's fixed with this patch: 1141371 1201425 1202891 1210216 1210760 1214993 1217868 1218803 1219227 1220835 1221750 1222271 1223153 1224086 1224549 1224733 1225686 1228202 1229964 1230941 1231385 1232224 1233047 1235067 1237991 1238186 1240323 1241774 1241825 1248960 1252516 1252748 1253522 1253541 1253698 1253699 1254162 1254621 1254916 1254921 1255389 1255403 1255411 1255963 1255967 1255979 1256222 1256385 1256698 1256783 1257405 1258376 1260585 1261137 1262253 1262471 1263675 1263686 1264627 1265583 1265911 4006868 4007891 4008193 4009068 4010054 4010066 4010292 4010526 4010533 4010538 4010749 4010795 4011018 4011239 4011271 4011402 4012285 4012519 4012539 4013980 4014614 4016444 4017103 4018109 4022262 4022768 4022904 4026529 4027122 4030018 4030025 4030199 4030259 4032801 4033407 4033938 4039831 4042170 4044544 4048669 4050281 4050603 4054622 4055547 4056561 4059204 4061420 4061486 4061499 4063506 4086199 4109721 4119457 4154946 4186404 4085677 4091834 4196804 Changes incorporated in this version: 4186404 4085677 4091834 4196804 Relevant Architectures: i386 NOTE:ix86 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/catv.fd /etc/lp/fd/postio.fd /etc/lp/fd/postior.fd /etc/lp/fd/postpages.fd /etc/lp/fd/postprint.fd /etc/lp/fd/pr.fd /usr/bin/cancel /usr/bin/lp /usr/bin/lpget /usr/bin/lpset /usr/bin/lpstat /usr/lib/libprint.so.2 /usr/lib/lp/bin/lp.cat /usr/lib/lp/bin/lp.tell /usr/lib/lp/local/lp /usr/lib/lp/local/lpadmin /usr/lib/lp/local/lpstat /usr/lib/lp/lpNet /usr/lib/lp/lpsched /usr/lib/lp/model/standard /usr/lib/lp/postscript/postio /usr/lib/lp/postscript/postprint.ps /usr/lib/print/Makefile.yp /usr/lib/print/conv_fix /usr/lib/print/conv_lp /usr/lib/print/conv_lpd /usr/lib/print/upgrade_fix /usr/lib/print/fonts.tar.Z /usr/sbin/accept /usr/sbin/lpadmin /usr/sbin/lpmove /usr/sbin/lpsystem /usr/ucb/lpc Problem Description: 4186404 Patch install cause default printer not to be read. 4085677 'lpstat -o' displays jobs of other queues 4091834 Spooler prints control-file at double request-id's instead datafile 4196804 *lpstat* -o reports wrong job names (from 105411-04) 4063506 lpsched goes into poll-loop requiring restart 4086199 lpsched aborts after issued "You must be "lp" or "root" to run this program" 4109721 lpstat doesn't report the correct default printer 4119457 *printd* follows symlinks and this can overwrite files 4154946 *lp* security bug - can read/write files submitted by another user (from 105411-02) 1141371 Need 76.8k baud rate support. (on Solaris 2.5 or better) 1201425 Permission denied when lp cron job tries to copy lpsched and lpNet files 1202891 request creation failed (cf: 0 bytes) when printing over network 1210216 lp will print any file 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 1217868 -w option for lp command does not work 1218803 lpstat shows remote printer names instead of the local names 1219227 conv_lpd doesn't handle continued lines properly 1220835 print jobs from a PC running chameleon software will not print under solaris 2. 1221750 lprm from 5.4 print client fails when print job id is less than 100 1222271 lpr -i does not produce indentation 1223153 spooldir on printclient gets full if the spooldir on the printserver is too small 1224086 security problem in lp subsystem allows client user to have euid of lp 1224549 If lpr(1B) is passed -C, -T, or -J without any arguments it core dumps 1224733 The upgrade script does not upgrade the FNS pkgs to the correct ones. 1225686 postio and lp.cat need support for IEEE 1284 Parallel Port driver (on Solaris 2.5.1) 1228202 lpsched dies intermittently with signal 11 and core dumps 1229964 SSPC: needs to replace /usr/lib/font/devpost/ files (pkgrm SUNWlps deletes them) 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 1232224 lpset failed to push the new printer name in NIS, on a 5.x server 1233047 lp doesn't consider the secondary group of a user to print to a local printer 1235067 lp -o doesn't pass multiple options or modes to server 1237991 debug lpsched crashes in mwrite printing to remote printers on Microplex boxes 1238186 lpNet will not accept a BSD print job if datafile is not sent first 1240323 SSPC/s lpstat -t core dumps 1241774 Cannot print files to Apple LaserwriterII via serial port in solaris2.5.1 1241825 methods called by print manager fail on any little thing, inconsistent 1248960 system goes nuts when lbolt wraps after running for a long time 1252516 Solstice Print Client does not handle "as printers" properly, CTE#505861 1252748 executing /usr/ucb/lpc on a sun4u results in a bus error and a core dump 1253522 lpadmin(1M): does not flag error on non-existent printer. 1253541 lpstat(1): outputs extraneous blank lines. 1253698 lpstat: frequently fails to return error exit values 1253699 lpadmin(1M) with -x all is not recognized 1254162 _default appears instead of real name in lpstat -p and lp output 1254621 lpstat prints extraneous information 1254916 reject: does not return error return/usage for nonexistent/undefined printer 1254921 lpstat: -s does not display mounted forms 1255389 lplite print to HPUX results in 0 length control file 1255403 when executed as super-user /usr/ucb/lprm - fails to clear spool 1255411 the usage line for /usr/ucb/lprm does not match the man page 1255963 /usr/ucb/lpr with -s option makes a copy of print file in the spool directory 1255967 PCNFSPRO LPD print server hungs randomly 1255979 /usr/ucb/lpr with option -i does not work 1256222 /usr/ucb/lpr puts jobs into the print queue even when printer queue is off 1256385 accept does not accept class as a destination 1256698 lpstat core dumps easily with bogus .printer contents 1256783 Problems with SunSoft Printclient and the output from lpstat -t 1257405 Print system treats jobs from NT as submitted by root 1258376 lpNet core, when executing get_status() 1260585 lpNet core every 30 seconds in s_get_status with 101959-06 installed 1261137 lpNet logfile produces error messages: < hostname> NAKed by remote lpd 1262253 Control file contains incorrect data file name when printing more than one file 1262471 root cannot delete a print job from the lp queue 1263675 To comply with RFC 1179 (l flag), remove catv filter option 1263686 Using freed MESG structures causing lpsched to core dump 1264627 SIGHUP to lp/lpr/printd causes job not to transfer. 1265583 lpadmin/lpset doesn't always run when user in sysadmin group 1265911 bogus printer on client causes print server to hang 4006868 lpstat -p command exhausts system memory if options are used incorrectly 4007891 printjobs are hanging in the queue 4008193 interface program inserts ^m before %!PS-ADOBE - Jobs look like ASCII to printer 4009068 lpstat -t displays one name per printer tho the printer may have multiple names 4010054 lpadmin: -U option still offered as valid option 4010066 lpadmin: some error messages are written to stdout instead of stderr 4010292 lpadmin: -d option should not require an argument 4010526 lpstat: -s and -t give no output unless printers are configured 4010533 reject: multi-word reasons are not accepted with -r option 4010538 lpstat: -o does not accept properly formatted lists 4010749 lpstat causes syslog message : xdr_string out of memory 4010795 lpadmin: cannot explicitly delete printer classes 4011018 lp: -n with invalid negative argument causes command to hang 4011239 lp -d alias doesn't work for local printers 4011271 lp: cannot submit job to a printer class 4011402 lpstat core dumps on remote job queue when printer disabled 4012285 nonexistent remote printer causes lpNet loop & fills log file 4012519 /usr/lib/lp/postscript/postprint functionality of y coordinate broken 4012539 Mutex lock error when starting multiple admintools / selecting 4013980 cannot print from viewmaster; files left in /var/spool/print 4014614 An alert (mail) is send even after a fault is restored 4016444 lpadmin -x : does not flag error on non-existent printer. 4017103 -T option to lp is not passed on to BSD printer 4018109 cancel: Does not warn if non-existent request-ids specified 4022262 lp : ignores the system default printer and the PRINTER environment variable 4022768 lpstat -d and lpq core dump when entry in $HOME/.printers is posix name 4022904 can't open spool file "/var/spool/lp/tmp/.net/machine/number-1 with protocol lpd 4026529 lpadmin -x deletes all /etc/printers.conf entries when it should not 4027122 lpstat -a always reports as accepting 4030018 lpmove: ANY user can move ANY jobs between printers 4030025 lp: users can modify other users' job request options. 4030199 Standard printer interface program script hard coded to century 19. 4030259 lpadmin: 'all' printers not recognized with -A option 4032801 lpadmin -x : class is not deleted if only member of class is deleted 4033407 lpmove does not move a print job 4033938 Buffer overrun security hole in lp and lpr 4039831 lpadmin -p -r does not delete class if printer was last entry 4042170 string_to_bsd_addr should not be a private variable 4044544 lp -dprinter causes error 4048669 lp -o generates wrong extension 4050281 several lp filter definitions have a security problem 4050603 lpadmin -x : Returns error code when it shouldn't 4054622 Limit the User input for the fields 4055547 behavior of lpr has changed 4056561 continual SIGPIPE messages from lp or printd 4059204 lp can allow user to gain root access 4061420 An alert (mail) is send even after a fault is restored 4061486 SECURITY: auscert 12684, client can gain access to server without an account 4061499 several lp filter definitions have a security problem 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: ----------------------------- 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 To install patch on a 2.5 diskless client (homogeneous systems): 1. install the patch on the server 2. install the patch on the client and ignore the /usr errors (/usr/mounted read only. /usr portions of patch installed by server patch install) If the client install fails due to patched packages not present, re-install client SSPC on server: As root, 1. If installed, remove lp packages SUNWlps, SUNWlpu and SUNWlpr from diskless client root: pkginfo -R /export/root/ | egrep 'SUNWlps|SUNWlpu|SUNWlpr' Remove each of the SUNWlps, SUNWlpu and SUNWlpr packages that are listed on the pkginfo: pkgrm -R /export/root/ package_name 2. install SUNWfns and SUNWfnspr on diskless client root: pkgadd -d 25_package_path -R /export/root/ SUNWfns SUNWfnspr 3. On diskless client root, install SSPC packages: SUNWpcr SUNWpcu SUNWpsf SUNWscplp SUNWspman SUNWpsr SUNWpsu: cd sspc_directory/components pkgadd -d `pwd` -R /export/root/ SUNWpcr SUNWpcu SUNWpsf \ SUNWscplp SUNWspman SUNWpsr SUNWpsu 4. Install patch on server: cd patch_directory ./installpatch `pwd` 5. Install diskless client patch on server: ./installpatch -R /export/root/ `pwd` 6. If printing to be done from server, restart lpsched on server: sh /etc/init.d/lp start 7. Reboot the client