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.
       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.  Val-
       ues in the configuration	can contain host or machine dependent informa-
       tion; to	assist with this, the following	escape sequences in  the  con-
       figuration information 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  com-
	      pile_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	 information is	initially processed, and can be	used only in a
       limited number of printcap or other entries.  Currently only the	print-
       cap :sd:	(spool directory) and :forward_server:	(forward  server)  en-
       tries use these.

GENERAL	CONFIGURATION PARAMETERS
       Some  of	 the  following	parameters 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 (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
	      include 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
	      accounting 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
	      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  se-
	      quence %a	in pathname and	filename strings in this config	file.

       auth (default: NULL)
	      Authentication  type  to be used for client to server communica-
	      tion.

       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  communica-
	      tion.

       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 communi-
	      cation.

       auth_receive_filter (default: NULL)
	      Program to be used by server receive server or client communica-
	      tion.

       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	specification,
	      and the string expanded with values from the  printcap  informa-
	      tion  and	 job  information.  (see of_filter_options, filter_op-
	      tions, bk_filter_options,	bk_of_filter_options)

       bk_of_filter_options
	      (default:	"$w $l $x $y") If the "bkf" (backwards compatible fil-
	      ter) 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_filter_options,	  filter_options,   bk_filter_options,
	      bk_of_filter_options)

       check_for_nonprintable (default:	"")
	      (Used by LPR) check f and	p formats for non_printable characters
	      unless -b	(binary) or -l (literal) command_line option  is  sup-
	      plied.  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  ban-
	      ners.  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 in-
	      formation.  See logger_destination for details.

       default_logger_protocol
	      (default:	UDP) specifies a default protocol for logger  informa-
	      tion.  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 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 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 specification, and	the string ex-
	      panded with values from the printcap information and job	infor-
	      mation.	(see  of_filter_options, filter_options, bk_filter_op-
	      tions, bk_of_filter_options)

       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 al-
	      lowed 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.

       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 per-
	      missions).

       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  forward-
	      ing.

       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 ker-
	      beros 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  connec-
	      tions from different interfaces.

       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  informa-
	      tion generated by	the lpd	server.	 The formation of the destina-
	      tion specification is host[%port][,(TCP|UDP)].  For example, lo-
	      calhost%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 de-
	      fault_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_com-
	      patible 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  re-
	      quests  to.   The	 specification has the format ipaddr%port.  If
	      the IP address 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 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 suc-
	      cess 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 posi-
	      tion, job	identifier,  job contents, size, and time.  A 0	(zero)
	      value indicates 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	direc-
	      tory  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 num-
	      ber, 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 pur-
	      poses.

       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  en-
	      try,  of	bk_of_filter_options  value  is	 appended instead (see
	      of_filter_options, filter_options, bk_filter_options, bk_of_fil-
	      ter_options)

       originate_port
	      (default:	"721 731") A range of port numbers  to	originate  re-
	      quests  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 re-
	      quested.	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 re-
	      quests must originate from ports in the range 721-731.

       pass_env
	      (default:	"LANG,LC_CTYPE,LC_NUMERIC,LC_TIME,LC_COLLATE,LC_MONE-
	      TARY, LC_MESSAGES,LC_PAPER,LC_NAME,LC_ADDRESS,LC_TELE-
	      PHONE,LC_MEASUREMENT,LC_IDENTIFICATION,LC_ALL")

	      Client programs such as LPR, LPC,	etc., will pass	these environ-
	      ment 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
	      filter  does not exist, it is skipped.  The first	file or	filter
	      that exists and is  readable  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, followed	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 keyword abort will cause
	      it to terminate 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 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 time-
	      out occurs, then a FAIL status is	returned  and  the  send_fail-
	      ure_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
	      disabled.	  The arguments	are the	command	to run when mail is to
	      be sent.	The command used needs to be able to accept  the  mes-
	      sage  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 disable 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' en-
	      try 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 data-
	      bases.  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  'Qspool-
	      name',  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 characters the file name will be at most 14 charac-
	      ters 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	print-
       cap(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.  Af-
       ter 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  reliability,	script	filters	 should	set their own PATH and
       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.
       /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;	 subscribe  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+14.3.quarterly>

home | help