Provided by: lprng_3.8.B-2.2_amd64 bug

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.  Values in the configuration can
       contain host or machine dependent information; to assist with this, the following escape sequences in the
       configuration 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 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 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.

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 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 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 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)

       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_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  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  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 the software cannot determine  the  domain
              name using other means, such as gethostbyname(3n).

       ff (default: \f)
              Formfeed string.

       filter_ld_path
              (default:  ) 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  expanded  with  values  from  the  printcap  information and job
              information.  (see of_filter_options, filter_options, bk_filter_options, bk_of_filter_options)

       filter_path
              (default: /bin:/usr/bin:/usr/local/bin) 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.

       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
              permissions).

       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  connections.   This  is  done  to  avoid  problems  with  multi-homed  hosts  who originate
              connections 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 information generated  by  the  lpd  server.
              The   formation  of  the  destination  specification  is  host[%port][,(TCP|UDP)].   For  example,
              localhost%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_listen_port (default: =off) [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 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 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
              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_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 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 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 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_MEASUREMENT,    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 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  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 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 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 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' 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 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,  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  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.
       /etc/lprng/lpd.conf                          LPRng configuration file
       ${HOME}/.printcap                            user printer description file
       /etc/printcap                                printer description file
       /etc/lprng/lpd.perms                         permissions
       /var/run/lprng/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>.