Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:cgeb:frontend_dep
lprng
LPRng-3.8.28.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File LPRng-3.8.28.diff of Package lprng
--- configure.in +++ configure.in @@ -1421,6 +1421,7 @@ AC_MSG_RESULT(using $SHELL (FORCED)) AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.12) dnl XX AC_MSG_RESULT([LIBS $LIBS, INTLLIBS $INTLLIBS]) dnl XX if test "${USE_NLS}" = yes; then @@ -1880,7 +1881,6 @@ src/Makefile src/pclbanner src/psbanner -po/Makefile.in ], [ for i in \ --- lpd.conf.SuSE +++ lpd.conf.SuSE @@ -0,0 +1,26 @@ +# See "man lpd.conf" for a list of options you can set here. +# check_for_nonprintable +# means the 'check_for_nonprintable' option default value is on or 1 +# To set it to OFF or 0, change this to read: +# check_for_nonprintable@ +check_for_nonprintable@ +client_config_file=/etc/lpd.conf +filter_ld_path=/lib:/usr/lib:/usr/X11R6/lib:/usr/local/lib +filter_path=/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/lib/filters:/usr/X11R6/bin +mail_operator_on_error=root +pr=/usr/bin/pr +printcap_path=/etc/printcap +# If you distribute your printcap entries through NIS, +# use the following line instead: +#printcap_path=|/usr/lib/yp/match_printcap +printer_perms_path=/etc/lpd.perms +server_config_file=/etc/lpd.conf +server_user=lp +user=lp +group=lp +# If your printer doesn't print the job remove the "@" from the following +# line. (for example necessary for HP4M with a JetDirect Card) +send_data_first@ +mc#0 +send_try#0 +max_connect_interval#10 --- lpd.perms.SuSE +++ lpd.perms.SuSE @@ -0,0 +1,2 @@ +# See "man lpd.perms" for a list of options you can set here. +DEFAULT ACCEPT --- man/lpd.conf.n +++ man/lpd.conf.n @@ -548,8 +548,12 @@ the send_failure_action value is used to determine what to do on failure. .TP \fBsend_try\fR (default: 3) -Numbers of times to try to send a job to the printer or remote host. -A 0 value means an infinite number of times. +Numbers of times to try to send a job to the printer or remote host. A +pause of +max(max_connect_interval, connect_interval*2^max(8, number of attempts - 1)) +seconds is inserted between consecutive attempts. +A 0 or/and a negative value means an infinite number of times, but +no pause is inserted for a negative value. .TP \fBsendmail\fR (default: "/usr/lib/sendmail -oi -t") If the argument is empty then all mail_related --- printcap +++ printcap @@ -1,3 +1,16 @@ +# /etc/printcap: printer capability database. See printcap(5). +# You can use the filter entries df, tf, cf, gf etc. for +# your own filters. See the printcap(5) manual page for further +# details. +# +# Default Postscript printer on "print-serv" +#lp|ps|postscript:\ +# :client:lp=postscript@print-serv +#lp|ps|postscript:\ +# :server:oh=print-serv:\ +# :sd=/var/spool/lpd/ps:\ +# :lp=/dev/lp1:\ +# :sh:mx#0 ## The Super Quick Guide to LPRng Printcaps ## Patrick Powell <papowell@lprng.com> ## Thu Nov 15 13:31:08 PST 2001 @@ -7,9 +20,9 @@ # The printcap entry below sets defaults. Add default options # or other entries here # -.common: - :sd=/var/spool/lpd/%P - :sh:mx=0:mc=0 +#.common: +# :sd=/var/spool/lpd/%P +# :sh:mx=0:mc=0 # # [Translation: # .common - the period (.) causes LPRng to treat this as a 'information --- rc.lpd +++ rc.lpd @@ -0,0 +1,154 @@ +#! /bin/sh +# Copyright (c) 1995-2000 SuSE GmbH Nuernberg, Germany. +# +# Author: Thorsten Kukuk <feedback@suse.de> +# +# init.d/lpd +# +# and symbolic its link +# +# /usr/sbin/rclpd +# +# System startup script for the lpd daemon +# +### BEGIN INIT INFO +# Provides: lpd +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network +# Default-Start: 2 3 5 +# Default-Stop: 0 1 4 6 +# Short-Description: Start lpd to allow printing +# Description: Start lpd to allow printing +### END INIT INFO + +LPD_BIN=/usr/sbin/lpd +test -x $LPD_BIN || exit 5 + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - misc error +# 2 - invalid or excess args +# 3 - unimplemented feature (e.g. reload) +# 4 - insufficient privilege +# 5 - program not installed +# 6 - program not configured +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signalling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting lpd" + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + + ## first run checkpc + # + checkpc -f + + # startproc should return 0, even if service is + # already running to match LSB spec. + startproc $LPD_BIN + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down lpd" + ## Stop daemon with killproc(8) and if this fails + ## set echo the echo return value. + + killproc -TERM $LPD_BIN -p /var/run/lpd.printer + + # Remember status and be verbose + rc_status -v + ;; + try-restart) + ## Stop the service and if this succeeds (i.e. the + ## service was running before), start it again. + $0 status >/dev/null && $0 restart + + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload) + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ## If it does not support it, restart. + + echo -n "Reload service lpd" + $0 stop + $0 start + rc_status + + ;; + reload) + ## Like force-reload, but if daemon does not support + ## signalling, do nothing (!) + + # If it supports signalling: + echo -n "Reload service lpd" + killproc -HUP $LPD_BIN + rc_status -v + + # If it does not support reload: + #exit 3 + ;; + status) + echo -n "Checking for lpd: " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Status has a slightly different for the status command: + # 0 - service running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running + + # If checkproc would return LSB compliant ret values, + # things could be a little bit easier here. This will + # probably soon be the case ... + rc_checkproc() { + checkproc $1 || { + test -e $2 && return 1 || return 3 + } + } + rc_checkproc $LPD_BIN /var/run/lpd.printer + rc_status -v + ;; + probe) + ## Optional: Probe for the necessity of a reload, + ## give out the argument which is required for a reload. + + test /etc/lpd.conf -nt /var/run/lpd.printer && echo reload + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit --- src/common/checkpc.c +++ src/common/checkpc.c @@ -579,12 +579,22 @@ } else if(!S_ISREG(statb.st_mode)) { WARNMSG("'%s' filter '%s' not a file", id, s); } else { - n = statb.st_mode & 0111; + n = statb.st_mode & 0777; if( !(n & 0001) && !((n & 0010) && statb.st_gid == DaemonGID ) && !((n & 0100) && statb.st_uid == DaemonUID ) ){ WARNMSG("'%s' filter '%s' does not have execute perms", id, s ); + if( Fix ) + { + if( statb.st_uid == DaemonUID ) n |= 0100; + else if( statb.st_gid == DaemonGID ) n |=0010; + else n |=0001; + + WARNMSG("setting perms of '%s' filter '%s' to '0%o'", id, s, n); + Fix_perms(s, n); + } + } } } --- src/common/fileopen.c +++ src/common/fileopen.c @@ -169,6 +169,12 @@ fd = tfd; } } + if (create) { + if (fchown(fd, DaemonUID, DaemonGID) < 0) { + LOGERR(LOG_ERR) "Checkwrite: fchown of '%s' failed", file); + status = -1; + } + } if( status < 0 ){ close( fd ); fd = -1; --- src/common/lpd_jobs.c +++ src/common/lpd_jobs.c @@ -2537,7 +2537,7 @@ if( device_fd < 0 ){ DEBUG1( "Printer_open: open '%s' failed, max_attempts %d, attempt %d '%s'", lp_device, max_attempts, attempt, Errormsg(err) ); - if( max_attempts && attempt <= max_attempts ){ + if( !max_attempts || attempt <= max_attempts ){ n = 8; if( attempt < n ) n = attempt; n = interval*( 1 << n );
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor