diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-12-24 01:15:53 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-12-24 01:15:53 +0200 |
commit | 7b33328452802337f3c0301d96da0b5430a58223 (patch) | |
tree | c1a7dfaf9923dac294760bdefa9775e5155cd2b7 | |
parent | 1dc8eb3f3c94efc544af7acae01c6634a7320338 (diff) | |
download | mailutils-7b33328452802337f3c0301d96da0b5430a58223.tar.gz mailutils-7b33328452802337f3c0301d96da0b5430a58223.tar.bz2 |
Fixes.
* doc/texinfo/Makefile.am (final): Add fix-sentence-spacing.
* doc/texinfo/mailutils.texi: Update.
* doc/texinfo/programs.texi: Update.
* pop3d/pop3d.c, sieve/sieve.c: Use mu_cfg_bool, where appropriate.
-rw-r--r-- | doc/texinfo/Makefile.am | 2 | ||||
-rw-r--r-- | doc/texinfo/mailutils.texi | 6 | ||||
-rw-r--r-- | doc/texinfo/programs.texi | 844 | ||||
-rw-r--r-- | pop3d/pop3d.c | 4 | ||||
-rw-r--r-- | sieve/sieve.c | 2 |
5 files changed, 698 insertions, 160 deletions
diff --git a/doc/texinfo/Makefile.am b/doc/texinfo/Makefile.am index afe45d624..0dde172ce 100644 --- a/doc/texinfo/Makefile.am +++ b/doc/texinfo/Makefile.am @@ -125,7 +125,7 @@ fix-sentence-spacing: fi; \ done -final: untabify master-menu +final: untabify fix-sentence-spacing master-menu # Checks diff --git a/doc/texinfo/mailutils.texi b/doc/texinfo/mailutils.texi index e09292aba..06014bf4a 100644 --- a/doc/texinfo/mailutils.texi +++ b/doc/texinfo/mailutils.texi @@ -227,9 +227,15 @@ Reading Mail @command{movemail} --- Moves Mail from the User Maildrop to the Local File +* Movemail Configuration:: * Movemail Options:: Description of the Available Options * Summary:: Short Movemail Invocation Summary +@command{readmsg} --- Extract Messages from a Folder + +* Opt-readmsg:: Invocation of @command{readmsg}. +* Conf-readmsg:: Configuration of @command{readmsg}. + @command{sieve} * sieve interpreter:: A Sieve Interpreter diff --git a/doc/texinfo/programs.texi b/doc/texinfo/programs.texi index 87b035d73..eec7022ef 100644 --- a/doc/texinfo/programs.texi +++ b/doc/texinfo/programs.texi @@ -348,6 +348,7 @@ and to edit the @file{imap4d.rc} file with your editor of choice. * Debug Statement:: * Mailbox Statement:: * Locking Statement:: +* Mailer Statement:: * ACL Statement:: * Tcp-wrappers Statement:: * Server Settings:: @@ -1085,6 +1086,81 @@ Set command line of an external locker program. The @samp{E} flag must be set for this to take effect. @end deffn +@node Mailer Statement +@subsection Mailer Statement +@kwindex mailer +@subheading Syntax +@smallexample +mailer @{ + url @var{url}; +@} +@end smallexample + +@subheading Description +A @dfn{mailer} is a special logical entity GNU Mailutils uses for +sending messages. Its internal representation is discussed in +@ref{Mailer}. The @code{mailer} statement configures it. + +The mailer statement contains a single sub-statement: + +@deffn {Configuration} url @var{str} +Set the mailer @acronym{URL}. +@end deffn + +GNU Mailutils supports two types of mailer @acronym{URL}s, described +in the table below. As usual, square brackets indicate optional parts: + +@table @asis +@item smtp://@var{host}[:@var{port}] +Use an SMTP server @var{host} to send messages. Optional @var{port} +specifies port number or symbolic name (as defined in +@file{/etc/services}). It defaults to 25. The @var{host} can be +specified as either an IP address in dotted-quad notation or as a +symbolic host name. In the latter case, DNS system will be used to +resolve it. + +@item sendmail://@var{progname} +Use sendmail-compatible program +@var{progname}. @dfn{Sendmail-compatible} means that the program must +support following command line options: + +@table @option +@item -oi +Do not treat @samp{.} as message terminator. + +@item -f @var{addr} +Use @var{addr} as the sender address. + +@item -t +Get recipient addresses from the message. +@end table + +@item sendmail: +This is a special form of the @samp{sendmail} mailer. It uses the +@command{sendmail} binary from the @code{_PATH_SENDMAIL} macro in your +@file{/usr/include/paths.h}. It is the default mailer. + +@item prog://@var{progname}?@var{query} +A @dfn{prog} mailer. This is a generalization of @samp{sendmail} +mailer that allows to use arbitrary external programs as mailers. + +The @var{progname} must be a full pathname of the binary file. When +sending message, Mailutils will invoke this file with the arguments +specified by @var{query} and will pipe the message to be sent to its +standard input. + +The @var{query} part is a list of arguments, separated by @samp{&} +signs. Arguments may contain the following macro-substitutions: + +@table @samp +@item $@{sender@} +Expands to the sender email address. + +@item $@{rcpt@} +Expands to the recipient email addresses. +@end table +@end table + @node ACL Statement @subsection ACL Statement @kwindex acl @@ -1961,7 +2037,7 @@ ldap @{ @node TLS Statement @subsection TLS Statement -@UNREVISED +@WRITEME @kwindex tls @subheading Syntax @smallexample @@ -2010,10 +2086,10 @@ configuration file statements: @multitable @columnfractions 0.3 0.6 @headitem Statement @tab Reference -@item debug @tab @xref{Debug Statement}. -@item tls @tab @xref{TLS Statement}. -@item mailbox @xref{Mailbox Statement}. -@item locking @xref{Locking Statement}. +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. @end multitable @subheading @command{frm} @@ -3887,10 +3963,10 @@ Following configuration file statements affect the behaviour of @multitable @columnfractions 0.3 0.6 @headitem Statement @tab Reference -@item debug @tab @xref{Debug Statement}. -@item tls @tab @xref{TLS Statement}. -@item mailbox @xref{Mailbox Statement}. -@item locking @xref{Locking Statement}. +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. @end multitable The program accepts following command line options: @@ -3964,16 +4040,16 @@ If @var{bool} is @samp{true}, output information used by Emacs rmail interface. @multitable @columnfractions 0.3 0.6 @headitem Statement @tab Reference -@item debug @tab @xref{Debug Statement}. -@item tls @tab @xref{TLS Statement}. -@item mailbox @xref{Mailbox Statement}. -@item locking @xref{Locking Statement}. -@item pam @xref{PAM Statement}. -@item sql @xref{SQL Statement}. -@item virtdomain @xref{Virtdomain Statement}. -@item radius @xref{Radius Statement}. -@item ldap @xref{LDAP Statement}. -@item auth @xref{Auth Statement}. +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@item pam @tab @xref{PAM Statement}. +@item sql @tab @xref{SQL Statement}. +@item virtdomain @tab @xref{Virtdomain Statement}. +@item radius @tab @xref{Radius Statement}. +@item ldap @tab @xref{LDAP Statement}. +@item auth @tab @xref{Auth Statement}. @end multitable @node Movemail Options @@ -4218,15 +4294,14 @@ only the first. @multitable @columnfractions 0.3 0.6 @headitem Statement @tab Reference -@item debug @tab @xref{Debug Statement}. -@item tls @tab @xref{TLS Statement}. -@item mailbox @xref{Mailbox Statement}. -@item locking @xref{Locking Statement}. +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. @end multitable @node sieve @section @command{sieve} -@UNREVISED @pindex sieve Sieve is a language for filtering e-mail messages at time of final @@ -4252,6 +4327,7 @@ its standard. @menu * Invoking Sieve:: +* Sieve Configuration:: * Logging and Debugging:: * Extending Sieve:: @end menu @@ -4274,6 +4350,15 @@ and @var{options} is one or more of the following: @itemx --compile-only Compile script and exit. +@item --clear-library-path +@itemx --clearpath +Clear Sieve library path. See also @ref{Sieve Configuration, +clear-library-path}. + +@item --clear-include-path +Clear Sieve include path. See also @ref{Sieve Configuration, +clear-include-path}. + @item -d[@var{flags}] @itemx --debug[=@var{flags}] Specify debug flags. The @var{flags} argument is a sequence of one or @@ -4295,16 +4380,29 @@ Compile the script, dump disassembled code on standard output and exit. @itemx --email @var{address} Override the user email address. This is useful for @code{reject} and @code{redirect} actions. By default, the user email address is deduced -from the user name and the full name of the machine where sieve is -executed. +from the user name and the full name of the machine where +@command{sieve} is executed. See also @ref{Sieve Configuration, +email}. + +@item -I @var{dir} +@itemx --includedir=@var{dir} +Append directory @var{dir} to the list of directories searched for +include files. See also @ref{Sieve Configuration, include-path}. @item -f @itemx --mbox-url=@var{mbox} -Mailbox to sieve (defaults to user's system mailbox) +Mailbox to sieve (defaults to user's system mailbox). See also +@ref{Sieve Configuration, mbox-url}. @item -k @itemx --keep-going -Keep on going if execution fails on a message +Keep on going if execution fails on a message. See also +@ref{Sieve Configuration, keep-going}. + +@item -L @var{dir} +@item --libdir=@var{dir} +Append directory @var{dir} to the list of directories searched for +library files. See also @ref{Sieve Configuration, library-path}. @item -n @itemx --no-actions @@ -4312,16 +4410,102 @@ Dry run: do not execute any actions, just print what would be done. @item -t @var{ticket} @itemx --ticket=@var{ticket} -Ticket file for mailbox authentication +Ticket file for mailbox authentication. See also +@ref{Sieve Configuration, ticket}. @item -v @itemx --verbose -Log all actions executed. +Log all actions executed. See also @ref{Sieve Configuration, verbose}. @end table -Apart from these, @command{sieve} understands the options from the -following groups: @code{sieve}, @code{mailbox}, @code{mailer}, -@code{logging}. +@node Sieve Configuration +@subsubheading Sieve Configuration + +The behavior of @command{sieve} is affected by the following +configuration statements: + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@item logging @tab @xref{Logging Statement}. +@item mailer @tab @xref{Mailer Statement}. +@end multitable + +The following statements configure sieve-specific features: + +@deffn {Sieve Conf} sieve @{ ... @} +This block statement configures search paths @command{sieve} uses to +locate its loadable modules. @xref{Require Statement}, for a detailed +information of this feature. + +This statement may contain the following sub-statements: +@code{clear-library-path}, @code{clear-include-path}, +@code{library-path}, @code{include-path}, which are described below. +@end deffn + +@deffn {Sieve Conf} clear-library-path @var{bool} +Used within the @code{sieve} block statement. + +If @var{bool} is @samp{true}, clear library search path. +@end deffn + +@deffn {Sieve Conf} clear-include-path @var{bool} +Used within the @code{sieve} block statement. + +If @var{bool} is @samp{true}, clear include search path. +@end deffn + +@deffn {Sieve Conf} library-path @var{path} +Used within the @code{sieve} block statement. + +Add directories to @command{sieve} library search path. Argument is a +string containing a colon-separated list of directories. +@end deffn + +@deffn {Sieve Conf} include-path @var{path} +Used within the @code{sieve} block statement. + +Add directories to the include search path. Argument is a +string containing a colon-separated list of directories. +@end deffn + +@deffn {Sieve Conf} keep-going @var{bool} +If @var{bool} is @samp{true}, do not abort if execution of a Sieve +script fails on a particular message. +@end deffn + +@deffn {Sieve Conf} mbox-url @var{url} +Sets @acronym{URL} of the mailbox to be processed. +@end deffn + +@deffn {Sieve Conf} ticket @var{file} +Sets the name of the ticket file for user authentication. +@end deffn + +@deffn {Sieve Conf} debug @var{flags} +Sets Sieve debug flags. @xref{Logging and Debugging}, for a detailed +description. +@end deffn + +@deffn {Sieve Conf} verbose @var{bool} +If @var{bool} is @samp{true}, log all executed actions. +@end deffn + +@deffn {Sieve Conf} line-info @var{bool} +If @var{bool} is @samp{true}, rint source locations along with action +logs. This statement takes effect only if @code{verbose true} is also +set. +@end deffn + +@deffn {Sieve Conf} email @var{addr} +Set user e-mail address. This is useful for @code{reject} and +@code{redirect} actions. By default, the user email address is deduced +from the user name and the full name of the machine where @command{sieve} is +executed. +@end deffn @node Logging and Debugging @subsubheading Logging and debugging @@ -4410,7 +4594,14 @@ following search paths (in the order given): @item The value of the environment variable @env{LTDL_LIBRARY_PATH}. @item Additional search directories specified with the -@code{#searchpath} directive. +@code{library-path} statement (@pxref{Sieve Configuration, +library-path}) in Sieve configuration file. + +@item Additional search directories specified with the. +@option{--libdir} command line option (@FIXME-pxref{libdir}). + +@item Additional search directories specified with the +@code{#searchpath} Sieve directive (@pxref{#searchpath}). @item System library search path: The system dependent library search path (e.g. on Linux it is set by the contents of the file @@ -4456,8 +4647,8 @@ source for the required action NAME is not available A Sieve to Scheme Translator @command{sieve.scm} translates a given Sieve script into an equivalent Scheme program and optionally executes it. The program itself is written in Scheme and requires presence of -Guile 1.4 on the system. For more information on Guile refer to -@ref{Top,,Overview,guile,The Guile Reference Manual}. +Guile version 1.8 or newer on the system. For more information on +Guile refer to @ref{Top,,Overview,guile,The Guile Reference Manual}. @table @option @item -f @var{filename} @@ -4492,7 +4683,15 @@ It processes mailboxes, applying the user-supplied scheme procedures to each of them in turn and saves the resulting output in mailbox format. -The program uses following option groups: @FIXME-xref{mailbox}. +The following configuration statements affect the behavior of +@command{guimb}: + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@end multitable @menu * Specifying Scheme Program to Execute:: @@ -4650,6 +4849,7 @@ and appends the received data to the local mailboxes. @menu * Invocation:: Mail.local options +* Mail.local Config:: * MTA:: Using mail.local with various MTAs * Mailbox Quotas:: Setting up mailbox quotas. * Sieve Filters:: Implementing user-defined Sieve mail filters. @@ -4759,6 +4959,87 @@ default, 'service unavailable' is returned if the message exceeds the mailbox quota. @end table +@node Mail.local Config +@subsection Mail.local Configuration + +The behavior of mail.local is affected by the following configuration +statements: + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@item pam @tab @xref{PAM Statement}. +@item sql @tab @xref{SQL Statement}. +@item virtdomain @tab @xref{Virtdomain Statement}. +@item radius @tab @xref{Radius Statement}. +@item ldap @tab @xref{LDAP Statement}. +@item auth @tab @xref{Auth Statement}. +@item mailer @tab @xref{Mailer Statement}. +@end multitable + +Additionally, @command{mail.local} defines the following configuration +statements for its use: + +@deffn {Mail.local Config} ex-multiple-delivery-success @var{bool} +In case of multiple delivery, exit with code 0 if at least one +delivery has succeeded. +@end deffn + +@deffn {Mail.local Config} ex-quota-tempfail @var{bool} +Indicate temporary failure if the recipient is over his mail quota. +By default, permanent failure is returned. +@end deffn + +@deffn {Mail.local Config} quota-db @var{file} +Set the name of DBM quota database file. +@end deffn + +@deffn {Mail.local Config} sieve-filter @var{pattern} +Set file name or name pattern of the Sieve filter file. + +The following meta-sequences are expanded in @var{pattern}: + +@table @asis +@item ~ +@itemx %h +Expands to the recipient home directory. + +@item %u +Expands to the recipient user name. +@end table +@end deffn + +@deffn {Mail.local Config} message-id-header @var{name} +When logging Sieve actions, identify messages by the value of this +header. +@end deffn + +@deffn {Mail.local Config} guile-filter @var{pattern} +File name or name pattern for Guile filter file. See +@code{sieve-filter} above, for the description if @var{pattern}. +@end deffn + +@deffn {Mail.local Config} debug @var{flags} +Set additional debugging flags. Valid flags are: + +@table @asis +@item g +Print @command{guimb} stack traces. + +@item t +Enable @command{sieve} trace (@code{MU_SIEVE_DEBUG_TRACE}). + +@item i +Enable @command{sieve} instructions trace +(@code{MU_SIEVE_DEBUG_INSTR}). + +@item l +Log executed Sieve actions. +@end table +@end deffn + @node MTA @subsection Using @command{mail.local} with Various MTAs @@ -5003,16 +5284,17 @@ To summarize this, here is a working @file{mailutils.rc} entry for @node Sieve Filters @subsection Implementing User-defined Sieve Mail Filters +@WRITEME @node Scheme Filters @subsection Implementing User-defined Scheme Mail Filters +@WRITEME @page @node mail.remote @section @command{mail.remote} --- Pseudo-Sendmail Interface for Mail Delivery @pindex mail.remote - -[FIXME] +@WRITEME @page @node mimeview @@ -5023,12 +5305,12 @@ To summarize this, here is a working @file{mailutils.rc} entry for to autodetect its type and invoke an appropriate file viewer. To detect the file type, @command{mimeview} uses @file{mime.types} -file. This file is a part of Common UNIX Printing System, see -@code{man mime.types} for the description of its syntax. [FIXME: -provide an xref to CUPS]. By default @command{mimeview} searches for -@file{mime.types} in @file{$prefix/etc/cups/}@footnote{The exact -location is determined at configuration time by setting environment -variable @var{DEFAULT_CUPS_CONFDIR}. On most sites running +file. This file is a part of Common UNIX Printing System, +@ref{mime.types,,,mime.types(5), mime.types man page}. By default +@command{mimeview} searches for @file{mime.types} in +@file{$prefix/etc/cups/}@footnote{The exact location is determined at +configuration time by setting environment variable +@env{DEFAULT_CUPS_CONFDIR}. On most sites running @smallexample ./configure DEFAULT_CUPS_CONFDIR=/etc/cups @@ -5053,6 +5335,14 @@ $HOME/.mailcap:/usr/local/etc/mailcap:\ /etc/mail/mailcap:/usr/public/lib/mailcap @end smallexample +@menu +* Mimeview Invocation:: +* Mimeview Config:: +@end menu + +@node Mimeview Invocation +@subsection Mimeview Invocation + The following table summarizes options specific for @command{mimeview}: @table @option @@ -5150,6 +5440,29 @@ Use @var{file} as @file{mime.types} file. If @var{file} is a directory, use @file{@var{file}/mime.types} @end table +@node Mimeview Config +@subsection Mimeview Config + +The following configuration statements affect the behavior of +@command{mimeview}: + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@end multitable + +@deffn {Mimeview Config} debug @var{number} +Set @command{mimeview} debug level. @xref{Mimeview Invocation, +--debug}, for a description of debug levels. +@end deffn + +@deffn {Mimeview Config} mimetypes @var{file} +Read @var{file} instead of the default @file{mime.types}. +@end deffn + +@deffn {Mimeview Config} metamail @var{program} +Use @var{program} to display files. +@end deffn @page @node pop3d @@ -5172,17 +5485,17 @@ pop3 stream tcp nowait root /usr/local/sbin/pop3d pop3d This is the default operation mode. @item Standalone -The server runs as daemon, forking a child for each new connection. This -mode is triggered by @option{-d} command line switch. +The server runs as daemon, forking a child for each new connection. @end table -The program uses following option groups: @FIXME-xref{mailbox}, -@FIXME-xref{daemon}, @FIXME-xref{logging}, @FIXME-xref{auth}. +The server operation mode is configured using @code{mode} statement +(@pxref{Server Settings, mode}). @menu * Login delay:: * Auto-expire:: * Bulletins:: +* Conf-pop3d:: Pop3d Configuration * Command line options:: @end menu @@ -5209,22 +5522,23 @@ The message will be issued after a valid password is entered. This prevents this feature from being used by malicious clients for account harvesting. - To enable the login delay capability, specify the minimum delay in -seconds with @option{--login-delay} option, for example: + To enable the login delay capability, specify the minimum delay +using @code{login-delay} configuration statement, e.g.: @smallexample -$ pop3d --login-delay=60 +login-delay 60; @end smallexample The @command{pop3d} utility keeps each user's last login time in a special DBM file, called @dfn{login statistics database}, so to be able to use this feature, Mailutils must be compiled with DBM support. By default, the login statistics database is called -@file{/var/run/pop3-login.db}. You can change its name at run time -using @option{--stat-file}: +@file{/var/run/pop3-login.db}. You can change its name using +@code{stat-file} configuration statement: @smallexample -$ pop3d --login-delay=60 --stat-file=/tmp/pop.login +login-delay 60; +stat-file /tmp/pop.login; @end smallexample Notice, that there is no need to include the @samp{.db} suffix in the @@ -5233,7 +5547,7 @@ file name. The login delay facility will be enabled only if @command{pop3d} is able to access the statistics database for both reading and writing. If it is not, it will report this using @command{syslog} and -start up without login delay restrictions. The common error message +start up without login delay restrictions. A common error message looks like: @smallexample @@ -5250,17 +5564,14 @@ are in use, there response will contain the string @samp{LOGIN-DELAY Automatic expiration of messages allows you to limit the period of time users are permitted to keep their messages on the server. It is -enabled by @option{--expire} command line option: +enabled by @code{expire} configuration statement: -@smallexample -$ pop3d --expire=@var{days} -@end smallexample - -@noindent -Here, @var{days} specifies the minimum server retention period, in -days, for retrieved messages on the server. +@table @code +@item expire @var{n}; +Enable automatic expiration of messages after @var{n} days. +@end table - Current implementation works as follows. When a message is + The current implementation works as follows. When a message is downloaded by @code{RETR} or @code{TOP} command, it is marked with @samp{X-Expire-Timestamp: @var{n}} header, where @var{n} is current value of UNIX timestamp. The exact expiration mechanism @@ -5269,8 +5580,14 @@ depends on you. Mailutils allows you two options: @enumerate @item Expired messages are deleted by @command{pop3d} upon closing the -mailbox. You specify this mechanism using @option{--delete-expired} -command line option. +mailbox. You specify this mechanism using @code{delete-expired} +configuration statement: + +@table @command +@item delete-expired @var{bool}; +If @var{bool} is @samp{true}, delete expired messages after receiving +the @code{QUIT} command. +@end table @item Expired messages remain in the mailbox after closing it. The system @@ -5291,11 +5608,11 @@ if timestamp :before "X-Expire-Timestamp" "now - 5 days" This script will remove expired messages 5 days after the retrieval. Replace @samp{5} with the desired expiration period and -make sure it equals the argument to @option{--expire} command. +make sure it equals the argument to @command{expire} configuration keyword. @end enumerate -The option @option{--expire=0} means the client is not permitted to -leave mail on the server. It always implies @option{--delete-expired}. +The statement @code{expire 0} means the client is not permitted to +leave mail on the server. It always implies @code{delete-expired true}. @node Bulletins @subsection Bulletins @@ -5313,17 +5630,17 @@ the user mailbox. The user last bulletin number can be kept in two places. First, it can be stored in file @file{.popbull} in his home directory. Secondly, if Mailutils is compiled with DBM support, the numbers can be kept in -a DBM file, supplied via @option{--bulletin-db} command line option. If +a DBM file, supplied via @code{bulletin-db} configuration statement. If both the database and the @file{.popbull} file are present, the data from the database take precedence. - To enable this feature, use the following command line options: + To enable this feature, use the following configuration statements: -@table @option -@item --bulletin-source=@var{mbox} +@table @code +@item bulletin-source @var{mbox} Set the @acronym{URL} of the bulletin source mailbox. -@item --bulletin-db=@var{file} +@item bulletin-db @var{file} Set the name of the database file to keep last bulletin numbers in. Be sure not to specify @samp{.db} extension. @end table @@ -5335,24 +5652,80 @@ and to keep the database of last delivered bulletin numbers in @smallexample @group -$ pop3d --bulletin-source=mh:/var/spool/bull/mbox \ - --bulletin-db=/var/spool/bull/numbers +bulletin-source mh:/var/spool/bull/mbox; +bulletin-db /var/spool/bull/numbers; @end group @end smallexample - + +@node Conf-pop3d +@subsection Pop3d Configuration + +The following configuration file statements affect the behavior of +@command{pop3d}. + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@item logging @tab @xref{Logging Statement}. +@item pam @tab @xref{PAM Statement}. +@item sql @tab @xref{SQL Statement}. +@item virtdomain @tab @xref{Virtdomain Statement}. +@item radius @tab @xref{Radius Statement}. +@item ldap @tab @xref{LDAP Statement}. +@item auth @tab @xref{Auth Statement}. +@item server @tab @xref{Server Settings}. +@item acl @tab @xref{ACL Statement}. +@item tcp-wrappers @tab @xref{Tcp-wrappers Statement}. +@end multitable + +@deffn {Pop3d Conf} undelete @var{bool} +On startup, clear deletion marks from all the messages. +@end deffn + +@deffn {Pop3d Conf} expire @var{n} +Automatically expire read messages after @var{n} +days. @xref{Auto-expire}, for a detailed description. +@end deffn + +@deffn {Pop3d Conf} delete-expired @var{bool} +Delete expired messages upon closing the mailbox. @xref{Auto-expire}, +for a detailed description. +@end deffn + +@deffn {Pop3d Conf} tls-required @var{bool} +Always require @code{STLS} command before entering authentication +phase. +@end deffn + +@deffn {Pop3d Conf} login-delay @var{duration} +Set the minimal allowed delay between two successive logins. +@xref{Login delay}, for more information. +@end deffn + +@deffn {Pop3d Conf} stat-file @var{file} +Set the name of login statistics file for the @code{login-delay} +facility. @xref{Login delay}, for more information. +@end deffn + +@deffn {Pop3d Conf} bulletin-source @var{file} +Get bulletins from the specified mailbox. @xref{Bulletins}, for a +detailed description. +@end deffn + +@deffn {Pop3d Conf} bulletin-db @var{file} +Set bulletin database file name. @xref{Bulletins}, for a +detailed description. +@end deffn + @node Command line options @subsection Command line options The following table summarizes all @command{pop3d} command line options. @table @option -@item --bulletin-db=@var{file} -Set the name of the database file to keep last bulletin numbers in. -Be sure not to specify @samp{.db} extension. @xref{Bulletins}. - -@item --bulletin-source=@var{mbox} -Set the @acronym{URL} of the bulletin source mailbox. @xref{Bulletins}. - @item -d[@var{number}] @itemx --daemon[=@var{number}] Run in standalone mode. An optional @var{number} specifies the maximum number @@ -5361,13 +5734,6 @@ it defaults to 10 processes. @emph{Please note}, that there should be no whitespace between the @option{-d} and its parameter. -@item --delete-expired -Delete expired messages upon closing the mailbox. @xref{Auto-expire}. - -@item --expire=@var{days} -Expire read messages after the given number of days. If @var{days} is -0, this option implies @option{--delete-expired}. @xref{Auto-expire}. - @item -i @itemx --inetd Run in inetd mode. @@ -5376,41 +5742,15 @@ Run in inetd mode. @itemx --help Display short help message and exit. -@item --login-delay=@var{seconds} -Sets the minimum allowed delay between closing a pop3d session and -opening it again with the same user name. @xref{Login delay}. - -@item -m @var{path} -@itemx --mail-spool=@var{path} -Set path to the mailspool directory - -@item -p @var{number} -@itemx --port @var{number} -Listen on given port @var{number}. This option is meaningful only in -standalone mode. It defaults to port 110. - -@item --stat-file=@var{filename} -Sets the name of the login timestamp database, used with -@option{--login-delay}. By default, these data are kept in -@file{/var/run/pop3-login}. Be sure to specify the file name -@emph{without} DBM-specific suffix. @xref{Login delay}. - -@item -t @var{number} -@itemx --timeout @var{number} -Set idle timeout to given @var{number} of seconds. Default is 600 seconds (10 -minutes). The daemon breaks the connection if it receives no commands -from the client within that number of seconds. - -@item --tls-required -Always require @code{STLS} command before entering authentication phase. - -@item -v -@itemx --version -Display program version and exit. +@item --foreground +Remain in foreground. -@item --undelete -Remove all deletion marks from the messages after opening the mailbox. +@item --tls[=@var{bool}] +Enable TLS. If optional argument is supplied and is @samp{false}, then +disable it. +@item --debug-auth +Enable debugging of authentication functions. @end table @page @@ -5424,6 +5764,7 @@ be run either as a standalone program or from @file{inetd.conf} file. @menu * Namespace:: Namespace. +* Conf-imap4d:: Configuration. * Starting imap4d:: Invocation Options. @end menu @@ -5475,8 +5816,214 @@ Empty see or otherwise access mailboxes residing in the directories other than his own home. -To change these defaults, use @option{--shared-namespace} and -@option{--other-namespace} options. +To change these defaults, use @code{shared-namespace} and +@code{other-namespace} configuration statements: + +@table @command +@item shared-namespace @var{list} +Set shared namespace. + +@item other-namespace @var{list} +Set other users' namespace. +@end table + +For both statements, the argument is a list of directories that belong +to this namespace, e.g.: + +@smallexample +shared-namespace (/var/spool/mail,/var/mail); +@end smallexample + +If during the session the user creates a mailbox within either of +these namespaces, the mode of the mailbox is determined by the +following configuration statements: + +@table @command +@item shared-mailbox-mode @var{mode} +Set file mode for mailboxes created in shared namespace. + +@item other-mailbox-mode @var{mode} +Set file mode for mailboxes created in other users' namespace. +@end table + +In both cases, the argument, @var{mode} is a list of symbolic mode +settings, similar to that used by @command{chmod}. It is a list of +comma-separated mode change commands. Each command begins with a +letter @samp{g}, which means set mode bits for file group, or +@samp{o}, which means set mode bits for other users (note, that there +is no @samp{u} specifier, since user ownership of his mailbox cannot +be changed). This letter is followed by an @samp{=} (or @samp{+}), and +a list of modes to be set. This list can contain only two letters: +@samp{r} to set read permission, and @samp{w} to set write permission. + +For example, the following statement sets read and write permissions +for the group: + +@smallexample +shared-namespace-mode g=rw; +@end smallexample + +@node Conf-imap4d +@subsection Configuration of @command{imap4d}. + +The behavior of @command{imap4d} is altered by the following +configuration statements: + +@multitable @columnfractions 0.3 0.6 +@headitem Statement @tab Reference +@item debug @tab @xref{Debug Statement}. +@item tls @tab @xref{TLS Statement}. +@item mailbox @tab @xref{Mailbox Statement}. +@item locking @tab @xref{Locking Statement}. +@item logging @tab @xref{Logging Statement}. +@item pam @tab @xref{PAM Statement}. +@item sql @tab @xref{SQL Statement}. +@item virtdomain @tab @xref{Virtdomain Statement}. +@item radius @tab @xref{Radius Statement}. +@item ldap @tab @xref{LDAP Statement}. +@item auth @tab @xref{Auth Statement}. +@item server @tab @xref{Server Settings}. +@item acl @tab @xref{ACL Statement}. +@item tcp-wrappers @tab @xref{Tcp-wrappers Statement}. +@end multitable + +@deffn {Imap4d Conf} shared-namespace @var{list} +Set shared namespace. @var{List} is a list of +strings. @xref{Namespace}, for a detailed description. +@end deffn + +@deffn {Imap4d Conf} other-namespace @var{list} +Set other users' namespace. @var{List} is a list of +strings. @xref{Namespace}, for a detailed description. +@end deffn + +@deffn {Imap4d Conf} shared-mailbox-mode @var{str} +Set file mode for mailboxes created within shared namespace. +@xref{Namespace}, for a detailed description. +@end deffn + +@deffn {Imap4d Conf} other-mailbox-mode @var{str} +Set file mode for mailboxes created within other users' namespace. +@xref{Namespace}, for a detailed description. +@end deffn + |