Penguin
Annotated edit history of lpd.conf(5) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 LPD.CONF
2 !!!LPD.CONF
3 NAME
4 DESCRIPTION
5 GENERAL CONFIGURATION PARAMETERS
6 PRINTCAP LOOKUP, DATABASE FILES AND FILTERS
7 SECURITY-RELATED PARAMETERS
8 EXAMPLE
9 FILES
10 SEE ALSO
11 DIAGNOSTICS
12 HISTORY
13 AUTHOR
14 ----
15 !!NAME
16
17
2 WlugWiki 18 lpd.conf - configuration file for the (LPRng) line (printer spooler) system
1 perry 19 !!DESCRIPTION
20
21
22 The file __lpd.conf__ is used to provide configuration
23 information for the LPRng Printer spooler system and
24 defaults for printcap information. Leading spaces on lines
25 are ignored, and blank lines and lines whose first nonblank
26 character is a sharp (``#'') are ignored. Trailing blanks
27 and tabs (whitespace) for an option value are deleted unless
28 the last one is escaped with a backslash (``''). All other
29 lines specify parameters and should be of the following
30 form:
31
32
33 keyword
34 keyword@
35 keyword#value
36 keyword=value
37 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:
38
39
40 __%h__
41
42
43 the short form of the host name (i.e.- non fully
44 qualified).
45
46
47 __%H__
48
49
50 the fully qualified host name.
51
52
53 __%a__
54
55
56 the abbreviated architecture name, ''sun4'', ''sol2'',
57 ''hpux'', ''aix'', ''irix5'', etc. This value can
58 be set using the __architecture__ keyword in the
59 configuration file and is set to a default value at
60 compile_time.
61
62
63 __%P__
64
65
66 the printer name from the printcap entry (see
67 below).
68
69
70 __%R__
71
72
73 the remote printer name from the printcap
74 entry.
75
76
77 __%M__
78
79
80 the remote host name from the printcap entry. This is
81 truncated to the short host name.
82
83
84 For example, on host ''dickory.sdsu.edu,'' the strings
85 ''short=''__%h__ ''long=''__%H__
86 ''arch=''__%a__ would be expanded as ''short=dickory
87 long=dickory.sdsu.edu arch=sun4 .''
88
89
90 The P, R, and M tags are provided for use with combined
91 configuration and printcap information. These values are not
92 expanded when the printcap information is initially
93 processed, and can be used only in a limited number of
94 printcap or other entries. Currently only the printcap :sd:
95 (spool directory) and :forward_server: (forward server)
96 entries use these.
97 !!GENERAL CONFIGURATION PARAMETERS
98
99
100 Some of the following paramters take lists of files or
101 directories. Unless otherwise explicitly stated, these lists
102 can be separated by commas (,), semicolons (;), or colons,
103 (punctuation) and possibly tabs or spaces (whitespace) as
104 well.
105
106
107 Keyword names can use either underscores (_) or hyphens (-)
108 in their names, but the underscore is
109 preferred.
110
111
112 __include__ pathname [[pathname*] (no
113 default)
114
115
116 This can be used to include files into the __lpd.conf__
117 file. The include file parameter a whitespace separated list
118 of files; the files must have absolute pathnames and must be
119 readable.
120
121
122 __ae__ (default:
123 __
124
125
126 This specifies either a script or a filter to be invoked at
127 the send of a job for accounting purposes. See __as__ for
128 the matching accounting at start, and the printcap(5)
129 and lpd(8) man pages for details.
130
131
132 __allow_getenv__ (default:
133 __
134
135
136 This option specifies an enviorinment variable whose value
137 is a configuration file. Use of this is restricted to test
138 purposes, and SUID ROOT client and server will not run when
139 the variable is enabled.
140
141
142 __ar__ (default: yes)
143
144
145 See printcap(5) for details.
146
147
148 __architecture__
149
150
151 The default value is set at compile time and can be
152 overwritten with this parameter. The default value of this
153 parameter is set at compile time and it is used when
154 expanding the special sequence __%a__ in pathname and
155 filename strings in this config file.
156
157
158 __auth__ (default: NULL)
159
160
161 Authentication type to be used for client to server
162 communication.
163
164
165 __auth_client_filter__ (default: NULL)
166
167
168 Program to be used for client to server
169 communication.
170
171
172 __auth_forward__ (default: NULL)
173
174
175 Authentication type to be used for server to server
176 communication.
177
178
179 __auth_forward_filter__ (default: NULL)
180
181
182 Program to be used for server to server
183 communication.
184
185
186 __auth_forward_id__ (default: NULL)
187
188
189 Authentication id of remote server for server to server
190 communication.
191
192
193 __auth_receive_filter__ (default: NULL)
194
195
196 Program to be used by server receive server or client
197 communication.
198
199
200 __auth_server_id__ (default: NULL)
201
202
203 Authentication id of originating client or
204 server.
205
206
207 __as__ (default:
208 __
209
210
211 See __as__.
212
213
214 __bk__ (default: no)
215
216
217 See printcap(5) for details.
218
219
220 __bk_filter_options__
221
222
223 (default:
224
225
226 __bk_of_filter_options__
227
228
229 (default:
230
231
232 __check_for_nonprintable__ (default:
233 __
234
235
236 (Used by LPR) check f and p formats for non_printable
237 characters unless __-b__ (binary) or __-l__ (literal)
238 command_line option is supplied. Note that files containing
239 HPGL or other printer control languages would often be
240 classed as ``non_printable''.
241
242
243 __connect_grace__ (default: 0 seconds)
244
245
246 The time to pause before opening a new connection to a
247 printer. This allows the printer time to recover from the
248 previous job.
249
250
251 __connect_interval__ (default: 10 (seconds))
252
253
254 The time to pause after a failed connection or open of the
255 printing device before attempting a new connection or
256 open.
257
258
259 __connect_timeout__ (default: 10 (seconds))
260
261
262 The time to wait for a device open or connection to
263 complete. A zero value is infinite timeout.
264
265
266 __retry_nolink__ (default: true)
267
268
269 When TRUE and the LPD server is printing or transfering a
270 job, then an indefinate number of attempts to connect to or
271 open the IO device will be made.
272
273
274 __default_banner_printer__ (default:
275 __
276
277
278 The default banner printer program to be used for printing
279 banners. This should be specified in the LPD configuration
280 file.
281
282
283 __default_format__ (default: __
284
285
286 Default format for printing jobs.
287
288
289 __default_logger_port__
290
291
292 (default: 2001) specifies a default port number for logger
293 information. See logger_destination for
294 details.
295
296
297 __default_logger_protocol__
298
299
300 (default: UDP) specifies a default protocol for logger
301 information. See logger_destination for
302 details.
303
304
305 __default_permission__ (default: ACCEPT)
306
307
308 Default permission for operations.
309
310
311 __default_printer__ (default: __
312
313
314 The default printer to use if there is no PRINTER
315 environment variable, the user has not specified a printer,
316 or there is no printcap information.
317
318
319 __default_priority__ (default:
320 __
321
322
323 Default priority (class) for printing jobs. This is also
324 used as the job class.
325
326
327 __default_remote_host__ (default:
328 __
329
330
331 The default remote host to use.
332
333
334 __default_tmp_dir__ (default: /tmp)
335
336
337 Directory for temporary files.
338
339
340 __domain_name__ (default: __
341
342
343 This parameter is optional, and is appended to the hostname
344 to make it into a fully_qualified domain name, ie.
345 ''class.iona.ie''. It will only be used if the software
346 cannot determine the domain name using other means, such as
347 __gethostbyname(3n)__.
348
349
350 __ff__ (default: f)
351
352
353 Formfeed string.
354
355
356 __filter_ld_path__
357
358
359 (default: /lib:/usr/lib:/usr/5lib:/usr/ucblib) The value for
360 the environment variable LD_LIBRARY_PATH, both used when
361 executing, and passed on to filters. This variable is used
362 to find shared libraries on SunOS, Solaris and
363 Linux.
364
365
366 __filter_options__
367
368
369 (default:
370
371
372 __filter_path__
373
374
375 (default: /bin:/usr/bin:) The value for the environment
376 variable PATH, both used to find filters and passed on to
377 filters run by __lpd__ and __lpr__.
378
379
380 __force_poll__ (default: no)
381
382
383 Some software packages put print jobs directly into the
384 spool queues. The __force_poll__ flag forces lpd to
385 periodically poll spool queues looking for jobs and no
386 server. The __poll_time__ variable sets the interval
387 between polls.
388
389
390 __full_time__ (default: no)
391
392
393 Use full time and date format in logging and error
394 messages.
395
396
397 __fx__ (default: __
398
399
400 See printcap(5) for details. This specifies the job
401 formats allowed for this queue.
402
403
404 __group__ (default __
405
406
407 The group to use for file ownership and process permissions.
408 Used only by lpd; this can be the name of a group or a
409 number. All filters will run as the specified group. Note
410 that if the group value is 0, then the real user group of
411 the process at startup will be used.
412
413
414 __kerberos_keytab__ (default
415 __
416
417
418 The keytab file to be used by the LPD server when using
419 built-in kerberos authentication. The keytab file should be
420 owned by the LPD server, and be readable/writable only by it
421 (i.e. - 600 permissions).
422
423
424 __kerberos_life__ (default NULL)
425
426
427 The lifetime of a Kerberos ticket. NULL selects the default
428 lifetime. Time should be specified using the standard
429 Kerberos time representations.
430
431
432 __kerberos_forward_principal__ (default
433 NULL)
434
435
436 remote principal used by server when forwarding
437
438
439 __kerberos_renew__ (default NULL)
440
441
442 The renewal of a Kerberos ticket. NULL selects a
443 non-renewable ticket. Time should be specified using the
444 standard Kerberos time representations.
445
446
447 __kerberos_server_principal__ (default
448 __
449
450
451 Server principal used when client sending to server or when
452 server is originating connection to another server for
453 forwarding.
454
455
456 __kerberos_service__ (default
457 __
458
459
460 The service name used to make requests to the LPD server
461 when using kerberos authentication. For example, if
462 kerberos_service has the value lpr, the server is on host
463 alpha.com, and the kerberos domain is ALPHA.COM, then the
464 kerberos principal name would be:
465 lpr/alpha.com@ALPHA.COM.
466
467
468 __la__ (default: yes)
469
470
471 See printcap(5) for details.
472
473
474 __lf__ (default: log)
475
476
477 Name of the log file.
478
479
480 __lo__ (default: lock)
481
482
483 Name of the lock file.
484
485
486 __localhost__
487
488
489 (default
490
491
492 __lockfile__ (default: /var/spool/lpd/lpd)
493
494
495 The file used to indicate the presence of an __lpd__
496 server running on the host. The lpd_port value is appended
497 to the lockfile value to provide a unique lockfile even when
498 different versions of LPRng are running on the same
499 system.
500
501
502 __logger_destination__
503
504
505 (default:
506
507
508 __longnumber__
509
510
511 (default: no) RFC1179 requires 3 digit job numbers; setting
512 longnumber to yes allows 6 digit numbers. If the
513 backwards_compatible flag is set, only 3 digit numbers will
514 be used.
515
516
517 __lpd_port__ (default: ''printer'')
518 [[ipaddr%]port
519
520
521 The port that __lpd__ binds to, and that __lpr__ and
522 the other client programs send their requests to. The
523 specification has the format ipaddr%port. If the ipaddress
524 is specified then a bind to only this address and port is
525 done. If the port value is not a number a service lookup is
526 performed and the corresponding service port is used; see
527 services(5). This parameter is useful for debugging a new
528 installation of LPRng, in that running LPRng on a different
529 port from the default will not interfere with a previous
530 installation of LPD or LPRng.
531
532
533 __lpd_printcap_path__ (default:
534 __
535
536
537 The location of __lpd__ server only printcap database
538 information. If this is nonblank the __printcap_pathP will
539 not be used by the lpd__ server.
540
541
542 __mail_operator_on_error__ (default:
543 __
544
545
546 Put this person on the CC-list of the mail, if it is not a
547 success mail. (So in addition to the person who made the
548 printer request, also this person gets error messages, but
549 no success messages.)
550
551
552 __max_status_line__ (default: 79)
553
554
555 An integer value specifying the numbers of characters to be
556 used for displaying simple job status; this includes the
557 queue position, job identifier, job contents, size, and
558 time. A 0 (zero) value indicates no
559 restrictions.
560
561
562 __max_status_size__ (default: 10 (Kbytes))
563
564
565 An integer value specifying (in K bytes) the maximum size of
566 the status file to be generated during printing operations.
567 A 0 value will create unlimited size status files. When the
568 file size exceeds this value, it is truncated to
569 __min_status_size__ K bytes.
570
571
572 __mc__ (default: 1)
573
574
575 See printcap(5) for details.
576
577
578 __min_status_size__ (default: 0 (Kbytes))
579
580
581 Minimum status size. If 0, defaults to 20 percent of
582 max_status_size.
583
584
585 __minfree__ (default: 0)
586
587
588 The amount of free space (in Kbytes) needed in the spool
589 directory in order for a job to be accepted. If 0, there is
590 no limit; if the parameter is the name of a file rather than
591 a number, the file must contain a numerical minimum free
592 value (in Kbytes). This value is overriden by the printcap
593 ''mi'' field value.
594
595
596 __ms_time_resolution__
597
598
599 (default: FALSE) This flag causes the time information to be
600 printed to millisecond accuracy. This is overkill for most
601 purposes.
602
603
604 __of_filter_options__
605
606
607 (default:
608
609
610 __originate_port__
611
612
613 (default:
614
615
616 __pass_env__
617
618
619 (default:
620
621
622 __poll_time__ (default: 6000)
623
624
625 Interval in seconds at which LPD checks for queues with jobs
626 and no server active. See __force_poll__ as
627 well.
628
629
630 __pl__ (default: 66)
631
632
633 See printcap(5) for details.
634
635
636 __pr__ (default: /bin/pr)
637
638
639 See printcap(5) for details.
640
641
642 __printcap_path__
643
644
645 (default:
646
647
648 __perms_path__
649
650
651 (default:
652 /etc/lpd.perms:/usr/etc/lpd.perms:/var/spool/lpd/lpd.perms.%h)
653 The location of the printer permissions database. If a file
654 or filter does not exist, it is skipped. The first file or
655 filter that exists and is readable will be used. See
656 PERMISSIONS LOOKUP for details.
657
658
659 __pw__ (default: 80)
660
661
662 See printcap(5) for details.
663
664
665 __save_on_error__
666
667
668 (default: no) Save a job in the spool queue if it has an
669 error rather than removing it.
670
671
672 __save_when_done__
673
674
675 (default: no) Save a job in the spool queue after completion
676 rather than removing it.
677
678
679 __send_data_first__
680
681
682 (default: no) Send data files of a job first, followed by
683 the control file.
684
685
686 __send_failure_action__ (default:
687 __
688
689
690 The lpd server uses this to determine the action to take
691 when unable to print or process a job. The keyword
692 ''abort'' will cause it to terminate operations, leaving
693 the job in the queue, ''remove'' will cause it to remove
694 the job, ''retry'' will cause it to retry the job, and
695 ''hold'' will cause it to hold the job with an error
696 indication. If the value is a filter, then the filter will
697 be invoked and the exit status of the filter used to
698 determine the actions.
699
700
701 __send_job_rw_timeout__ (default: 6000)
702
703
704 When printing or sending a job to a remote printer, use this
705 as a write to the device or remote host timeout value. If a
706 timeout occurs, then a FAIL status is returned and the
707 send_failure_action value is used to determine what to do on
708 failure.
709
710
711 __send_try__ (default: 3)
712
713
714 Numbers of times to try to send a job to the printer or
715 remote host. A 0 value means an infinite number of
716 times.
717
718
719 __sendmail__ (default:
720 __
721
722
723 If the argument is empty then all mail_related functionality
724 is disabled. The arguments are the command to run when mail
725 is to be sent. The command used needs to be able to accept
726 the message on stdin, with ''no'' arguments. The message
727 will contain the __To:__, __From:__, __Cc:__ and
728 __Subject:__ headers.
729
730
731 __server_tmp_dir__ (default: /tmp)
732
733
734 Temporary dir for the server.
735
736
737 __spool_dir_perms__ (default: 042700)
738
739
740 Permissions of the spool directories.
741
742
743 __spool_file_perms__ (default: 0600)
744
745
746 Permissions of the spool files.
747
748
749 __syslog_device__ (default: /dev/console)
750
751
752 Log to this device if all else fails.
753
754
755 __use_date__ (default: no)
756
757
758 No information about this parameter available.
759
760
761 __use_identifier__ (default: no)
762
763
764 Add a job identifier line to the control file, using the 'A'
765 entry in the control file.
766
767
768 __use_info_cache__ (default: yes)
769
770
771 If this is set to ''yes'', lpd.perms and printcap
772 information lookups will be cached for later use. Only
773 lookups in the main databases will be cached, not lookups in
774 the per_printer databases. You can force the __lpd__ to
775 flush its cache and reread the permissions file by sending
776 it a SIGHUP.
777
778
779 __use_queuename__ (default: no)
780
781
782 Put an entry into control files identifying the spool queue
783 the job was originally sent to. The entry has the form
784 'Qspoolname', and its value can be passed to filters. This
785 is useful for setting up a spool queue which formats jobs in
786 different ways, depending on the name of the
787 queue.
788
789
790 __use_shorthost__ (default: no)
791
792
793 By default, names of lpr job files used the originating host
794 fully qualified domain name. This can exceed 14 characters,
795 the limit of file names on some UNIX systems. If this is set
796 to ''yes'', the non-qualified name will be used, and if
797 the host name is at most 8 characters the file name will be
798 at most 14 characters long.
799
800
801 __user__ (default: daemon)
802
803
804 The user that __lpd__ and its filters runs as, and the
805 owner of the spool directories and other lpd_writable files.
806 This can be the name of a user or a number. If the user
807 value is 0, then the real UID of the program when started
808 will be used. This allows a non_root user to test the
809 functionality of the LRPng software.
810 !!PRINTCAP LOOKUP, DATABASE FILES AND FILTERS
811
812
813 The printcap_path and printer_perms_path variables specify a
814 list of either data base files or filters to use to get
815 printcap or permission entries for a printer. To get
816 information, the filter is started and a single line with
817 the printer name is sent to it. Note that the printer name
818 ''all'' is used to request information either about all
819 printers, or a specific printer entry that has a list of all
820 printers. See printcap(5) for more
821 details.
822
823
824 To find the printcap information, LPRng programs will read
825 the database files specified in the ''printcap_path''
826 entry. The ''lpd'' server will read any additional files
827 specified in the ''lpd_printcap_path'' entry. If any of
828 the files is missing or non-readable a fatal error will
829 result. After having searched the various files, if a filter
830 has been specified the filter will be started and the
831 required printer name will be sent to the filter. The output
832 from the filter will be used as the printcap
833 information.
834 !!SECURITY-RELATED PARAMETERS
835
836
837 Environment variables are sanitized by __lpd__ and the
838 other executables, in that the variables ''IFS'',
839 ''LD_PRELOAD'' and ''LD_PROFILE'' are all deleted from
840 the environment passed to filters and any other
841 sub_processes. For more reliability, script filters should
842 set their own PATH and LD_LIBRARY_PATH
843 variables.
844
845
846 All filters will run as the user and group specified by the
847 group and user variables.
848 !!EXAMPLE
849
850
851 # lpd.conf generated from on Wed Apr 7 07:59:48 PDT 1999
852 # The values in this file are the default values.
853 # If you modify the file, set the value to something other than the default
854 # For example, '# default force_localhost' means
855 # the 'force_localhost' option value is on or 1.
856 # Uncomment this and change it to read 'force_localhost@'
857 # Purpose: always print banner, ignore lpr -h option
858 # default ab@
859 # Purpose: query accounting server when connected
860 # default achk@
861 # Purpose: accounting at end (see also af, la, ar, as)
862 # default ae=jobend $H $n $P $k $b $t
863 # Purpose: name of accounting file (see also la, ar)
864 # default af=
865 af=acct
866 # Purpose: automatically hold all jobs
867 # default ah@
868 ah
869 # Purpose: Allow duplicate command line arguments (legacy requirement)
870 # default allow_duplicate_args@
871 !!FILES
872
873
874 The files used by LPRng are set by values in the printer
875 configuration file. The following are a commonly used set of
876 default values.
877
878
879 /etc/lprng/lpd.conf LPRng configuration file
880 ${HOME}/.printcap user printer description file
881 /etc/lprng/printcap printer description file
882 /etc/lprng/lpd.perms permissions
883 /var/run/lprng/lpd lock file for queue control
884 /var/spool/lpd spool directories
885 /var/spool/lpd/QUEUE/control queue control
886 /var/spool/lpd/QUEUE/log trace or debug log file
887 /var/spool/lpd/QUEUE/acct accounting file
888 /var/spool/lpd/QUEUE/status status file
889 !!SEE ALSO
890
891
892 lpc(8), lpd(8), checkpc(8), lpr(1), lpq(1), lprm(1),
893 printcap(5), lpd.perms(5), pr(1).
894 !!DIAGNOSTICS
895
896
897 Most of the diagnostics are self explanatory.
898 If you are puzzled over the exact cause of failure,
899 set the debugging level on (-D5) and run again.
900 The debugging information will
901 help you to pinpoint the exact cause of failure.
902 !!HISTORY
903
904
905 LPRng is a enhanced printer spooler system with
906 functionality similar to the Berkeley LPR software. The
907 LPRng mailing list is lprng@lprng.com; subscribe by sending
908 mail to lprng-request@lprng.com with the word subscribe in
909 the body. The software is available from
910 ftp://ftp.lprng.com/pub/LPRng.
911 !!AUTHOR
912
913
914 Patrick Powell
915 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.