Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LPD.CONF(5)		       File Formats Manual		     LPD.CONF(5)

NAME
     lpd.conf - configuration file for the LPRng line printer spooler system

DESCRIPTION
     The  file	lpd.conf  is  used  to provide configuration information for the
     LPRng Printer spooler system and defaults for printcap information.   Lead-
     ing spaces on lines are ignored, and blank lines and lines whose first non-
     blank  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  in-
     formation 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=dickory 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 in-
     formation is initially processed, and can be used only in a limited  number
     of  printcap or other entries.  Currently only the printcap :sd: (spool di-
     rectory) and :forward_server: (forward server) entries use these.

GENERAL CONFIGURATION PARAMETERS
     Some of the following parameters take lists of files or  directories.   Un-
     less  otherwise  explicitly  stated, these lists can be separated by commas
     (,), semicolons (;), or colons, (punctuation) and possibly tabs  or  spaces
     (whitespace) as well.

     Keyword names can use either underscores (_) or hyphens (-) in their names,
     but the underscore is preferred.

     include pathname [pathname*] (no default)
	    This  can  be used to include files into the lpd.conf file.  The in-
	    clude file parameter a 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 purposes.  See as for the matching	account-
	    ing at start, and the printcap(5) and lpd(8) man pages for details.

     allow_getenv (default: "LPD_CONF")
	    This  option specifies an environment variable whose value is a con-
	    figuration file.  Use of this is restricted to  test  purposes,  and
	    SUID  ROOT	client	and server will not run when the variable is en-
	    abled.

     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  com-
	    pile  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 communication.

     auth_forward (default: NULL)
	    Authentication type to be used for server to server communication.

     auth_forward_filter (default: NULL)
	    Program to be used for server to server communication.

     auth_forward_id (default: NULL)
	    Authentication id of remote server for server to  server  communica-
	    tion.

     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 en-
	    try and the original filter specification does not have a `$` in it,
	    this option string is appended to a filter	specification,	and  the
	    string  expanded  with  values from the printcap information and job
	    information.  (see of_filter_options, filter_options,  bk_filter_op-
	    tions, 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	specifi-
	    cation  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_op-
	    tions)

     check_for_nonprintable (default: "")
	    (Used by LPR) check f and p formats for non_printable characters un-
	    less  -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.

     connect_interval (default: 10 (seconds))
	    The time to pause after a failed connection or open of the	printing
	    device before attempting a new connection 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 transferring a job, then
	    an indefinite 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 informa-
	    tion.  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 vari-
	    able, 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 the software cannot determine the domain name  using
	    other means, such as gethostbyname(3n).

     ff (default: \f)
	    Formfeed string.

     filter_ld_path
	    (default:  /usr/local/lib:/lib:/usr/lib://usr/local/lib)  The  value
	    for the environment variable LD_LIBRARY_PATH, both used when execut-
	    ing, 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 fil-
	    ter) flags is not set in the printcap entry and the original  filter
	    specification  does  not have a `$` in it, this option string is ap-
	    pended to a filter specification, and the string expanded with  val-
	    ues from the printcap information and job information.  (see of_fil-
	    ter_options,   filter_options,  bk_filter_options,	bk_of_filter_op-
	    tions)

     filter_path
	    (default:			   /usr/local/bin:/bin:/usr/bin:/usr/lo-
	    cal/sbin:/sbin:/usr/sbin)  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 fil-
	    ters 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.

     kerberos_keytab (default "/etc/lpd.keytab")
	    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  life-
	    time.   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 connections.  This is done to avoid problems with
	    multi-homed hosts who originate connections  from  different  inter-
	    faces.

     lockfile (default: /var/spool/lpd/lpd)
	    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  logger  information
	    generated by the lpd server.  The formation of the destination spec-
	    ification	is   host[%port][,(TCP|UDP)].	 For   example,   local-
	    host%2001,UDP would send logger information to the localhost IP  ad-
	    dress,  on	port  2001 using the UPD protocol.  The default port and
	    protocol are set by the default_logger_port and  default_logger_pro-
	    tocol configuration variables respectively.

     longnumber
	    (default: no) RFC1179 requires 3 digit job numbers; setting longnum-
	    ber to yes allows 6 digit numbers.	If the backwards_compatible flag
	    is set, only 3 digit numbers will be used.

     lpd_listen_port (default: =515) [ipaddr%]port
	    The port that lpd binds to.  If the parameter is set to off then lpd
	    does  not  listen  to any TCP port.  See lpd_port for details of the
	    format of the argument.

	    If this is not set at all, then lpdP will listen on lpd_port.

     lpd_port (default: printer)  [ipaddr%]port
	    The port that lpr and the other client programs send their	requests
	    to.   The  specification  has the format ipaddr%port.  If the IP ad-
	    dress 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 per-
	    formed and the corresponding 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: "")
	    The  location  of lpd server only printcap database information.  If
	    this is nonblank the printcap_pathP will not  be  used  by	the  lpd
	    server.

     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 person 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 characters to be used for
	    displaying simple job status;  this includes the queue position, job
	    identifier,   job  contents, size, and time.  A 0 (zero) value indi-
	    cates no restrictions.

     max_status_size (default: 10 (Kbytes))
	    An integer value specifying (in K bytes) the  maximum  size  of  the
	    status  file  to be generated during printing operations.  A 0 value
	    will create unlimited 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_sta-
	    tus_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
	    overridden by the printcap mi field value.

     ms_time_resolution
	    (default: FALSE) This flag causes the time information 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
	    specification, 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,  filter_options,
	    bk_filter_options, bk_of_filter_options)

     originate_port
	    (default:  "721  731") A range of port numbers to originate 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 can-
	    not 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 granted.  Note that
	    RFC1179 specifies that requests must originate  from  ports  in  the
	    range 721-731.

     pass_env
	    (default: "LANG,LC_CTYPE,LC_NUMERIC,LC_TIME,LC_COLLATE,LC_MONETARY,
	    LC_MESSAGES,LC_PAPER,LC_NAME,LC_ADDRESS,LC_TELEPHONE,LC_MEASURE-
	    MENT,LC_IDENTIFICATION,LC_ALL")

	    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")  The  location	of the printcap database
	    file.  If a file or filter does not exist, it is considered a  fatal
	    error.  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 fil-
	    ter  does  not  exist, it is skipped.  The first file or filter that
	    exists and is readable will be used.  See PERMISSIONS LOOKUP for de-
	    tails.

     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, followed by  the  con-
	    trol 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 keyword abort will cause it to ter-
	    minate operations, 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 sta-
	    tus 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 oc-
	    curs, 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 infinite number of times.

     sendmail (default: "/usr/lib/sendmail -oi -t")
	    If the argument is empty then all mail_related functionality is dis-
	    abled.   The  arguments  are  the  command to run when mail is to be
	    sent.  The command 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.

     unix_socket_path (default: /var/run/lprng/socket)
	    Location of the Unix socket that lpd listens on  and  LPRng  clients
	    attempt to communicate to when host is localhost. Set to off to dis-
	    able listening and connecting via a Unix socket.

     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 permissions file by
	    sending it a SIGHUP.

     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 originating 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 char-
	    acters 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, LPRng programs  will  read  the	database
     files  specified  in the printcap_path entry.  The lpd server will read any
     additional files specified in the lpd_printcap_path entry.  If any  of  the
     files  is	missing or non-readable a fatal error will result.  After having
     searched the various files, if a filter has been specified the filter  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 relia-
     bility, script filters should set their own PATH and LD_LIBRARY_PATH  vari-
     ables.

     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.
     /usr/local/etc//lpd.conf			  LPRng configuration file
     ${HOME}/.printcap				  user printer description file
     /etc/printcap				  printer description file
     /usr/local/etc//lpd.perms			  permissions
     /var/run/lpd				  lock file for queue control
     /var/spool/lpd				  spool directories
     /var/spool/lpd/QUEUE/control		  queue control
     /var/spool/lpd/QUEUE/log			  trace or debug log file
     /var/spool/lpd/QUEUE/acct			  accounting file
     /var/spool/lpd/QUEUE/status		  status file

SEE ALSO
     lpc(8),   lpd(8),	 checkpc(8),   lpr(1),	 lpq(1),  lprm(1),  printcap(5),
     lpd.perms(5), pr(1), lprng_certs(1), lprng_index_certs(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.

HISTORY
     LPRng is a enhanced printer spooler system with  functionality  similar  to
     the Berkeley LPR software.  The LPRng mailing list is lprng@lprng.com; sub-
     scribe  by  sending mail to lprng-request@lprng.com with the word subscribe
     in the body.  The software is available from ftp://ftp.lprng.com/pub/LPRng.

AUTHOR
     Patrick Powell <papowell@lprng.com>.

LPRng				   LPRng-3.9.0			     LPD.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lpd.conf&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help