If the --help or --version switch is used it will print brief usage information or PPR version information respectively.
A configuration file other than the default may be specified with the -f switch.
A log file other than the default may be specified with the -l switch.
When papsrv starts it writes its process id into a file. A process id file other than the default may be specified with the -p switch.
The -X switch indicates the directory where CAP AUFS security files may be found. If this feature is used, aufs should be started with an identical -X switch. The AUFS security feature requires a user to mount a file sharing volume on the server before he can print to certain print queues on the same server. The mear presence of this switch does not enable CAP AUFS security for all printers. If this switch is present, AUFS security is enabled for those printers which are ``protected'', that is, those for which there is a per-page printing charge (even if the charge is 0.00 dollars per page). AUFS security is also enabled for any printer which has the line ``ForceAUFSSecurity: YES'' in its paragraph in the papsrv configuration file. (See papsrv.conf(5)).
If AUFS security is turned on for a particular printer and a user attempts to print without having mounted a file sharing volume, papsrv detects this and tell the Macintosh that a PostScript error has occured. In order for the user to see this message, the LaserWriter driver option for PostScript error reporting must be set correctly. To do this with LaserWriter 8.x, choose print in any application, then press the ``Options'' button and then change ``PostScript Errors:'' to ``Summarize on Screen''.
CAP must not be compiled with the HIDE_AUFS_SECURITY option. (With HIDE_AUFS_SECURITY enabled, only root can tell if a user has a volume mounted. It is unclear to me how the option increases security anyway, except perhaps if the security directory is /tmp.)
Most AppleTalk implementations only allow a node (computer) to adversize names in one zone. Netatalk, however, allows each advertized name to be adversized in any accessible zone. The -z switch specifies a default zone for names in ``PAPname:'' lines in the configuration file which do not specify a zone. If the -z switch is not used, papsrv will attempt to read the default zone from the first line of the file /etc/ppr/papsrv_default_zone.conf; if the -z switch is not used and the file is not found, the default zone will be ``*'' which will allow Netatalk to decide what zone to put the name in.
Papsrv is a setuid program owned by ``ppr''. The first thing it does when it is invoked is to make sure that the real user who invoked it is ``ppr'' or ``root''. If it is not, papsrv prints an error message on stderr and exits immediately.
Papsrv should never be killed with the command ``kill -9'' or "B The shell script papsrv_kill reads the process id from the default PID
file and kills papsrv by sending it SIGTERM.
If papsrv receives SIGUSR1 it will begin logging queries and answers to the
log file. If it receives SIGUSR1 again it will also begin logging the
PostScript code of the queries to the log file. If it receives SIGUSR1 a
third time it will stop loggin queries.
It is a good idea to run ppad ppdopts on a printer before sharing it with
papsrv. Some printers have optional equipment. If optional equipment is
available for your printer, ppad ppdopts may ask you to indicate which
options are installed. It is a good idea to do this because the client may
ask the server to indicate whether a particuliar piece of optional equipment
is installed. If you have not run ppad ppdopts, Papsrv will indicate that
it doesn't know whether any specific piece of optional equipment is
installed.
It also reads printer and group configuration files in /etc/ppr/printers
and /etc/ppr/groups and PPD files in /usr/ppr/PPDFiles or wherever the
user specifies as the location for a particular printer's PPD File.
The default log file is /var/spool/ppr/logs/papsrv.
The default PID file is /var/spool/ppr/papsrv.pid.
If the -z switch is not used, papsrv will attempt to read the file
/etc/ppr/papsrv_default_zone.conf. The first line of this file is used
as the default zone for advertising printers.
FILES
Papsrv by default, reads the configuration file /etc/ppr/papsrv.conf.
Prior to version 1.30, this file was /etc/ppr/papsrv.
DIAGNOSTICS
Since papsrv is a daemon, exit codes are not useful, however it does
write a log in /var/spool/ppr/logs/papsrv. If it fails for some reason,
a message will be written to the log. This log should be examined after
papsrv has been restarted if its configuration file has been modified.
SEE ALSO
the ppop manpage
(1), the ppr manpage
(1), the papsrv manpage
(5), the ppad manpage
(8), the pprd manpage
(8)
``PPR, a PostScript Print Spooler'', ``Installing and Using PPR''.
HISTORY
PPR was written at Trinity College during 1993, 1994, 1995, and 1996.
AUTHORS
David Chappell, Trinity College Computing Center, Hartford, Connecticut.
BUGS
It is not possible to add or remove Macintosh shared printers without
editing the configuration file and restarting papsrv. While it is
restarting, which with a long list of printers to share may take several
minutes, all the printer shares are unusable. One possible work-around is
to run several papsrv daemons, each with a different configuration, log, and
PID files. That is the purpose of the -f, -l, and -p switches.