Name

papd — AppleTalk print server daemon

Synopsis

papd [-d] [-f configfile] [-p printcap]

Description

papd is the AppleTalk printer daemon. This daemon accepts print jobs from AppleTalk clients (typically Macintosh computers) using the Printer Access Protocol (PAP). When used with System V printing systems, papd spools jobs directly into an lpd(8) spool directory and wakes up lpd after accepting a job from the network to have it re-examine the appropriate spool directory. The actual printing and spooling is handled entirely by lpd.

papd can also pipe the print job to an external program for processing, and this is the preferred method on systems not using CUPS to avoid compatibility problems with all the flavours of lpd in use.

As of Netatalk 2.0, CUPS is also supported. Simply using cupsautoadd as the first papd.conf entry will share all CUPS printers automagically. It is still possible to overwrite these defaults by individually defining printer shares. See papd.conf(5) for details.

papd is typically started at boot time from system init scripts or services. It first reads from its configuration file, papd.conf. The file is in the same format as /etc/printcap. See printcap(5) for details. The name of the entry is registered with NBP.

The following options are supported:

NameTypeDefaultDescription
pdstr'.ppd'Pathname to PPD file
prstr'lp'LPD or CUPS printer name (or pipe to a print command)
opstr'operator'Operator name for LPD spooling
auboolfalseWhether to do authenticated printing or not
castrNULLPathname used for CAP-style authentication
spboolfalsePSSP-style authentication
amstrNULLUAMS to use for authentication
pastrNULLPrinter's AppleTalk address
costrNULLCUPS options as supplied to the lp(1) command with "-o"
foboolfalseadjust lineending for foomatic-rip

If no configuration file is given, the hostname of the machine is used as the NBP name and all options take their default value.

Options

-d

Do not fork or disassociate from the terminal.

-f configfile

Consult configfile instead of papd.conf for the configuration information.

-p printcap

Consult printcap instead of /etc/printcap for LPD configuration information.

Notes

PSSP (Print Server Security Protocol) is an authentication protocol carried out through postscript printer queries to the print server. Using PSSP requires LaserWriter 8.6.1 or greater on the client Mac. The user will be prompted to enter their username and password before they print. It may be necessary to re-setup the printer on each client the first time PSSP is enabled, so that the client can figure out that authentication is required to print. You can enable PSSP on a per-printer basis. PSSP is the recommended method of authenticating printers as it is more robust than CAP-style authentication, described below.

CAP-style authentication gets its name from the method CAP (Columbia AppleTalk Package) used to authenticate its Mac clients' printing. This method requires that a user login to a file share before they print. afpd records the username in a temporary file named after the client's AppleTalk address, and it deletes the temporary file when the user disconnects. Therefore CAP style authentication will not work for clients connected to afpd via TCP/IP. papd gets the username from the file with the same AppleTalk address as the machine connecting to it. CAP-style authentication will work with any Mac client. If both CAP and PSSP are enabled for a particular printer, CAP will be tried first, then papd will fall back to PSSP.

The list of UAMs to use for authentication (specified with the 'am' option) applies to all printers. It is not possible to define different authentication methods on each printer. You can specify the list of UAMS multiple times, but only the last setting will be used. Currently only uams_guest.so and uams_clrtxt.so are supported as printer authentication methods. The guest method requires a valid username, but not a password. The Cleartext UAM requires both a valid username and the correct password.

Note

As of this writing, Mac OS X makes no use of PSSP authentication any longer. CAP-style authentication normally won't be an option, either, because of the use of AFP over TCP these days.

Files

papd.conf

Default configuration file.

/etc/printcap

Printer capabilities database.

.ppd

PostScript Printer Description file. papd answers configuration and font queries from printing clients by consulting the configured PPD file. Such files are available from Adobe, Inc., or from the printer's manufacturer. If no PPD file is configured, papd will return the default answer, possibly causing the client to send excessively large jobs.

Caveats

papd accepts characters with the high bit set (a full 8-bits) from the clients, but some PostScript printers (including Apple Computer's LaserWriter family) only accept 7-bit characters on their serial interface by default. The same applies for some printers when they're accessed via TCP/IP methods (remote LPR or socket). You will need to configure your printer to accept a full 8 bits or take special precautions and convert the printjob's encoding (e.g. by using co="protocol=BCP" when using CUPS 1.1.19 or above).

When printing clients run Mac OS 10.2 or above, take care that PPDs do not make use of *cupsFilter: comments unless the appropriate filters are installed at the client's side, too (remember: Starting with 10.2 Apple chose to integrate CUPS into Mac OS X). For in-depth information on how CUPS uses PPDs see chapter 3.4 in http://tinyurl.com/zbxn).

See also

lpr(1),lprm(1),printcap(5),lpc(8),lpd(8), lp(1).