Provided by: lprng_3.8.A-2_i386 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_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 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:  "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")  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>.