Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37785575
en ru br
Репозитории ALT
S:1.0.3-alt2
5.1: 1.0.2-alt3
4.1: 1.0.2-alt3
4.0: 1.0.2-alt3
3.0: 0.6.4.1-alt1
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: popa3d

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

/*
* Global POP daemon parameters.
*/

#ifndef _POP_PARAMS_H
#define _POP_PARAMS_H

/*
* Our name to use when talking to various interfaces.
*/
#define POP_SERVER "popa3d"

/*
* Are we going to be a standalone server or start via an inetd clone?
*/
#define POP_STANDALONE 1

#if POP_STANDALONE

/*
* Should the command line options be supported?
* If enabled, popa3d will default to inetd mode and will require a -D
* to actually enable the standalone mode.
*/
#define POP_OPTIONS 1

/*
* The address and port to listen on.
*/
#define DAEMON_ADDR "0.0.0.0" /* INADDR_ANY */
#define DAEMON_PORT 110

/*
* Should libwrap be used?
*
* This may make things slower and also adds to code running as root,
* so it is recommended that you use a packet filter instead. This
* option is provided primarily as a way to meet conventions of certain
* systems where all services obey libwrap access controls.
*/
#define DAEMON_LIBWRAP 0

#if DAEMON_LIBWRAP
/*
* How do we talk to libwrap?
*/
#define DAEMON_LIBWRAP_IDENT POP_SERVER
#endif

/*
* Limit the number of POP sessions we can handle at a time to reduce
* the impact of connection flood DoS attacks.
*
* The defaults are rather large. It is recommended that you decrease
* MAX_SESSIONS and MAX_SESSIONS_PER_SOURCE to 100 and 10, respectively,
* if that would be sufficient for your users.
*/
#define MAX_SESSIONS 500
#define MAX_SESSIONS_PER_SOURCE 50
#define MAX_BACKLOG 5
#define MIN_DELAY 10

#endif

/*
* Do we want to support virtual domains?
*/
#define POP_VIRTUAL 0

#if POP_VIRTUAL

/*
* VIRTUAL_HOME_PATH is where the virtual domain root directories live.
*/
#define VIRTUAL_HOME_PATH "/vhome"

/*
* Subdirectories within each virtual domain root for the authentication
* information and mailboxes, respectively. These defaults correspond to
* full pathnames of the form "/vhome/IP/{auth,mail}/username".
*/
#define VIRTUAL_AUTH_PATH "auth"
#define VIRTUAL_SPOOL_PATH "mail"

/*
* Do we want to support virtual domains only? Normally, if the connected
* IP address doesn't correspond to a directory in VIRTUAL_HOME_PATH, the
* authentication will be done globally.
*/
#define VIRTUAL_ONLY 0

#else

/*
* We don't support virtual domains (!POP_VIRTUAL), so we're definitely
* not virtual-only. Don't edit this.
*/
#define VIRTUAL_ONLY 0

#endif

/*
* A pseudo-user to run as before authentication. The user and its UID
* must not be used for any other purpose.
*/
#define POP_USER POP_SERVER

/*
* An empty directory to chroot to before authentication. The directory
* and its parent directories must not be writable by anyone but root.
*/
#define POP_CHROOT "/var/empty"

/*
* Sessions will be closed if idle for longer than POP_TIMEOUT seconds.
* RFC 1939 says that "such a timer MUST be of at least 10 minutes'
* duration", so I've made 10 minutes the default. In practice, you
* may want to reduce this to, say, 2 minutes.
*/
#define POP_TIMEOUT (10 * 60)

/*
* Do we want to support the obsolete LAST command, as defined in RFC
* 1460? It has been removed from the protocol in 1994 by RFC 1725,
* and isn't even mentioned in RFC 1939. Still, some software doesn't
* work without it.
*/
#define POP_SUPPORT_LAST 1

