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