lpd.conf - configuration file for the LPRng line printer spooler system
DESCRIPTION
The file lpd.conf is used to provide configuration infor
mation for the LPRng Printer spooler system and defaults
for printcap information. Leading spaces on lines are
ignored, and blank lines and lines whose first nonblank
character is a sharp (``#'') are ignored. Trailing blanks
and tabs (whitespace) for an option value are deleted
unless the last one is escaped with a backslash (``\'').
All other lines specify parameters and should be of the
following form:
keyword
keyword@
keyword#value
keyword=value
Note that these values are the same format as printcap(5)
values. Values in the configuration can contain host or
machine dependent information; to assist with this, the
following escape sequences in the configuration informa
tion are replaced as follows:
%h the short form of the host name (i.e.- non fully
qualified).
%H the fully qualified host name.
%a the abbreviated architecture name, sun4, sol2,
hpux, aix, irix5, etc. This value can be set using
the architecture keyword in the configuration file
and is set to a default value at compile_time.
%P the printer name from the printcap entry (see
below).
%R the remote printer name from the printcap entry.
%M the remote host name from the printcap entry. This
is truncated to the short host name.
For example, on host dickory.sdsu.edu, the strings
short=%h long=%H arch=%a would be expanded as short=dick
ory long=dickory.sdsu.edu arch=sun4 .
The P, R, and M tags are provided for use with combined
configuration and printcap information. These values are
not expanded when the printcap information is initially
processed, and can be used only in a limited number of
printcap or other entries. Currently only the printcap
:sd: (spool directory) and :forward_server: (forward
server) entries use these.
Some of the following paramters take lists of files or
directories. Unless otherwise explicitly stated, these
lists can be separated by commas (,), semicolons (;), or
colons, (punctuation) and possibly tabs or spaces (whites
pace) as well.
Keyword names can use either underscores (_) or hyphens
(-) in their names, but the underscore is preferred.
include (no default)
This can be used to include files into the lpd.conf
file. The include file parameter can be a punctua
tion or whitespace separated list of files; the
files must have absolute pathnames and must be
readable.
ae (default: "jobend $H $n $P $k $b $t")
This specifies either a script or a filter to be
invoked at the send of a job for accounting pur
poses. See as for the matching accounting at
start, and the printcap(5) and lpd(8) man pages for
details.
allow_getenv (default: "LPD_CONF")
This option specifies an enviorinment variable
whose value is a configuration file. Use of this
is restricted to test purposes, and SUID ROOT
client and server will not run when the variable is
enabled.
ar (default: yes)
See printcap(5) for details.
architecture
The default value is set at compile time and can be
overwritten with this parameter. The default value
of this parameter is set at compile time and it is
used when expanding the special sequence %a in
pathname and filename strings in this config file.
auth (default: NULL)
Authentication type to be used for client to server
communication.
auth_client_filter (default: NULL)
Program to be used for client to server communica
tion.
auth_forward (default: NULL)
Authentication type to be used for server to server
communication.
Program to be used for server to server communica
tion.
auth_forward_id (default: NULL)
Authentication id of remote server for server to
server communication.
auth_receive_filter (default: NULL)
Program to be used by server receive server or
client communication.
auth_server_id (default: NULL)
Authentication id of originating client or server.
as (default: "jobstart $H $n $P $k $b $t")
See as.
bk (default: no)
See printcap(5) for details.
bk_filter_options
(default: "$P $w $l $x $y $F $c $L $i $J $C $0n $0h
$-a") If the "bkf" (backwards compatible filter)
flags is set in the printcap entry and the original
filter specification does not have a `$` in it,
this option string is appended to a filter specifi
cation, and the string expanded with values from
the printcap information and job information. (see
of_filter_options, filter_options, bk_fil
ter_options, bk_of_filter_options)
bk_of_filter_options
(default: "$w $l $x $y") If the "bkf" (backwards
compatible filter) flags is set in the printcap
entry and the original filter specification does
not have a `$` in it, this option string is
appended to the OF filter specification, and the
string expanded with values from the printcap
information and job information. (see of_fil
ter_options, filter_options, bk_filter_options,
bk_of_filter_options)
check_for_nonprintable (default: "")
(Used by LPR) check f and p formats for non_print
able characters unless -b (binary) or -l (literal)
command_line option is supplied. Note that files
containing HPGL or other printer control languages
would often be classed as ``non_printable''.
connect_grace (default: 0 seconds)
The time to pause before opening a new connection
to a printer. This allows the printer time to
recover from the previous job.
The time to pause after a failed connection or open
of the printing device before attempting a new con
nection or open.
connect_timeout (default: 10 (seconds))
The time to wait for a device open or connection to
complete. A zero value is infinite timeout.
retry_nolink (default: true)
When TRUE and the LPD server is printing or trans
fering a job, then an indefinate number of attempts
to connect to or open the IO device will be made.
default_banner_printer (default: "")
The default banner printer program to be used for
printing banners. This should be specified in the
LPD configuration file.
default_format (default: "f")
Default format for printing jobs.
default_logger_port
(default: 2001) specifies a default port number for
logger information. See logger_destination for
details.
default_logger_protocol
(default: UDP) specifies a default protocol for
logger information. See logger_destination for
details.
default_permission (default: ACCEPT)
Default permission for operations.
default_printer (default: "")
The default printer to use if there is no PRINTER
environment variable, the user has not specified a
printer, or there is no printcap information.
default_priority (default: "A")
Default priority (class) for printing jobs. This
is also used as the job class.
default_remote_host (default: "%H")
The default remote host to use.
default_tmp_dir (default: /tmp)
Directory for temporary files.
domain_name (default: "")
This parameter is optional, and is appended to the
hostname to make it into a fully_qualified domain
name, ie. class.iona.ie. It will only be used if
other means, such as gethostbyname(3n).
ff (default: \f)
Formfeed string.
filter_ld_path
(default: /lib:/usr/lib:/usr/5lib:/usr/ucblib) The
value for the environment variable LD_LIBRARY_PATH,
both used when executing, and passed on to filters.
This variable is used to find shared libraries on
SunOS, Solaris and Linux.
filter_options
(default: "$C $F $H $J $L $P $Q $R $Z $a $c $d $e
$f $h $i $j $k $l $n $p $r $s $w $x $y $-a") If the
"bkf" (backwards compatible filter) flags is not
set in the printcap entry and the original filter
specification does not have a `$` in it, this
option string is appended to a filter specifica
tion, and the string expanded with values from the
printcap information and job information. (see
of_filter_options, filter_options, bk_fil
ter_options, bk_of_filter_options)
filter_path
(default:
/bin:/usr/bin:/usr/ucb:/usr/sbin:/usr/etc:/etc) The
value for the environment variable PATH, both used
to find filters and passed on to filters run by lpd
and lpr.
force_poll (default: no)
Some software packages put print jobs directly into
the spool queues. The force_poll flag forces lpd
to periodically poll spool queues looking for jobs
and no server. The poll_time variable sets the
interval between polls.
full_time (default: no)
Use full time and date format in logging and error
messages.
fx (default: "")
See printcap(5) for details. This specifies the
job formats allowed for this queue.
group (default "daemon")
The group to use for file ownership and process
permissions. Used only by lpd; this can be the
name of a group or a number. All filters will run
as the specified group. Note that if the group
value is 0, then the real user group of the process
at startup will be used.
The keytab file to be used by the LPD server when
using built-in kerberos authentication. The keytab
file should be owned by the LPD server, and be
readable/writable only by it (i.e. - 600 permis
sions).
kerberos_life (default NULL)
The lifetime of a Kerberos ticket. NULL selects
the default lifetime. Time should be specified
using the standard Kerberos time representations.
kerberos_forward_principal (default NULL)
remote principal used by server when forwarding
kerberos_renew (default NULL)
The renewal of a Kerberos ticket. NULL selects a
non-renewable ticket. Time should be specified
using the standard Kerberos time representations.
kerberos_server_principal (default "lpr")
Server principal used when client sending to server
or when server is originating connection to another
server for forwarding.
kerberos_service (default "lpr")
The service name used to make requests to the LPD
server when using kerberos authentication. For
example, if kerberos_service has the value lpr, the
server is on host alpha.com, and the kerberos
domain is ALPHA.COM, then the kerberos principal
name would be:
lpr/alpha.com@ALPHA.COM.
la (default: yes)
See printcap(5) for details.
lf (default: log)
Name of the log file.
lo (default: lock)
Name of the lock file.
localhost
(default "localhost") The name of the localhost
entry to be used for the TCP/IP loopback interface.
The TCP/IP connection may originate from the local
host; use this name to check to see if the local
host address is in the IP address database, and use
it as the origination address for local connec
tions. This is done to avoid problems with multi-
homed hosts who originate connections from differ
ent interfaces.
The file used to indicate the presence of an lpd
server running on the host. The lpd_port value is
appended to the lockfile value to provide a unique
lockfile even when different versions of LPRng are
running on the same system.
logger_destination
(default: "") This specifies a destination for log
ger information generated by the lpd server. The
formation of the destination specification is
host[%port][,(TCP|UDP)]. For example, local
host%2001,UDP would send logger information to the
localhost IP address, on port 2001 using the UPD
protocol. The default port and protocol are set by
the default_logger_port and default_logger_protocol
configuration variables respectively.
longnumber
(default: no) RFC1179 requires 3 digit job numbers;
setting longnumber to yes allows 6 digit numbers.
If the backwards_compatible flag is set, only 3
digit numbers will be used.
lpd_port (default: printer) [ipaddr%]port
The port that lpd binds to, and that lpr and the
other client programs send their requests to. The
specification has the format ipaddr%port. If the
ipaddress is specified then a bind to only this
address and port is done. If the port value is not
a number a service lookup is performed and the cor
responding service port is used; see services(5).
This parameter is useful for debugging a new
installation of LPRng, in that running LPRng on a
different port from the default will not interfere
with a previous installation of LPD or LPRng.
lpd_printcap_path (default:
"/etc/lpd_print cap:/usr/etc/lpd_printcap")
The location of additional lpd server printcap
database information. This list is searched after
the printcap_path list is searched. See PRINTCAP
LOOKUP for details.
mail_operator_on_error (default: "")
Put this person on the CC-list of the mail, if it
is not a success mail. (So in addition to the per
son who made the printer request, also this person
gets error messages, but no success messages.)
max_status_line (default: 79)
An integer value specifying the numbers of charac
ters to be used for displaying simple job status;
this includes the queue position, job identifier,
indicates no restrictions.
max_status_size (default: 10 (Kbytes))
An integer value specifying (in K bytes) the maxi
mum size of the status file to be generated during
printing operations. A 0 value will create unlim
ited size status files. When the file size exceeds
this value, it is truncated to min_status_size K
bytes.
mc (default: 1)
See printcap(5) for details.
min_status_size (default: 0 (Kbytes))
Minimum status size. If 0, defaults to 20 percent
of max_status_size.
minfree (default: 0)
The amount of free space (in Kbytes) needed in the
spool directory in order for a job to be accepted.
If 0, there is no limit; if the parameter is the
name of a file rather than a number, the file must
contain a numerical minimum free value (in Kbytes).
This value is overriden by the printcap mi field
value.
ms_time_resolution
(default: FALSE) This flag causes the time informa
tion to be printed to millisecond accuracy. This
is overkill for most purposes.
of_filter_options
(default: "") If this is not set, the value
defaults to the same as the filter_options value.
This string is appended to a OF filter specifica
tion, and the string expanded with values from the
printcap information and job information. If the
"bkf" (backwards compatible filter) flags is set in
the printcap entry, of bk_of_filter_options value
is appended instead (see of_filter_options, fil
ter_options, bk_filter_options, bk_of_fil
ter_options)
originate_port
(default: "721 731") A range of port numbers to
orginate requests from. When sending service
requests, the software will try to open and bind to
these ports to originate a request to a server. If
no port is given, or all of the requested ports are
unavailable or cannot be bound to, then a normal
use port is requested. Note that on UNIX systems,
if a port in the range 0-1023 is requested the EUID
of the process must be root for the request to be
must originate from ports in the range 721-731.
pass_env
(default: "PGPPASS,PGPPATH") Client programs such
as LPR, LPC, etc., will pass these environment
variables to any filter programs they start.
poll_time (default: 6000)
Interval in seconds at which LPD checks for queues
with jobs and no server active. See force_poll as
well.
pl (default: 66)
See printcap(5) for details.
pr (default: /bin/pr)
See printcap(5) for details.
printcap_path
(default: "etc/printcap:/usr/etc/print
cap:/var/spool/lpd/printcap.%h") The location of
the printcap database information. If a file or
filter does not exist, it is skipped. All valid
entries in these files will be used. See PRINTCAP
LOOKUP for details.
perms_path
(default:
/etc/lpd.perms:/usr/etc/lpd.perms:/var/spool/lpd/lpd.perms.%h)
The location of the printer permissions database.
If a file or filter does not exist, it is skipped.
The first file or filter that exists and is read
able will be used. See PERMISSIONS LOOKUP for
details.
pw (default: 80)
See printcap(5) for details.
save_on_error
(default: no) Save a job in the spool queue if it
has an error rather than removing it.
save_when_done
(default: no) Save a job in the spool queue after
completion rather than removing it.
send_data_first
(default: no) Send data files of a job first, fol
lowed by the control file.
send_failure_action (default: "")
The lpd server uses this to determine the action to
take when unable to print or process a job. The
tions, leaving the job in the queue, remove will
cause it to remove the job, retry will cause it to
retry the job, and hold will cause it to hold the
job with an error indication. If the value is a
filter, then the filter will be invoked and the
exit status of the filter used to determine the
actions.
send_job_rw_timeout (default: 6000)
When printing or sending a job to a remote printer,
use this as a write to the device or remote host
timeout value. If a timeout occurs, then a FAIL
status is returned and the send_failure_action
value is used to determine what to do on failure.
send_try (default: 3)
Numbers of times to try to send a job to the
printer or remote host. A 0 value means an infi
nite number of times.
sendmail (default: "/usr/lib/sendmail -oi -t")
If the argument is empty then all mail_related
functionality is disabled. The arguments are the
command to run when mail is to be sent. The com
mand used needs to be able to accept the message on
stdin, with no arguments. The message will contain
the To:, From:, Cc: and Subject: headers.
server_tmp_dir (default: /tmp)
Temporary dir for the server.
spool_dir_perms (default: 042700)
Permissions of the spool directories.
spool_file_perms (default: 0600)
Permissions of the spool files.
syslog_device (default: /dev/console)
Log to this device if all else fails.
use_date (default: no)
No information about this parameter available.
use_identifier (default: no)
Add a job identifier line to the control file,
using the 'A' entry in the control file.
use_info_cache (default: yes)
If this is set to yes, lpd.perms and printcap
information lookups will be cached for later use.
Only lookups in the main databases will be cached,
not lookups in the per_printer databases. You can
force the lpd to flush its cache and reread the
use_queuename (default: no)
Put an entry into control files identifying the
spool queue the job was originally sent to. The
entry has the form 'Qspoolname', and its value can
be passed to filters. This is useful for setting
up a spool queue which formats jobs in different
ways, depending on the name of the queue.
use_shorthost (default: no)
By default, names of lpr job files used the origi
nating host fully qualified domain name. This can
exceed 14 characters, the limit of file names on
some UNIX systems. If this is set to yes, the non-
qualified name will be used, and if the host name
is at most 8 characters the file name will be at
most 14 characters long.
user (default: daemon)
The user that lpd and its filters runs as, and the
owner of the spool directories and other
lpd_writable files. This can be the name of a user
or a number. If the user value is 0, then the real
UID of the program when started will be used. This
allows a non_root user to test the functionality of
the LRPng software.
PRINTCAP LOOKUP, DATABASE FILES AND FILTERS
The printcap_path and printer_perms_path variables specify
a list of either data base files or filters to use to get
printcap or permission entries for a printer. To get
information, the filter is started and a single line with
the printer name is sent to it. Note that the printer
name all is used to request information either about all
printers, or a specific printer entry that has a list of
all printers. See printcap(5) for more details.
To find the printcap information, client programs will
first search the database files specified in the print
cap_path entry. The lpd server will also search the
lpd_printcap_path entries as well. After having searched
the various files, if a filter has been specified the fil
ter will be started and the required printer name will be
sent to the filter. The output from the filter will be
used as the printcap information.
SECURITY-RELATED PARAMETERS
Environment variables are sanitized by lpd and the other
executables, in that the variables IFS, LD_PRELOAD and
LD_PROFILE are all deleted from the environment passed to
filters and any other sub_processes. For more
LD_LIBRARY_PATH variables.
All filters will run as the user and group specified by
the group and user variables.
EXAMPLE
# lpd.conf generated from on Wed Apr 7 07:59:48 PDT 1999
# The values in this file are the default values.
# If you modify the file, set the value to something other than the default
# For example, '# default force_localhost' means
# the 'force_localhost' option value is on or 1.
# Uncomment this and change it to read 'force_localhost@'
# Purpose: always print banner, ignore lpr -h option
# default ab@
# Purpose: query accounting server when connected
# default achk@
# Purpose: accounting at end (see also af, la, ar, as)
# default ae=jobend $H $n $P $k $b $t
# Purpose: name of accounting file (see also la, ar)
# default af=
af=acct
# Purpose: automatically hold all jobs
# default ah@
ah
# Purpose: Allow duplicate command line arguments (legacy requirement)
# default allow_duplicate_args@
FILES
The files used by LPRng are set by values in the printer
configuration file. The following are a commonly used set
of default values.
/etc/lpd.conf LPRng configuration file
/etc/printcap printer description file
/etc/lpd.perms printer permissions
/var/spool/printer* spool directories
/var/spool/printer*/printer lock file for queue control
/var/spool/printer*/control.printer queue control
/var/spool/printer*/active.printer active job
/var/spool/printer*/log.printer log file
SEE ALSO
lpc(8), lpd(8), checkpc(8), lpr(1), lpq(1), lprm(1),
printcap(5), lpd.perms(5), pr(1).
DIAGNOSTICS
Most of the diagnostics are self explanatory.
If you are puzzled over the exact cause of failure,
set the debugging level on (-D5) and run again.
The debugging information will
help you to pinpoint the exact cause of failure.
LPRng is a enhanced printer spooler system with function
ality similar to the Berkeley LPR software. The LPRng
mailing list is lprng@lprng.com; subscribe by sending mail
to lprng-request@lprng.com with the word subscribe in the
body. The software is available from
ftp://ftp.astart.com/pub/LPRng.
AUTHOR
Patrick Powell <papowell@lprng.com>.
Man(1) output converted with
man2html