/*
* Introduce some sane limits on the mailbox size in order to prevent
* a single huge mailbox from stopping the entire POP service.
*
* The defaults are rather large (2 GB filled with messages as small as
* 1 KB each). It is recommended that you decrease MAX_MAILBOX_MESSAGES,
* MAX_MAILBOX_OPEN_BYTES, and MAX_MAILBOX_WORK_BYTES to, say, 100000,
* 100000000 (100 MB), and 150000000 (150 MB), respectively, if that
* would be sufficient for your users.
*/
#define MAX_MAILBOX_MESSAGES 2097152
#define MAX_MAILBOX_OPEN_BYTES 2147483647
#define MAX_MAILBOX_WORK_BYTES 2147483647

#if !VIRTUAL_ONLY

/*
* Choose the password authentication method your system uses:
*
* AUTH_PASSWD Use getpwnam(3) only, for *BSD or readable passwd;
* AUTH_SHADOW Use shadow passwords directly (not via PAM);
* AUTH_PAM Use PAM in the old-fashioned way;
* AUTH_PAM_USERPASS Talk to pam_userpass via Linux-PAM binary prompts
* USE_LIBPAM_USERPASS ...and use libpam_userpass.
*
* Note that there's no built-in password aging support.
*/
#define AUTH_PASSWD 0
#define AUTH_SHADOW 0
#define AUTH_PAM 0
#define AUTH_PAM_USERPASS 1
#define USE_LIBPAM_USERPASS 1

#if AUTH_PAM || AUTH_PAM_USERPASS
#define AUTH_PAM_SERVICE POP_SERVER
#endif

#endif

#if POP_VIRTUAL || AUTH_PASSWD || AUTH_SHADOW

/*
* A salt used to waste some CPU time on dummy crypt(3) calls and make
* it harder (but still far from impossible, on most systems) to check
* for valid usernames. Adjust it for your crypt(3).
*/
#define AUTH_DUMMY_SALT "$2a$08$xxxxxxxxxxxxxxxxxxxxxx"

#endif

/*
* Message to return to the client when authentication fails. You can
* #undef this for no message.
*/
#define AUTH_FAILED_MESSAGE "Authentication failed (bad password?)"

#if !VIRTUAL_ONLY

/*
* Your mail spool directory. Note: only local (non-NFS) mode 775 mail
* spools are currently supported.
*
* #undef this for qmail-style $HOME/Mailbox mailboxes.
*/
#define MAIL_SPOOL_PATH "/var/mail"

#ifndef MAIL_SPOOL_PATH
/*
* The mailbox file name relative to the user's home directory.
*/
#define HOME_MAILBOX_NAME "Mailbox"
#endif

#endif

/*
* Locking method your system uses for user mailboxes. It is important
* that you set this correctly.
*
* *BSDs use flock(2), others typically use fcntl(2).
*/
#define LOCK_FCNTL 1
#define LOCK_FLOCK 0

/*
* How do we talk to syslogd? These should be fine for most systems.
*/
#define SYSLOG_IDENT POP_SERVER
#define SYSLOG_OPTIONS LOG_PID
#define SYSLOG_FACILITY LOG_DAEMON
#define SYSLOG_PRI_LO LOG_INFO
#define SYSLOG_PRI_HI LOG_NOTICE
#define SYSLOG_PRI_ERROR LOG_CRIT

/*
* There's probably no reason to touch anything below this comment.
*/

/*
* According to RFC 1939: "Keywords and arguments are each separated by
* a single SPACE character. Keywords are three or four characters long.
* Each argument may be up to 40 characters long." We're only processing
* up to two arguments, so it is safe to truncate after this length.
*/
#define POP_BUFFER_SIZE 0x80

/*
* There's no reason to change this one either. Making this larger would
* waste memory, and smaller values could make the authentication fail.
*/
#define AUTH_BUFFER_SIZE (2 * POP_BUFFER_SIZE)

#if POP_VIRTUAL

/*
* Buffer size for reading entire per-user authentication files.
*/
#define VIRTUAL_AUTH_SIZE 0x100

#endif

/*
* File buffer sizes to use while parsing the mailbox and retrieving a
* message, respectively. Can be changed.
*/
#define FILE_BUFFER_SIZE 0x10000
#define RETR_BUFFER_SIZE 0x8000

/*
* The mailbox parsing code isn't allowed to truncate lines earlier than
* this length. Keep this at least as large as the longest header field
* name we need to check for, but not too large for performance reasons.
*/
#define LINE_BUFFER_SIZE 0x20

#endif
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin