.\" Copyright (c) 1999 Ian Freislich .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $Id: popd.8,v 1.31 2002/11/07 08:55:02 ianf Exp $ .\" .Dd September 20, 1999 .Dt POPD 8 .Os .Sh NAME .Nm popd .Nd POP3 daemon .Sh SYNOPSIS .Nm popd .Bk -words .Op Fl f .Op Fl c Ar config_file .Ek .Sh DESCRIPTION The .Nm server is a fast, RFC1939 compliant POP3 server. .Pp .Nm allows mail for users in multiple domains to be served from one server in .Em 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. .Pp .Nm currently supports the following mail store schemas: .Bl -enum -width indent .It Each message in the mailbox is a separate file and the mailbox is a directory. .It The mailbox is a file and all messages are in that file. .It The mailbox is a file and all messages are in that file. The messages in this file are stored in .Sq wire format . Each line has a at the end, and where the termination character .Sq \&. would appear, it is represented by .Sq .. . This file has a binary index. .El .Pp This manual page refers to .Ic 1 as Mail Dir Format, .Ic 2 as Mail Box Format and .Ic 3 as Mail Index Format. .Pp For systems wanting to run mail for many domains it is possible to serve, for example, .Li fred@bar.net's mail from .Pa /var/mail/bar.net/fred/ or .Pa /var/mail/bar.net/f/fr/fred depending on the values of .Sq Li n . .Pp .Nm will use one of four schemes to authenticate users. By default .Nm will use the system password files if no RADIUS server has been configured or if it is not run in virtual mode. If .Nm is run in virtual mode, it will use the .Ar Virtual_password_file . If a .Ar RADIUS_server has been configured, .Nm will use RADIUS for password authentication. However, .Nm will always use the .Ar APOP_secret_database for all authentication requests using the APOP command. .Pp .Nm 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. .Pp The path to the bulletins is constructed as follows: in normal operation .Pa bulletin_dir and in virtual operation .Pa bulletin_dir/realm . .Pp If .Nm is handed a an open socket on .Dv stdin and .Dv stdout , .Nm will not daemonise. In other words if .Nm is launched from .Xr inetd 8 it will not daemonise, but configuration options will still be observed. .Pp If .Nm was compiled with .Sq Li -DUSE_PAM then PAM support will be enabled. .Nm presents itself as .Sq Li popd to the PAM system. You will need something like the following in your .Pa /etc/pam.conf : .Bd -literal popd auth required pam_unix.so try_first_pass popd account optional pam_permit.so .Ed .Pp The following commandline options are supported: .Bl -tag -width indent .It Fl c Ar config_file The full path to the configuration file that .Nm should read on startup. the default path is .Pa /usr/local/etc/popd.conf . .It Fl f Force .Nm 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 .Xr popd.conf 5 for more details. .El .Pp See .Xr popd.conf 5 for more details on configuring .Nm . .Pp .Sh FILES .Bl -tag -width /usr/local/etc/popd.conf -compact .It Pa /usr/local/etc/popd.conf The configuration file. .It Pa /etc/services Translation of service names to port numbers. .It Pa etc_dir/passwd.db Password file for virtual POP3 server. .It Pa etc_dir/secrets.db APOP secrets database. .It Pa bulletin_dir/file1 ... Global bulletins. .It Pa bulletin_dir/domain1/file1 ... Domain specific bulletins. .El .Sh EXAMPLES An example perl program .Pa makesecrets.pl is supplied to aid the construction of the .Ar APOP_secret_database . This program may be modified to build the .Ar Virtual_password_file , which has the same format as the .Ar APOP_secret_database . .El .Pp .Sh SEE ALSO .Xr popd.conf 5 , .Xr pam.conf 5 , .Xr setuid 2 , .Xr sysexits 3 , .Xr libradius 3 .Rs .%A Network Working Group .%T Post Office Protocol - Version 3 .%O RFC1939 .Re .Sh DIAGNOSTICS Exit status as defined in .Xr sysexits 3 are returned. .Pp .Nm reports status messages, warnings and errors via .Xr syslog 3 using the .Dv LOG_DAEMON facility. Warnings and errors are logged using the .Dv LOG_NOTICE and .Dv LOG_CRIT priorities, while connections, authentication and sessions are logged at .Dv LOG_INFO . .Sh BUGS Perhaps. This code should be fairly stable. We've been running it in production since 1999. .Sh HISTORY .Nm was originally written for UUNET South Africa in 1999. .Pp .Sh AUTHORS .Nm was written by .An Ian Freislich . .Pp Send bug reports to .An Ian Freislich Aq ian@freislich.nom.za .