Commit 7b333284 7b33328452802337f3c0301d96da0b5430a58223 by Sergey Poznyakoff

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.
1 parent 1dc8eb3f
...@@ -125,7 +125,7 @@ fix-sentence-spacing: ...@@ -125,7 +125,7 @@ fix-sentence-spacing:
125 fi; \ 125 fi; \
126 done 126 done
127 127
128 final: untabify master-menu 128 final: untabify fix-sentence-spacing master-menu
129 129
130 130
131 # Checks 131 # Checks
......
...@@ -227,9 +227,15 @@ Reading Mail ...@@ -227,9 +227,15 @@ Reading Mail
227 227
228 @command{movemail} --- Moves Mail from the User Maildrop to the Local File 228 @command{movemail} --- Moves Mail from the User Maildrop to the Local File
229 229
230 * Movemail Configuration::
230 * Movemail Options:: Description of the Available Options 231 * Movemail Options:: Description of the Available Options
231 * Summary:: Short Movemail Invocation Summary 232 * Summary:: Short Movemail Invocation Summary
232 233
234 @command{readmsg} --- Extract Messages from a Folder
235
236 * Opt-readmsg:: Invocation of @command{readmsg}.
237 * Conf-readmsg:: Configuration of @command{readmsg}.
238
233 @command{sieve} 239 @command{sieve}
234 240
235 * sieve interpreter:: A Sieve Interpreter 241 * sieve interpreter:: A Sieve Interpreter
......
...@@ -348,6 +348,7 @@ and to edit the @file{imap4d.rc} file with your editor of choice. ...@@ -348,6 +348,7 @@ and to edit the @file{imap4d.rc} file with your editor of choice.
348 * Debug Statement:: 348 * Debug Statement::
349 * Mailbox Statement:: 349 * Mailbox Statement::
350 * Locking Statement:: 350 * Locking Statement::
351 * Mailer Statement::
351 * ACL Statement:: 352 * ACL Statement::
352 * Tcp-wrappers Statement:: 353 * Tcp-wrappers Statement::
353 * Server Settings:: 354 * Server Settings::
...@@ -1085,6 +1086,81 @@ Set command line of an external locker program. The @samp{E} flag ...@@ -1085,6 +1086,81 @@ Set command line of an external locker program. The @samp{E} flag
1085 must be set for this to take effect. 1086 must be set for this to take effect.
1086 @end deffn 1087 @end deffn
1087 1088
1089 @node Mailer Statement
1090 @subsection Mailer Statement
1091 @kwindex mailer
1092 @subheading Syntax
1093 @smallexample
1094 mailer @{
1095 url @var{url};
1096 @}
1097 @end smallexample
1098
1099 @subheading Description
1100 A @dfn{mailer} is a special logical entity GNU Mailutils uses for
1101 sending messages. Its internal representation is discussed in
1102 @ref{Mailer}. The @code{mailer} statement configures it.
1103
1104 The mailer statement contains a single sub-statement:
1105
1106 @deffn {Configuration} url @var{str}
1107 Set the mailer @acronym{URL}.
1108 @end deffn
1109
1110 GNU Mailutils supports two types of mailer @acronym{URL}s, described
1111 in the table below. As usual, square brackets indicate optional parts:
1112
1113 @table @asis
1114 @item smtp://@var{host}[:@var{port}]
1115 Use an SMTP server @var{host} to send messages. Optional @var{port}
1116 specifies port number or symbolic name (as defined in
1117 @file{/etc/services}). It defaults to 25. The @var{host} can be
1118 specified as either an IP address in dotted-quad notation or as a
1119 symbolic host name. In the latter case, DNS system will be used to
1120 resolve it.
1121
1122 @item sendmail://@var{progname}
1123 Use sendmail-compatible program
1124 @var{progname}. @dfn{Sendmail-compatible} means that the program must
1125 support following command line options:
1126
1127 @table @option
1128 @item -oi
1129 Do not treat @samp{.} as message terminator.
1130
1131 @item -f @var{addr}
1132 Use @var{addr} as the sender address.
1133
1134 @item -t
1135 Get recipient addresses from the message.
1136 @end table
1137
1138 @item sendmail:
1139 This is a special form of the @samp{sendmail} mailer. It uses the
1140 @command{sendmail} binary from the @code{_PATH_SENDMAIL} macro in your
1141 @file{/usr/include/paths.h}. It is the default mailer.
1142
1143 @item prog://@var{progname}?@var{query}
1144 A @dfn{prog} mailer. This is a generalization of @samp{sendmail}
1145 mailer that allows to use arbitrary external programs as mailers.
1146
1147 The @var{progname} must be a full pathname of the binary file. When
1148 sending message, Mailutils will invoke this file with the arguments
1149 specified by @var{query} and will pipe the message to be sent to its
1150 standard input.
1151
1152 The @var{query} part is a list of arguments, separated by @samp{&}
1153 signs. Arguments may contain the following macro-substitutions:
1154
1155 @table @samp
1156 @item $@{sender@}
1157 Expands to the sender email address.
1158
1159 @item $@{rcpt@}
1160 Expands to the recipient email addresses.
1161 @end table
1162 @end table
1163
1088 @node ACL Statement 1164 @node ACL Statement
1089 @subsection ACL Statement 1165 @subsection ACL Statement
1090 @kwindex acl 1166 @kwindex acl
...@@ -1961,7 +2037,7 @@ ldap @{ ...@@ -1961,7 +2037,7 @@ ldap @{
1961 2037
1962 @node TLS Statement 2038 @node TLS Statement
1963 @subsection TLS Statement 2039 @subsection TLS Statement
1964 @UNREVISED 2040 @WRITEME
1965 @kwindex tls 2041 @kwindex tls
1966 @subheading Syntax 2042 @subheading Syntax
1967 @smallexample 2043 @smallexample
...@@ -2010,10 +2086,10 @@ configuration file statements: ...@@ -2010,10 +2086,10 @@ configuration file statements:
2010 2086
2011 @multitable @columnfractions 0.3 0.6 2087 @multitable @columnfractions 0.3 0.6
2012 @headitem Statement @tab Reference 2088 @headitem Statement @tab Reference
2013 @item debug @tab @xref{Debug Statement}. 2089 @item debug @tab @xref{Debug Statement}.
2014 @item tls @tab @xref{TLS Statement}. 2090 @item tls @tab @xref{TLS Statement}.
2015 @item mailbox @xref{Mailbox Statement}. 2091 @item mailbox @tab @xref{Mailbox Statement}.
2016 @item locking @xref{Locking Statement}. 2092 @item locking @tab @xref{Locking Statement}.
2017 @end multitable 2093 @end multitable
2018 2094
2019 @subheading @command{frm} 2095 @subheading @command{frm}
...@@ -3887,10 +3963,10 @@ Following configuration file statements affect the behaviour of ...@@ -3887,10 +3963,10 @@ Following configuration file statements affect the behaviour of
3887 3963
3888 @multitable @columnfractions 0.3 0.6 3964 @multitable @columnfractions 0.3 0.6
3889 @headitem Statement @tab Reference 3965 @headitem Statement @tab Reference
3890 @item debug @tab @xref{Debug Statement}. 3966 @item debug @tab @xref{Debug Statement}.
3891 @item tls @tab @xref{TLS Statement}. 3967 @item tls @tab @xref{TLS Statement}.
3892 @item mailbox @xref{Mailbox Statement}. 3968 @item mailbox @tab @xref{Mailbox Statement}.
3893 @item locking @xref{Locking Statement}. 3969 @item locking @tab @xref{Locking Statement}.
3894 @end multitable 3970 @end multitable
3895 3971
3896 The program accepts following command line options: 3972 The program accepts following command line options:
...@@ -3964,16 +4040,16 @@ If @var{bool} is @samp{true}, output information used by Emacs rmail interface. ...@@ -3964,16 +4040,16 @@ If @var{bool} is @samp{true}, output information used by Emacs rmail interface.
3964 4040
3965 @multitable @columnfractions 0.3 0.6 4041 @multitable @columnfractions 0.3 0.6
3966 @headitem Statement @tab Reference 4042 @headitem Statement @tab Reference
3967 @item debug @tab @xref{Debug Statement}. 4043 @item debug @tab @xref{Debug Statement}.
3968 @item tls @tab @xref{TLS Statement}. 4044 @item tls @tab @xref{TLS Statement}.
3969 @item mailbox @xref{Mailbox Statement}. 4045 @item mailbox @tab @xref{Mailbox Statement}.
3970 @item locking @xref{Locking Statement}. 4046 @item locking @tab @xref{Locking Statement}.
3971 @item pam @xref{PAM Statement}. 4047 @item pam @tab @xref{PAM Statement}.
3972 @item sql @xref{SQL Statement}. 4048 @item sql @tab @xref{SQL Statement}.
3973 @item virtdomain @xref{Virtdomain Statement}. 4049 @item virtdomain @tab @xref{Virtdomain Statement}.
3974 @item radius @xref{Radius Statement}. 4050 @item radius @tab @xref{Radius Statement}.
3975 @item ldap @xref{LDAP Statement}. 4051 @item ldap @tab @xref{LDAP Statement}.
3976 @item auth @xref{Auth Statement}. 4052 @item auth @tab @xref{Auth Statement}.
3977 @end multitable 4053 @end multitable
3978 4054
3979 @node Movemail Options 4055 @node Movemail Options
...@@ -4218,15 +4294,14 @@ only the first. ...@@ -4218,15 +4294,14 @@ only the first.
4218 4294
4219 @multitable @columnfractions 0.3 0.6 4295 @multitable @columnfractions 0.3 0.6
4220 @headitem Statement @tab Reference 4296 @headitem Statement @tab Reference
4221 @item debug @tab @xref{Debug Statement}. 4297 @item debug @tab @xref{Debug Statement}.
4222 @item tls @tab @xref{TLS Statement}. 4298 @item tls @tab @xref{TLS Statement}.
4223 @item mailbox @xref{Mailbox Statement}. 4299 @item mailbox @tab @xref{Mailbox Statement}.
4224 @item locking @xref{Locking Statement}. 4300 @item locking @tab @xref{Locking Statement}.
4225 @end multitable 4301 @end multitable
4226 4302
4227 @node sieve 4303 @node sieve
4228 @section @command{sieve} 4304 @section @command{sieve}
4229 @UNREVISED
4230 @pindex sieve 4305 @pindex sieve
4231 4306
4232 Sieve is a language for filtering e-mail messages at time of final 4307 Sieve is a language for filtering e-mail messages at time of final
...@@ -4252,6 +4327,7 @@ its standard. ...@@ -4252,6 +4327,7 @@ its standard.
4252 4327
4253 @menu 4328 @menu
4254 * Invoking Sieve:: 4329 * Invoking Sieve::
4330 * Sieve Configuration::
4255 * Logging and Debugging:: 4331 * Logging and Debugging::
4256 * Extending Sieve:: 4332 * Extending Sieve::
4257 @end menu 4333 @end menu
...@@ -4274,6 +4350,15 @@ and @var{options} is one or more of the following: ...@@ -4274,6 +4350,15 @@ and @var{options} is one or more of the following:
4274 @itemx --compile-only 4350 @itemx --compile-only
4275 Compile script and exit. 4351 Compile script and exit.
4276 4352
4353 @item --clear-library-path
4354 @itemx --clearpath
4355 Clear Sieve library path. See also @ref{Sieve Configuration,
4356 clear-library-path}.
4357
4358 @item --clear-include-path
4359 Clear Sieve include path. See also @ref{Sieve Configuration,
4360 clear-include-path}.
4361
4277 @item -d[@var{flags}] 4362 @item -d[@var{flags}]
4278 @itemx --debug[=@var{flags}] 4363 @itemx --debug[=@var{flags}]
4279 Specify debug flags. The @var{flags} argument is a sequence of one or 4364 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. ...@@ -4295,16 +4380,29 @@ Compile the script, dump disassembled code on standard output and exit.
4295 @itemx --email @var{address} 4380 @itemx --email @var{address}
4296 Override the user email address. This is useful for @code{reject} and 4381 Override the user email address. This is useful for @code{reject} and
4297 @code{redirect} actions. By default, the user email address is deduced 4382 @code{redirect} actions. By default, the user email address is deduced
4298 from the user name and the full name of the machine where sieve is 4383 from the user name and the full name of the machine where
4299 executed. 4384 @command{sieve} is executed. See also @ref{Sieve Configuration,
4385 email}.
4386
4387 @item -I @var{dir}
4388 @itemx --includedir=@var{dir}
4389 Append directory @var{dir} to the list of directories searched for
4390 include files. See also @ref{Sieve Configuration, include-path}.
4300 4391
4301 @item -f 4392 @item -f
4302 @itemx --mbox-url=@var{mbox} 4393 @itemx --mbox-url=@var{mbox}
4303 Mailbox to sieve (defaults to user's system mailbox) 4394 Mailbox to sieve (defaults to user's system mailbox). See also
4395 @ref{Sieve Configuration, mbox-url}.
4304 4396
4305 @item -k 4397 @item -k
4306 @itemx --keep-going 4398 @itemx --keep-going
4307 Keep on going if execution fails on a message 4399 Keep on going if execution fails on a message. See also
4400 @ref{Sieve Configuration, keep-going}.
4401
4402 @item -L @var{dir}
4403 @item --libdir=@var{dir}
4404 Append directory @var{dir} to the list of directories searched for
4405 library files. See also @ref{Sieve Configuration, library-path}.
4308 4406
4309 @item -n 4407 @item -n
4310 @itemx --no-actions 4408 @itemx --no-actions
...@@ -4312,16 +4410,102 @@ Dry run: do not execute any actions, just print what would be done. ...@@ -4312,16 +4410,102 @@ Dry run: do not execute any actions, just print what would be done.
4312 4410
4313 @item -t @var{ticket} 4411 @item -t @var{ticket}
4314 @itemx --ticket=@var{ticket} 4412 @itemx --ticket=@var{ticket}
4315 Ticket file for mailbox authentication 4413 Ticket file for mailbox authentication. See also
4414 @ref{Sieve Configuration, ticket}.
4316 4415
4317 @item -v 4416 @item -v
4318 @itemx --verbose 4417 @itemx --verbose
4319 Log all actions executed. 4418 Log all actions executed. See also @ref{Sieve Configuration, verbose}.
4320 @end table 4419 @end table
4321 4420
4322 Apart from these, @command{sieve} understands the options from the 4421 @node Sieve Configuration
4323 following groups: @code{sieve}, @code{mailbox}, @code{mailer}, 4422 @subsubheading Sieve Configuration
4324 @code{logging}. 4423
4424 The behavior of @command{sieve} is affected by the following
4425 configuration statements:
4426
4427 @multitable @columnfractions 0.3 0.6
4428 @headitem Statement @tab Reference
4429 @item debug @tab @xref{Debug Statement}.
4430 @item tls @tab @xref{TLS Statement}.
4431 @item mailbox @tab @xref{Mailbox Statement}.
4432 @item locking @tab @xref{Locking Statement}.
4433 @item logging @tab @xref{Logging Statement}.
4434 @item mailer @tab @xref{Mailer Statement}.
4435 @end multitable
4436
4437 The following statements configure sieve-specific features:
4438
4439 @deffn {Sieve Conf} sieve @{ ... @}
4440 This block statement configures search paths @command{sieve} uses to
4441 locate its loadable modules. @xref{Require Statement}, for a detailed
4442 information of this feature.
4443
4444 This statement may contain the following sub-statements:
4445 @code{clear-library-path}, @code{clear-include-path},
4446 @code{library-path}, @code{include-path}, which are described below.
4447 @end deffn
4448
4449 @deffn {Sieve Conf} clear-library-path @var{bool}
4450 Used within the @code{sieve} block statement.
4451
4452 If @var{bool} is @samp{true}, clear library search path.
4453 @end deffn
4454
4455 @deffn {Sieve Conf} clear-include-path @var{bool}
4456 Used within the @code{sieve} block statement.
4457
4458 If @var{bool} is @samp{true}, clear include search path.
4459 @end deffn
4460
4461 @deffn {Sieve Conf} library-path @var{path}
4462 Used within the @code{sieve} block statement.
4463
4464 Add directories to @command{sieve} library search path. Argument is a
4465 string containing a colon-separated list of directories.
4466 @end deffn
4467
4468 @deffn {Sieve Conf} include-path @var{path}
4469 Used within the @code{sieve} block statement.
4470
4471 Add directories to the include search path. Argument is a
4472 string containing a colon-separated list of directories.
4473 @end deffn
4474
4475 @deffn {Sieve Conf} keep-going @var{bool}
4476 If @var{bool} is @samp{true}, do not abort if execution of a Sieve
4477 script fails on a particular message.
4478 @end deffn
4479
4480 @deffn {Sieve Conf} mbox-url @var{url}
4481 Sets @acronym{URL} of the mailbox to be processed.
4482 @end deffn
4483
4484 @deffn {Sieve Conf} ticket @var{file}
4485 Sets the name of the ticket file for user authentication.
4486 @end deffn
4487
4488 @deffn {Sieve Conf} debug @var{flags}
4489 Sets Sieve debug flags. @xref{Logging and Debugging}, for a detailed
4490 description.
4491 @end deffn
4492
4493 @deffn {Sieve Conf} verbose @var{bool}
4494 If @var{bool} is @samp{true}, log all executed actions.
4495 @end deffn
4496
4497 @deffn {Sieve Conf} line-info @var{bool}
4498 If @var{bool} is @samp{true}, rint source locations along with action
4499 logs. This statement takes effect only if @code{verbose true} is also
4500 set.
4501 @end deffn
4502
4503 @deffn {Sieve Conf} email @var{addr}
4504 Set user e-mail address. This is useful for @code{reject} and
4505 @code{redirect} actions. By default, the user email address is deduced
4506 from the user name and the full name of the machine where @command{sieve} is
4507 executed.
4508 @end deffn
4325 4509
4326 @node Logging and Debugging 4510 @node Logging and Debugging
4327 @subsubheading Logging and debugging 4511 @subsubheading Logging and debugging
...@@ -4410,7 +4594,14 @@ following search paths (in the order given): ...@@ -4410,7 +4594,14 @@ following search paths (in the order given):
4410 @item The value of the environment variable @env{LTDL_LIBRARY_PATH}. 4594 @item The value of the environment variable @env{LTDL_LIBRARY_PATH}.
4411 4595
4412 @item Additional search directories specified with the 4596 @item Additional search directories specified with the
4413 @code{#searchpath} directive. 4597 @code{library-path} statement (@pxref{Sieve Configuration,
4598 library-path}) in Sieve configuration file.
4599
4600 @item Additional search directories specified with the.
4601 @option{--libdir} command line option (@FIXME-pxref{libdir}).
4602
4603 @item Additional search directories specified with the
4604 @code{#searchpath} Sieve directive (@pxref{#searchpath}).
4414 4605
4415 @item System library search path: The system dependent library 4606 @item System library search path: The system dependent library
4416 search path (e.g. on Linux it is set by the contents of the file 4607 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 ...@@ -4456,8 +4647,8 @@ source for the required action NAME is not available
4456 A Sieve to Scheme Translator @command{sieve.scm} translates a given 4647 A Sieve to Scheme Translator @command{sieve.scm} translates a given
4457 Sieve script into an equivalent Scheme program and optionally executes 4648 Sieve script into an equivalent Scheme program and optionally executes
4458 it. The program itself is written in Scheme and requires presence of 4649 it. The program itself is written in Scheme and requires presence of
4459 Guile 1.4 on the system. For more information on Guile refer to 4650 Guile version 1.8 or newer on the system. For more information on
4460 @ref{Top,,Overview,guile,The Guile Reference Manual}. 4651 Guile refer to @ref{Top,,Overview,guile,The Guile Reference Manual}.
4461 4652
4462 @table @option 4653 @table @option
4463 @item -f @var{filename} 4654 @item -f @var{filename}
...@@ -4492,7 +4683,15 @@ It processes mailboxes, applying the user-supplied scheme procedures ...@@ -4492,7 +4683,15 @@ It processes mailboxes, applying the user-supplied scheme procedures
4492 to each of them in turn and saves the resulting output in mailbox 4683 to each of them in turn and saves the resulting output in mailbox
4493 format. 4684 format.
4494 4685
4495 The program uses following option groups: @FIXME-xref{mailbox}. 4686 The following configuration statements affect the behavior of
4687 @command{guimb}:
4688
4689 @multitable @columnfractions 0.3 0.6
4690 @headitem Statement @tab Reference
4691 @item debug @tab @xref{Debug Statement}.
4692 @item mailbox @tab @xref{Mailbox Statement}.
4693 @item locking @tab @xref{Locking Statement}.
4694 @end multitable
4496 4695
4497 @menu 4696 @menu
4498 * Specifying Scheme Program to Execute:: 4697 * Specifying Scheme Program to Execute::
...@@ -4650,6 +4849,7 @@ and appends the received data to the local mailboxes. ...@@ -4650,6 +4849,7 @@ and appends the received data to the local mailboxes.
4650 4849
4651 @menu 4850 @menu
4652 * Invocation:: Mail.local options 4851 * Invocation:: Mail.local options
4852 * Mail.local Config::
4653 * MTA:: Using mail.local with various MTAs 4853 * MTA:: Using mail.local with various MTAs
4654 * Mailbox Quotas:: Setting up mailbox quotas. 4854 * Mailbox Quotas:: Setting up mailbox quotas.
4655 * Sieve Filters:: Implementing user-defined Sieve mail filters. 4855 * Sieve Filters:: Implementing user-defined Sieve mail filters.
...@@ -4759,6 +4959,87 @@ default, 'service unavailable' is returned if the message exceeds ...@@ -4759,6 +4959,87 @@ default, 'service unavailable' is returned if the message exceeds
4759 the mailbox quota. 4959 the mailbox quota.
4760 @end table 4960 @end table
4761 4961
4962 @node Mail.local Config
4963 @subsection Mail.local Configuration
4964
4965 The behavior of mail.local is affected by the following configuration
4966 statements:
4967
4968 @multitable @columnfractions 0.3 0.6
4969 @headitem Statement @tab Reference
4970 @item debug @tab @xref{Debug Statement}.
4971 @item mailbox @tab @xref{Mailbox Statement}.
4972 @item locking @tab @xref{Locking Statement}.
4973 @item pam @tab @xref{PAM Statement}.
4974 @item sql @tab @xref{SQL Statement}.
4975 @item virtdomain @tab @xref{Virtdomain Statement}.
4976 @item radius @tab @xref{Radius Statement}.
4977 @item ldap @tab @xref{LDAP Statement}.
4978 @item auth @tab @xref{Auth Statement}.
4979 @item mailer @tab @xref{Mailer Statement}.
4980 @end multitable
4981
4982 Additionally, @command{mail.local} defines the following configuration
4983 statements for its use:
4984
4985 @deffn {Mail.local Config} ex-multiple-delivery-success @var{bool}
4986 In case of multiple delivery, exit with code 0 if at least one
4987 delivery has succeeded.
4988 @end deffn
4989
4990 @deffn {Mail.local Config} ex-quota-tempfail @var{bool}
4991 Indicate temporary failure if the recipient is over his mail quota.
4992 By default, permanent failure is returned.
4993 @end deffn
4994
4995 @deffn {Mail.local Config} quota-db @var{file}
4996 Set the name of DBM quota database file.
4997 @end deffn
4998
4999 @deffn {Mail.local Config} sieve-filter @var{pattern}
5000 Set file name or name pattern of the Sieve filter file.
5001
5002 The following meta-sequences are expanded in @var{pattern}:
5003
5004 @table @asis
5005 @item ~
5006 @itemx %h
5007 Expands to the recipient home directory.
5008
5009 @item %u
5010 Expands to the recipient user name.
5011 @end table
5012 @end deffn
5013
5014 @deffn {Mail.local Config} message-id-header @var{name}
5015 When logging Sieve actions, identify messages by the value of this
5016 header.
5017 @end deffn
5018
5019 @deffn {Mail.local Config} guile-filter @var{pattern}
5020 File name or name pattern for Guile filter file. See
5021 @code{sieve-filter} above, for the description if @var{pattern}.
5022 @end deffn
5023
5024 @deffn {Mail.local Config} debug @var{flags}
5025 Set additional debugging flags. Valid flags are:
5026
5027 @table @asis
5028 @item g
5029 Print @command{guimb} stack traces.
5030
5031 @item t
5032 Enable @command{sieve} trace (@code{MU_SIEVE_DEBUG_TRACE}).
5033
5034 @item i
5035 Enable @command{sieve} instructions trace
5036 (@code{MU_SIEVE_DEBUG_INSTR}).
5037
5038 @item l
5039 Log executed Sieve actions.
5040 @end table
5041 @end deffn
5042
4762 @node MTA 5043 @node MTA
4763 @subsection Using @command{mail.local} with Various MTAs 5044 @subsection Using @command{mail.local} with Various MTAs
4764 5045
...@@ -5003,16 +5284,17 @@ To summarize this, here is a working @file{mailutils.rc} entry for ...@@ -5003,16 +5284,17 @@ To summarize this, here is a working @file{mailutils.rc} entry for
5003 5284
5004 @node Sieve Filters 5285 @node Sieve Filters
5005 @subsection Implementing User-defined Sieve Mail Filters 5286 @subsection Implementing User-defined Sieve Mail Filters
5287 @WRITEME
5006 5288
5007 @node Scheme Filters 5289 @node Scheme Filters
5008 @subsection Implementing User-defined Scheme Mail Filters 5290 @subsection Implementing User-defined Scheme Mail Filters
5291 @WRITEME
5009 5292
5010 @page 5293 @page
5011 @node mail.remote 5294 @node mail.remote
5012 @section @command{mail.remote} --- Pseudo-Sendmail Interface for Mail Delivery 5295 @section @command{mail.remote} --- Pseudo-Sendmail Interface for Mail Delivery
5013 @pindex mail.remote 5296 @pindex mail.remote
5014 5297 @WRITEME
5015 [FIXME]
5016 5298
5017 @page 5299 @page
5018 @node mimeview 5300 @node mimeview
...@@ -5023,12 +5305,12 @@ To summarize this, here is a working @file{mailutils.rc} entry for ...@@ -5023,12 +5305,12 @@ To summarize this, here is a working @file{mailutils.rc} entry for
5023 to autodetect its type and invoke an appropriate file viewer. 5305 to autodetect its type and invoke an appropriate file viewer.
5024 5306
5025 To detect the file type, @command{mimeview} uses @file{mime.types} 5307 To detect the file type, @command{mimeview} uses @file{mime.types}
5026 file. This file is a part of Common UNIX Printing System, see 5308 file. This file is a part of Common UNIX Printing System,
5027 @code{man mime.types} for the description of its syntax. [FIXME: 5309 @ref{mime.types,,,mime.types(5), mime.types man page}. By default
5028 provide an xref to CUPS]. By default @command{mimeview} searches for 5310 @command{mimeview} searches for @file{mime.types} in
5029 @file{mime.types} in @file{$prefix/etc/cups/}@footnote{The exact 5311 @file{$prefix/etc/cups/}@footnote{The exact location is determined at
5030 location is determined at configuration time by setting environment 5312 configuration time by setting environment variable
5031 variable @var{DEFAULT_CUPS_CONFDIR}. On most sites running 5313 @env{DEFAULT_CUPS_CONFDIR}. On most sites running
5032 5314
5033 @smallexample 5315 @smallexample
5034 ./configure DEFAULT_CUPS_CONFDIR=/etc/cups 5316 ./configure DEFAULT_CUPS_CONFDIR=/etc/cups
...@@ -5053,6 +5335,14 @@ $HOME/.mailcap:/usr/local/etc/mailcap:\ ...@@ -5053,6 +5335,14 @@ $HOME/.mailcap:/usr/local/etc/mailcap:\
5053 /etc/mail/mailcap:/usr/public/lib/mailcap 5335 /etc/mail/mailcap:/usr/public/lib/mailcap
5054 @end smallexample 5336 @end smallexample
5055 5337
5338 @menu
5339 * Mimeview Invocation::
5340 * Mimeview Config::
5341 @end menu
5342
5343 @node Mimeview Invocation
5344 @subsection Mimeview Invocation
5345
5056 The following table summarizes options specific for @command{mimeview}: 5346 The following table summarizes options specific for @command{mimeview}:
5057 5347
5058 @table @option 5348 @table @option
...@@ -5150,6 +5440,29 @@ Use @var{file} as @file{mime.types} file. If @var{file} is a ...@@ -5150,6 +5440,29 @@ Use @var{file} as @file{mime.types} file. If @var{file} is a
5150 directory, use @file{@var{file}/mime.types} 5440 directory, use @file{@var{file}/mime.types}
5151 @end table 5441 @end table
5152 5442
5443 @node Mimeview Config
5444 @subsection Mimeview Config
5445
5446 The following configuration statements affect the behavior of
5447 @command{mimeview}:
5448
5449 @multitable @columnfractions 0.3 0.6
5450 @headitem Statement @tab Reference
5451 @item debug @tab @xref{Debug Statement}.
5452 @end multitable
5453
5454 @deffn {Mimeview Config} debug @var{number}
5455 Set @command{mimeview} debug level. @xref{Mimeview Invocation,
5456 --debug}, for a description of debug levels.
5457 @end deffn
5458
5459 @deffn {Mimeview Config} mimetypes @var{file}
5460 Read @var{file} instead of the default @file{mime.types}.
5461 @end deffn
5462
5463 @deffn {Mimeview Config} metamail @var{program}
5464 Use @var{program} to display files.
5465 @end deffn
5153 5466
5154 @page 5467 @page
5155 @node pop3d 5468 @node pop3d
...@@ -5172,17 +5485,17 @@ pop3 stream tcp nowait root /usr/local/sbin/pop3d pop3d ...@@ -5172,17 +5485,17 @@ pop3 stream tcp nowait root /usr/local/sbin/pop3d pop3d
5172 This is the default operation mode. 5485 This is the default operation mode.
5173 5486
5174 @item Standalone 5487 @item Standalone
5175 The server runs as daemon, forking a child for each new connection. This 5488 The server runs as daemon, forking a child for each new connection.
5176 mode is triggered by @option{-d} command line switch.
5177 @end table 5489 @end table
5178 5490
5179 The program uses following option groups: @FIXME-xref{mailbox}, 5491 The server operation mode is configured using @code{mode} statement
5180 @FIXME-xref{daemon}, @FIXME-xref{logging}, @FIXME-xref{auth}. 5492 (@pxref{Server Settings, mode}).
5181 5493
5182 @menu 5494 @menu
5183 * Login delay:: 5495 * Login delay::
5184 * Auto-expire:: 5496 * Auto-expire::
5185 * Bulletins:: 5497 * Bulletins::
5498 * Conf-pop3d:: Pop3d Configuration
5186 * Command line options:: 5499 * Command line options::
5187 @end menu 5500 @end menu
5188 5501
...@@ -5209,22 +5522,23 @@ The message will be issued after a valid password is entered. This prevents ...@@ -5209,22 +5522,23 @@ The message will be issued after a valid password is entered. This prevents
5209 this feature from being used by malicious clients for account 5522 this feature from being used by malicious clients for account
5210 harvesting. 5523 harvesting.
5211 5524
5212 To enable the login delay capability, specify the minimum delay in 5525 To enable the login delay capability, specify the minimum delay
5213 seconds with @option{--login-delay} option, for example: 5526 using @code{login-delay} configuration statement, e.g.:
5214 5527
5215 @smallexample 5528 @smallexample
5216 $ pop3d --login-delay=60 5529 login-delay 60;
5217 @end smallexample 5530 @end smallexample
5218 5531
5219 The @command{pop3d} utility keeps each user's last login time in a 5532 The @command{pop3d} utility keeps each user's last login time in a
5220 special DBM file, called @dfn{login statistics database}, so to be 5533 special DBM file, called @dfn{login statistics database}, so to be
5221 able to use this feature, Mailutils must be compiled with DBM support. 5534 able to use this feature, Mailutils must be compiled with DBM support.
5222 By default, the login statistics database is called 5535 By default, the login statistics database is called
5223 @file{/var/run/pop3-login.db}. You can change its name at run time 5536 @file{/var/run/pop3-login.db}. You can change its name using
5224 using @option{--stat-file}: 5537 @code{stat-file} configuration statement:
5225 5538
5226 @smallexample 5539 @smallexample
5227 $ pop3d --login-delay=60 --stat-file=/tmp/pop.login 5540 login-delay 60;
5541 stat-file /tmp/pop.login;
5228 @end smallexample 5542 @end smallexample
5229 5543
5230 Notice, that there is no need to include the @samp{.db} suffix in the 5544 Notice, that there is no need to include the @samp{.db} suffix in the
...@@ -5233,7 +5547,7 @@ file name. ...@@ -5233,7 +5547,7 @@ file name.
5233 The login delay facility will be enabled only if @command{pop3d} is 5547 The login delay facility will be enabled only if @command{pop3d} is
5234 able to access the statistics database for both reading and 5548 able to access the statistics database for both reading and
5235 writing. If it is not, it will report this using @command{syslog} and 5549 writing. If it is not, it will report this using @command{syslog} and
5236 start up without login delay restrictions. The common error message 5550 start up without login delay restrictions. A common error message
5237 looks like: 5551 looks like:
5238 5552
5239 @smallexample 5553 @smallexample
...@@ -5250,17 +5564,14 @@ are in use, there response will contain the string @samp{LOGIN-DELAY ...@@ -5250,17 +5564,14 @@ are in use, there response will contain the string @samp{LOGIN-DELAY
5250 5564
5251 Automatic expiration of messages allows you to limit the period of 5565 Automatic expiration of messages allows you to limit the period of
5252 time users are permitted to keep their messages on the server. It is 5566 time users are permitted to keep their messages on the server. It is
5253 enabled by @option{--expire} command line option: 5567 enabled by @code{expire} configuration statement:
5254 5568
5255 @smallexample 5569 @table @code
5256 $ pop3d --expire=@var{days} 5570 @item expire @var{n};
5257 @end smallexample 5571 Enable automatic expiration of messages after @var{n} days.
5258 5572 @end table
5259 @noindent
5260 Here, @var{days} specifies the minimum server retention period, in
5261 days, for retrieved messages on the server.
5262 5573
5263 Current implementation works as follows. When a message is 5574 The current implementation works as follows. When a message is
5264 downloaded by @code{RETR} or @code{TOP} command, it is marked with 5575 downloaded by @code{RETR} or @code{TOP} command, it is marked with
5265 @samp{X-Expire-Timestamp: @var{n}} header, where @var{n} is current 5576 @samp{X-Expire-Timestamp: @var{n}} header, where @var{n} is current
5266 value of UNIX timestamp. The exact expiration mechanism 5577 value of UNIX timestamp. The exact expiration mechanism
...@@ -5269,8 +5580,14 @@ depends on you. Mailutils allows you two options: ...@@ -5269,8 +5580,14 @@ depends on you. Mailutils allows you two options:
5269 @enumerate 5580 @enumerate
5270 @item 5581 @item
5271 Expired messages are deleted by @command{pop3d} upon closing the 5582 Expired messages are deleted by @command{pop3d} upon closing the
5272 mailbox. You specify this mechanism using @option{--delete-expired} 5583 mailbox. You specify this mechanism using @code{delete-expired}
5273 command line option. 5584 configuration statement:
5585
5586 @table @command
5587 @item delete-expired @var{bool};
5588 If @var{bool} is @samp{true}, delete expired messages after receiving
5589 the @code{QUIT} command.
5590 @end table
5274 5591
5275 @item 5592 @item
5276 Expired messages remain in the mailbox after closing it. The system 5593 Expired messages remain in the mailbox after closing it. The system
...@@ -5291,11 +5608,11 @@ if timestamp :before "X-Expire-Timestamp" "now - 5 days" ...@@ -5291,11 +5608,11 @@ if timestamp :before "X-Expire-Timestamp" "now - 5 days"
5291 5608
5292 This script will remove expired messages 5 days after the 5609 This script will remove expired messages 5 days after the
5293 retrieval. Replace @samp{5} with the desired expiration period and 5610 retrieval. Replace @samp{5} with the desired expiration period and
5294 make sure it equals the argument to @option{--expire} command. 5611 make sure it equals the argument to @command{expire} configuration keyword.
5295 @end enumerate 5612 @end enumerate
5296 5613
5297 The option @option{--expire=0} means the client is not permitted to 5614 The statement @code{expire 0} means the client is not permitted to
5298 leave mail on the server. It always implies @option{--delete-expired}. 5615 leave mail on the server. It always implies @code{delete-expired true}.
5299 5616
5300 @node Bulletins 5617 @node Bulletins
5301 @subsection Bulletins 5618 @subsection Bulletins
...@@ -5313,17 +5630,17 @@ the user mailbox. ...@@ -5313,17 +5630,17 @@ the user mailbox.
5313 The user last bulletin number can be kept in two places. First, it 5630 The user last bulletin number can be kept in two places. First, it
5314 can be stored in file @file{.popbull} in his home directory. Secondly, 5631 can be stored in file @file{.popbull} in his home directory. Secondly,
5315 if Mailutils is compiled with DBM support, the numbers can be kept in 5632 if Mailutils is compiled with DBM support, the numbers can be kept in
5316 a DBM file, supplied via @option{--bulletin-db} command line option. If 5633 a DBM file, supplied via @code{bulletin-db} configuration statement. If
5317 both the database and the @file{.popbull} file are present, the data 5634 both the database and the @file{.popbull} file are present, the data
5318 from the database take precedence. 5635 from the database take precedence.
5319 5636
5320 To enable this feature, use the following command line options: 5637 To enable this feature, use the following configuration statements:
5321 5638
5322 @table @option 5639 @table @code
5323 @item --bulletin-source=@var{mbox} 5640 @item bulletin-source @var{mbox}
5324 Set the @acronym{URL} of the bulletin source mailbox. 5641 Set the @acronym{URL} of the bulletin source mailbox.
5325 5642
5326 @item --bulletin-db=@var{file} 5643 @item bulletin-db @var{file}
5327 Set the name of the database file to keep last bulletin numbers in. 5644 Set the name of the database file to keep last bulletin numbers in.
5328 Be sure not to specify @samp{.db} extension. 5645 Be sure not to specify @samp{.db} extension.
5329 @end table 5646 @end table
...@@ -5335,24 +5652,80 @@ and to keep the database of last delivered bulletin numbers in ...@@ -5335,24 +5652,80 @@ and to keep the database of last delivered bulletin numbers in
5335 5652
5336 @smallexample 5653 @smallexample
5337 @group 5654 @group
5338 $ pop3d --bulletin-source=mh:/var/spool/bull/mbox \ 5655 bulletin-source mh:/var/spool/bull/mbox;
5339 --bulletin-db=/var/spool/bull/numbers 5656 bulletin-db /var/spool/bull/numbers;
5340 @end group 5657 @end group
5341 @end smallexample 5658 @end smallexample
5342 5659
5660 @node Conf-pop3d
5661 @subsection Pop3d Configuration
5662
5663 The following configuration file statements affect the behavior of
5664 @command{pop3d}.
5665
5666 @multitable @columnfractions 0.3 0.6
5667 @headitem Statement @tab Reference
5668 @item debug @tab @xref{Debug Statement}.
5669 @item tls @tab @xref{TLS Statement}.
5670 @item mailbox @tab @xref{Mailbox Statement}.
5671 @item locking @tab @xref{Locking Statement}.
5672 @item logging @tab @xref{Logging Statement}.
5673 @item pam @tab @xref{PAM Statement}.
5674 @item sql @tab @xref{SQL Statement}.
5675 @item virtdomain @tab @xref{Virtdomain Statement}.
5676 @item radius @tab @xref{Radius Statement}.
5677 @item ldap @tab @xref{LDAP Statement}.
5678 @item auth @tab @xref{Auth Statement}.
5679 @item server @tab @xref{Server Settings}.
5680 @item acl @tab @xref{ACL Statement}.
5681 @item tcp-wrappers @tab @xref{Tcp-wrappers Statement}.
5682 @end multitable
5683
5684 @deffn {Pop3d Conf} undelete @var{bool}
5685 On startup, clear deletion marks from all the messages.
5686 @end deffn
5687
5688 @deffn {Pop3d Conf} expire @var{n}
5689 Automatically expire read messages after @var{n}
5690 days. @xref{Auto-expire}, for a detailed description.
5691 @end deffn
5692
5693 @deffn {Pop3d Conf} delete-expired @var{bool}
5694 Delete expired messages upon closing the mailbox. @xref{Auto-expire},
5695 for a detailed description.
5696 @end deffn
5697
5698 @deffn {Pop3d Conf} tls-required @var{bool}
5699 Always require @code{STLS} command before entering authentication
5700 phase.
5701 @end deffn
5702
5703 @deffn {Pop3d Conf} login-delay @var{duration}
5704 Set the minimal allowed delay between two successive logins.
5705 @xref{Login delay}, for more information.
5706 @end deffn
5707
5708 @deffn {Pop3d Conf} stat-file @var{file}
5709 Set the name of login statistics file for the @code{login-delay}
5710 facility. @xref{Login delay}, for more information.
5711 @end deffn
5712
5713 @deffn {Pop3d Conf} bulletin-source @var{file}
5714 Get bulletins from the specified mailbox. @xref{Bulletins}, for a
5715 detailed description.
5716 @end deffn
5717
5718 @deffn {Pop3d Conf} bulletin-db @var{file}
5719 Set bulletin database file name. @xref{Bulletins}, for a
5720 detailed description.
5721 @end deffn
5722
5343 @node Command line options 5723 @node Command line options
5344 @subsection Command line options 5724 @subsection Command line options
5345 5725
5346 The following table summarizes all @command{pop3d} command line options. 5726 The following table summarizes all @command{pop3d} command line options.
5347 5727
5348 @table @option 5728 @table @option
5349 @item --bulletin-db=@var{file}
5350 Set the name of the database file to keep last bulletin numbers in.
5351 Be sure not to specify @samp{.db} extension. @xref{Bulletins}.
5352
5353 @item --bulletin-source=@var{mbox}
5354 Set the @acronym{URL} of the bulletin source mailbox. @xref{Bulletins}.
5355
5356 @item -d[@var{number}] 5729 @item -d[@var{number}]
5357 @itemx --daemon[=@var{number}] 5730 @itemx --daemon[=@var{number}]
5358 Run in standalone mode. An optional @var{number} specifies the maximum number 5731 Run in standalone mode. An optional @var{number} specifies the maximum number
...@@ -5361,13 +5734,6 @@ it defaults to 10 processes. ...@@ -5361,13 +5734,6 @@ it defaults to 10 processes.
5361 @emph{Please note}, that there should be no whitespace between the 5734 @emph{Please note}, that there should be no whitespace between the
5362 @option{-d} and its parameter. 5735 @option{-d} and its parameter.
5363 5736
5364 @item --delete-expired
5365 Delete expired messages upon closing the mailbox. @xref{Auto-expire}.
5366
5367 @item --expire=@var{days}
5368 Expire read messages after the given number of days. If @var{days} is
5369 0, this option implies @option{--delete-expired}. @xref{Auto-expire}.
5370
5371 @item -i 5737 @item -i
5372 @itemx --inetd 5738 @itemx --inetd
5373 Run in inetd mode. 5739 Run in inetd mode.
...@@ -5376,41 +5742,15 @@ Run in inetd mode. ...@@ -5376,41 +5742,15 @@ Run in inetd mode.
5376 @itemx --help 5742 @itemx --help
5377 Display short help message and exit. 5743 Display short help message and exit.
5378 5744
5379 @item --login-delay=@var{seconds} 5745 @item --foreground
5380 Sets the minimum allowed delay between closing a pop3d session and 5746 Remain in foreground.
5381 opening it again with the same user name. @xref{Login delay}.
5382
5383 @item -m @var{path}
5384 @itemx --mail-spool=@var{path}
5385 Set path to the mailspool directory
5386
5387 @item -p @var{number}
5388 @itemx --port @var{number}
5389 Listen on given port @var{number}. This option is meaningful only in
5390 standalone mode. It defaults to port 110.
5391
5392 @item --stat-file=@var{filename}
5393 Sets the name of the login timestamp database, used with
5394 @option{--login-delay}. By default, these data are kept in
5395 @file{/var/run/pop3-login}. Be sure to specify the file name
5396 @emph{without} DBM-specific suffix. @xref{Login delay}.
5397
5398 @item -t @var{number}
5399 @itemx --timeout @var{number}
5400 Set idle timeout to given @var{number} of seconds. Default is 600 seconds (10
5401 minutes). The daemon breaks the connection if it receives no commands
5402 from the client within that number of seconds.
5403
5404 @item --tls-required
5405 Always require @code{STLS} command before entering authentication phase.
5406
5407 @item -v
5408 @itemx --version
5409 Display program version and exit.
5410 5747
5411 @item --undelete 5748 @item --tls[=@var{bool}]
5412 Remove all deletion marks from the messages after opening the mailbox. 5749 Enable TLS. If optional argument is supplied and is @samp{false}, then
5750 disable it.
5413 5751
5752 @item --debug-auth
5753 Enable debugging of authentication functions.
5414 @end table 5754 @end table
5415 5755
5416 @page 5756 @page
...@@ -5424,6 +5764,7 @@ be run either as a standalone program or from @file{inetd.conf} file. ...@@ -5424,6 +5764,7 @@ be run either as a standalone program or from @file{inetd.conf} file.
5424 5764
5425 @menu 5765 @menu
5426 * Namespace:: Namespace. 5766 * Namespace:: Namespace.
5767 * Conf-imap4d:: Configuration.
5427 * Starting imap4d:: Invocation Options. 5768 * Starting imap4d:: Invocation Options.
5428 @end menu 5769 @end menu
5429 5770
...@@ -5475,8 +5816,214 @@ Empty ...@@ -5475,8 +5816,214 @@ Empty
5475 see or otherwise access mailboxes residing in the directories other than 5816 see or otherwise access mailboxes residing in the directories other than
5476 his own home. 5817 his own home.
5477 5818
5478 To change these defaults, use @option{--shared-namespace} and 5819 To change these defaults, use @code{shared-namespace} and
5479 @option{--other-namespace} options. 5820 @code{other-namespace} configuration statements:
5821
5822 @table @command
5823 @item shared-namespace @var{list}
5824 Set shared namespace.
5825
5826 @item other-namespace @var{list}
5827 Set other users' namespace.
5828 @end table
5829
5830 For both statements, the argument is a list of directories that belong
5831 to this namespace, e.g.:
5832
5833 @smallexample
5834 shared-namespace (/var/spool/mail,/var/mail);
5835 @end smallexample
5836
5837 If during the session the user creates a mailbox within either of
5838 these namespaces, the mode of the mailbox is determined by the
5839 following configuration statements:
5840
5841 @table @command
5842 @item shared-mailbox-mode @var{mode}
5843 Set file mode for mailboxes created in shared namespace.
5844
5845 @item other-mailbox-mode @var{mode}
5846 Set file mode for mailboxes created in other users' namespace.
5847 @end table
5848
5849 In both cases, the argument, @var{mode} is a list of symbolic mode
5850 settings, similar to that used by @command{chmod}. It is a list of
5851 comma-separated mode change commands. Each command begins with a
5852 letter @samp{g}, which means set mode bits for file group, or
5853 @samp{o}, which means set mode bits for other users (note, that there
5854 is no @samp{u} specifier, since user ownership of his mailbox cannot
5855 be changed). This letter is followed by an @samp{=} (or @samp{+}), and
5856 a list of modes to be set. This list can contain only two letters:
5857 @samp{r} to set read permission, and @samp{w} to set write permission.
5858
5859 For example, the following statement sets read and write permissions
5860 for the group:
5861
5862 @smallexample
5863 shared-namespace-mode g=rw;
5864 @end smallexample
5865
5866 @node Conf-imap4d
5867 @subsection Configuration of @command{imap4d}.
5868
5869 The behavior of @command{imap4d} is altered by the following
5870 configuration statements:
5871
5872 @multitable @columnfractions 0.3 0.6
5873 @headitem Statement @tab Reference
5874 @item debug @tab @xref{Debug Statement}.
5875 @item tls @tab @xref{TLS Statement}.
5876 @item mailbox @tab @xref{Mailbox Statement}.
5877 @item locking @tab @xref{Locking Statement}.
5878 @item logging @tab @xref{Logging Statement}.
5879 @item pam @tab @xref{PAM Statement}.
5880 @item sql @tab @xref{SQL Statement}.
5881 @item virtdomain @tab @xref{Virtdomain Statement}.
5882 @item radius @tab @xref{Radius Statement}.
5883 @item ldap @tab @xref{LDAP Statement}.
5884 @item auth @tab @xref{Auth Statement}.
5885 @item server @tab @xref{Server Settings}.
5886 @item acl @tab @xref{ACL Statement}.
5887 @item tcp-wrappers @tab @xref{Tcp-wrappers Statement}.
5888 @end multitable
5889
5890 @deffn {Imap4d Conf} shared-namespace @var{list}
5891 Set shared namespace. @var{List} is a list of
5892 strings. @xref{Namespace}, for a detailed description.
5893 @end deffn
5894
5895 @deffn {Imap4d Conf} other-namespace @var{list}
5896 Set other users' namespace. @var{List} is a list of
5897 strings. @xref{Namespace}, for a detailed description.
5898 @end deffn
5899
5900 @deffn {Imap4d Conf} shared-mailbox-mode @var{str}
5901 Set file mode for mailboxes created within shared namespace.
5902 @xref{Namespace}, for a detailed description.
5903 @end deffn
5904
5905 @deffn {Imap4d Conf} other-mailbox-mode @var{str}
5906 Set file mode for mailboxes created within other users' namespace.
5907 @xref{Namespace}, for a detailed description.
5908 @end deffn
5909
5910 @deffn {Imap4d Conf} login-disabled @var{bool}
5911 Disable @code{LOGIN} command, if @var{bool} is @samp{true}.
5912 @end deffn
5913
5914 @deffn {Imap4d Conf} create-home-dir @var{bool}
5915 Create nonexisting user home directories. See also home-dir-mode, below.
5916 @end deffn
5917
5918 @deffn {Imap4d Conf} home-dir-mode @var{mode}
5919 Set file mode for created user home directories. Mode is specified in
5920 octal.
5921
5922 The default value for @var{mode} is @samp{700} (@samp{drwx------} in
5923 @code{ls} terms).
5924 @end deffn
5925
5926 @deffn {Imap4d Conf} tls-required @var{bool}
5927 Require successful @code{STARTTLS} command before entering
5928 authentication phase.
5929 @end deffn
5930
5931 @deffn {Imap4d Conf} preauth @var{mode}
5932 Configure PREAUTH mode. Valid arguments are:
5933
5934 @table @asis
5935 @item prog:///@var{program-name}
5936 @command{Imap4d} invokes an external program to authenticate the
5937 connection. The command line is obtained from the supplied string,
5938 by expandind the following meta-variables:
5939
5940 @table @code
5941 @item $@{client_address@}
5942 Remote IP address in dotted-quad notation;
5943
5944 @item $@{client_port@}
5945 Remote port number;
5946
5947 @item $@{server_address@}
5948 Local IP address;
5949
5950 @item $@{server_port@}
5951 Local port number.
5952 @end table
5953
5954 If the connection is authenticated, the program should print the
5955 user name, followed by a newline character, on its standard
5956 output and exit with code @samp{0}.
5957
5958 Otherwise, it shoud exit with a non-zero exit code.
5959
5960 @item ident[://:@var{port}]
5961 The remote machine is asked about the requester identity
5962 using the identification protocol (RFC 1413). Both plaintext and
5963 DES encrypted replies are understood. Optional @var{port} specifies
5964 the port to use, if it differs from the default @samp{113}. It can be
5965 either a decimal port number or a symbolic name of a service, listed
5966 in @file{/etc/services}.
5967
5968 @item stdio
5969 PREAUTH mode is enabled automatically if imap4d is started
5970 from command line in interactive mode (@option{-i} command line
5971 option). The current login name is used as the user name.
5972 @end table
5973 @end deffn
5974
5975 @deffn {Imap4d Conf} preauth-only @var{bool}
5976 If @var{bool} is @samp{true}, use only preauth mode. If unable to
5977 setup it, disconnect immediately.
5978 @end deffn
5979
5980 @deffn {Imap4d Conf} ident-keyfile @var{file}
5981 Set DES keyfile for decoding ecrypted ident responses. Used with
5982 @samp{ident://} preauth mode.
5983 @end deffn
5984
5985 @deffn {Imap4d Conf} ident-entrypt-only @var{bool}
5986 Use only encrypted IDENT responses.
5987 @end deffn
5988
5989 @deffn {Imap4d Conf} id-fields @var{list}
5990 Set list of fields to return in response to ID command.
5991
5992 Valid field names are:
5993
5994 @table @asis
5995 @item name
5996 Package name (@samp{GNU Mailutils}).
5997
5998 @item version
5999 Package version (@samp{@value{VERSION}}).
6000
6001 @item vendor
6002 Vendor name (@samp{GNU}).
6003
6004 @item support-url
6005 The string @samp{http://www.gnu.org/software/mailutils}
6006
6007 @item address
6008 The string @samp{51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA}.
6009
6010 @item os
6011 OS name.
6012
6013 @item os-version
6014 OS version number.
6015
6016 @item command
6017 Name of the @command{imap4d} binary.
6018
6019 @item arguments
6020 Invocation command line.
6021
6022 @item environment
6023 List of environment variables with their values.
6024 @end table
6025
6026 @end deffn
5480 6027
5481 @node Starting imap4d 6028 @node Starting imap4d
5482 @subsection Starting @command{imap4d} 6029 @subsection Starting @command{imap4d}
...@@ -5493,18 +6040,9 @@ The ``inetd'' mode allows to start the server from ...@@ -5493,18 +6040,9 @@ The ``inetd'' mode allows to start the server from
5493 imap4 stream tcp nowait root /usr/local/sbin/imap4d imap4d 6040 imap4 stream tcp nowait root /usr/local/sbin/imap4d imap4d
5494 @end smallexample 6041 @end smallexample
5495 6042
5496 The program uses following option groups: @FIXME-xref{mailbox},
5497 @FIXME-xref{daemon}, @FIXME-xref{logging}, @FIXME-xref{auth}.
5498
5499 @subheading Command Line Options 6043 @subheading Command Line Options
5500 6044
5501 @table @option 6045 @table @option
5502 @item --create-home-dir[=@var{mode}]
5503 If a user logs in and his home directory does not exist, create
5504 it. Optional @var{mode} is an octal number specifying the permissions
5505 to be set on the created directory. It is not modified by the current
5506 @code{umask} value. The default value for @var{mode} is @samp{700}
5507 (@samp{drwx------} in @code{ls} terms).
5508 @item -d[@var{number}] 6046 @item -d[@var{number}]
5509 @itemx --daemon[=@var{number}] 6047 @itemx --daemon[=@var{number}]
5510 Run in standalone mode. An optional @var{number} specifies the maximum number 6048 Run in standalone mode. An optional @var{number} specifies the maximum number
...@@ -5512,32 +6050,26 @@ of child processes the daemon is allowed to fork. When it is omitted, ...@@ -5512,32 +6050,26 @@ of child processes the daemon is allowed to fork. When it is omitted,
5512 it defaults to 20 processes. 6050 it defaults to 20 processes.
5513 @emph{Please note}, that there should be no whitespace between the 6051 @emph{Please note}, that there should be no whitespace between the
5514 @option{-d} and its parameter. 6052 @option{-d} and its parameter.
6053
5515 @item -h 6054 @item -h
5516 @itemx --help 6055 @itemx --help
5517 Display short help message and exit. 6056 Display short help message and exit.
6057
5518 @item -i 6058 @item -i
5519 @itemx --inetd 6059 @itemx --inetd
5520 Run in inetd mode. 6060 Run in inetd mode.
5521 @item -m @var{path} 6061 @item --foreground
5522 @itemx --mail-spool=@var{path} 6062 Run in foreground.
5523 Set path to the mailspool directory 6063
5524 @item -O @var{pathlist} 6064 @item --preauth
5525 @itemx --other-namespace=@var{pathlist} 6065 Start in preauth mode
5526 Set the list of directories forming the ``Other User's'' namespace. 6066
5527 @var{pathlist} is a list of directory names separated by colons. 6067 @item --tls[=@var{bool}]
5528 @item -p @var{number} 6068 Enable TLS support
5529 @itemx --port @var{number} 6069
5530 Listen on given port @var{number}. This option is meaningful only in 6070 @item --debug-auth
5531 standalone mode. It defaults to port 143. 6071 Debug authentication functions.
5532 @item -S @var{pathlist} 6072
5533 @itemx --shared-namespace=@var{pathlist}
5534 Set the list of directories, forming the ``Shared''
5535 namespace. @var{pathlist} is a list of directory names separated by colons.
5536 @item -t @var{number}
5537 @itemx --timeout @var{number}
5538 Set idle timeout to given @var{number} of seconds. Default is 1800 seconds (30
5539 minutes). The daemon breaks the connection if it receives no commands
5540 from the client within that number of seconds.
5541 @item -v 6073 @item -v
5542 @itemx --version 6074 @itemx --version
5543 Display program version and exit. 6075 Display program version and exit.
......
...@@ -127,12 +127,12 @@ cb_bulletin_db (mu_debug_t debug, void *data, mu_config_value_t *val) ...@@ -127,12 +127,12 @@ cb_bulletin_db (mu_debug_t debug, void *data, mu_config_value_t *val)
127 } 127 }
128 128
129 static struct mu_cfg_param pop3d_cfg_param[] = { 129 static struct mu_cfg_param pop3d_cfg_param[] = {
130 { "undelete", mu_cfg_int, &undelete_on_startup, 0, NULL, 130 { "undelete", mu_cfg_bool, &undelete_on_startup, 0, NULL,
131 N_("On startup, clear deletion marks from all the messages.") }, 131 N_("On startup, clear deletion marks from all the messages.") },
132 { "expire", mu_cfg_uint, &expire, 0, NULL, 132 { "expire", mu_cfg_uint, &expire, 0, NULL,
133 N_("Automatically expire read messages after the given number of days."), 133 N_("Automatically expire read messages after the given number of days."),
134 N_("days") }, 134 N_("days") },
135 { "delete-expired", mu_cfg_int, &expire_on_exit, 0, NULL, 135 { "delete-expired", mu_cfg_bool, &expire_on_exit, 0, NULL,
136 N_("Delete expired messages upon closing the mailbox.") }, 136 N_("Delete expired messages upon closing the mailbox.") },
137 #ifdef WITH_TLS 137 #ifdef WITH_TLS
138 { "tls-required", mu_cfg_bool, &tls_required, 0, NULL, 138 { "tls-required", mu_cfg_bool, &tls_required, 0, NULL,
......
...@@ -294,7 +294,7 @@ cb_ticket (mu_debug_t debug, void *data, mu_config_value_t *val) ...@@ -294,7 +294,7 @@ cb_ticket (mu_debug_t debug, void *data, mu_config_value_t *val)
294 } 294 }
295 295
296 static struct mu_cfg_param sieve_cfg_param[] = { 296 static struct mu_cfg_param sieve_cfg_param[] = {
297 { "keep-going", mu_cfg_int, &keep_going, 0, NULL, 297 { "keep-going", mu_cfg_bool, &keep_going, 0, NULL,
298 N_("Do not abort if execution fails on a message.") }, 298 N_("Do not abort if execution fails on a message.") },
299 { "mbox-url", mu_cfg_string, &mbox_url, 0, NULL, 299 { "mbox-url", mu_cfg_string, &mbox_url, 0, NULL,
300 N_("Mailbox to sieve (defaults to user's mail spool)."), 300 N_("Mailbox to sieve (defaults to user's mail spool)."),
......