POPD(8)

NAME
popd - POP3 daemon

SYNOPSIS
popd [-f] [-c config_file]

DESCRIPTION
The popd server is a fast, RFC1939 compliant POP3 server.

popd allows mail for users in multiple domains to be served from one server in virtual mode. It also allows for mail to be expired from the server (when users collect mail older than a specified time), falsification of UIDL information and removal of old mail.

popd currently supports the following mail store schemas:

1.  Each message in the mailbox is a separate file and the mailbox is a directory.

2.  The mailbox is a file and all messages are in that file.

3.  The mailbox is a file and all messages are in that file. The messages in this file are stored in ‘wire format’. Each line has a <CR><LF> at the end, and where the termination character ‘’. would appear, it is represented by ‘..’. This file has a binary index.

This manual page refers to 1 as Mail Dir Format, 2 as Mail Box Format and 3 as Mail Index Format.

For systems wanting to run mail for many domains it is possible to serve, for example, fred@bar.net's mail from /var/mail/bar.net/fred/ or /var/mail/bar.net/f/fr/fred depending on the values of ‘n’.

popd will use one of four schemes to authenticate users. By default popd will use the system password files if no RADIUS server has been configured or if it is not run in virtual mode. If popd is run in virtual mode, it will use the Virtual_password_file. If a RADIUS_server has been configured, popd will use RADIUS for password authentication. However, popd will always use the APOP_secret_database for all authentication requests using the APOP command.

popd also facilitates the process of sending system-wide notices to users with the bulletin feature. Bulletins are delivered to users at dowload time from files in the bulletin directory. Once the user has downloaded the bulletin, the user is not presented with that bulletin again.

The path to the bulletins is constructed as follows: in normal operation bulletin_dir and in virtual operation bulletin_dir/realm.

If popd is handed a an open socket on stdin and stdout, popd will not daemonise. In other words if popd is launched from inetd(8) it will not daemonise, but configuration options will still be observed.

If popd was compiled with ‘-DUSE_PAM’ then PAM support will be enabled. popd presents itself as ‘popd’ to the PAM system. You will need something like the following in your /etc/pam.conf:

    popd	auth	required	pam_unix.so	try_first_pass
    popd	account	optional	pam_permit.so

The following commandline options are supported:

-c config_file
    The full path to the configuration file that popd should read on startup. the default path is /usr/local/etc/popd.conf.

-f  Force popd startup if there was an error opening the configuration file. If the configuration file could not be opened, programmed defaults will used for all configuration options. See popd.conf(5) for more details.

See popd.conf(5) for more details on configuring popd.

FILES
/usr/local/etc/popd.conf
    The configuration file.
/etc/services
    Translation of service names to port numbers.
etc_dir/passwd.db
    Password file for virtual POP3 server.
etc_dir/secrets.db
    APOP secrets database.
bulletin_dir/file1 ...
    Global bulletins.
bulletin_dir/domain1/file1 ...
    Domain specific bulletins.

EXAMPLES
An example perl program makesecrets.pl is supplied to aid the construction of the APOP_secret_database. This program may be modified to build the Virtual_password_file, which has the same format as the APOP_secret_database.

SEE ALSO
popd.conf(5), pam.conf(5), setuid(2), sysexits(3), libradius(3) Network Working Group, Post Office Protocol - Version 3, RFC1939.

DIAGNOSTICS
Exit status as defined in sysexits(3) are returned.

popd reports status messages, warnings and errors via syslog(3) using the LOG_DAEMON facility. Warnings and errors are logged using the LOG_NOTICE and LOG_CRIT priorities, while connections, authentication and sessions are logged at LOG_INFO.

BUGS
Perhaps. This code should be fairly stable. We've been running it in production since 1999.

HISTORY
popd was originally written for UUNET South Africa in 1999.

AUTHORS
popd was written by Ian Freislich.

Send bug reports to Ian Freislich <ian@freislich.nom.za>.