diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-10-23 13:02:08 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-10-23 13:02:08 +0000 |
commit | 9e569139583178c7e1c35147cef3fd17493a11da (patch) | |
tree | 36defb2a0547176e1ad91b8fc653f5dc687c9da9 /doc | |
parent | 80c8065d88f8c0621d6b690976dc675092db6509 (diff) | |
download | mailfromd-9e569139583178c7e1c35147cef3fd17493a11da.tar.gz mailfromd-9e569139583178c7e1c35147cef3fd17493a11da.tar.bz2 |
Reimplement syslog-async. Thanks Simon Kelley for relicensing it under GPLv3.
git-svn-id: file:///svnroot/mailfromd/trunk@1520 7a8a7f39-df28-0410-adc6-e0d955640f24
Diffstat (limited to 'doc')
-rw-r--r-- | doc/mailfromd.texi | 83 |
1 files changed, 73 insertions, 10 deletions
diff --git a/doc/mailfromd.texi b/doc/mailfromd.texi index 078f722a..6aa44c6b 100644 --- a/doc/mailfromd.texi +++ b/doc/mailfromd.texi @@ -131,6 +131,7 @@ Sender Address Verification. Building the Package +* 410-420:: Upgrading from 4.1 to 4.2 * 400-410:: Upgrading from 4.0 to 4.1 * 31x-400:: Upgrading from 3.1.x to 4.0 * 30x-31x:: Upgrading from 3.0.x to 3.1 @@ -885,7 +886,7 @@ Expiration settings can be changed at run time using @cindex enable-syslog-async, @option{--enable-syslog-async}, @command{configure} option @cindex syslog, non-blocking -@item Select @command{syslog} implementation to use. +@item Select a @command{syslog} implementation to use. @anchor{syslog-async} @command{Mailfromd} uses @code{syslog} for diagnostics output. The @@ -896,7 +897,7 @@ result, when an application calls @code{syslog()}, and the application will hang. @cindex Simon Kelley - In the case of a daemon as @command{mailfromd}, it is more important + For @command{mailfromd}, as for any daemon, it is more important that it continue to run, than that it continue to log. For this purpose, @command{mailfromd} is shipped with a non-blocking @code{syslog} implementation by Simon Kelley. This implementation, @@ -908,8 +909,12 @@ lines are lost, this fact is logged with a message of the form: async_syslog overflow: 5 log entries lost @end smallexample - To enable non-blocking @command{syslog}, use the -@option{--enable-syslog-async} command line option: + You can select which implementation to run when starting +@command{mailfromd}, by using @option{--syslog-async} or +@option{--no-syslog-async} command line options +(@pxref{Logging and Debugging}). When configuring, you can set +the asynchronous syslog as the @emph{default} syslog implementation, +using the @option{--enable-syslog-async} command line option: @smallexample ./configure --enable-syslog-async @@ -945,7 +950,7 @@ Socket.................................... mailfrom Expiration interval....................... 86400 Negative DNS answer expiration interval... 3600 Rates expire interval..................... 300 -Syslog implementation..................... blocking +Default syslog implementation............. blocking Readline (for mtasim)..................... yes Documentation rendition type.............. PROOF ******************************************************************* @@ -969,6 +974,7 @@ the corresponding section below. @end enumerate @menu +* 410-420:: Upgrading from 4.1 to 4.2 * 400-410:: Upgrading from 4.0 to 4.1 * 31x-400:: Upgrading from 3.1.x to 4.0 * 30x-31x:: Upgrading from 3.0.x to 3.1 @@ -976,6 +982,22 @@ the corresponding section below. * 1x-2x:: Upgrading from 1.x to 2.x @end menu +@node 410-420 +@section Upgrading from 4.1 to 4.2 +@cindex Upgrading from 4.1 to 4.2 +@UNREVISED{} + Upgrading to this version does not require any special efforts. You +can use your configuration files and filter scripts without any +changes. The only difference worth noticing is that starting from this +version @command{mailfromd} is always compiled with asynchronous +syslog implementation. The @option{--enable-syslog-async} +configuration file option is still available, but its meaning has +changed: it sets the @emph{default} syslog implementation to use +(@pxref{syslog-async}). Thus, it can be used the same way it was in +previous versions. You can also select the syslog implementation at +run time, see @ref{Logging and Debugging, --syslog-async option}, for +more detailed information. + @node 400-410 @section Upgrading from 4.0 to 4.1 @cindex Upgrading from 4.0 to 4.1 @@ -1011,7 +1033,7 @@ Pragma options: @code{retry}, @code{io-retry}, and @cindex upgrading from 3.1.x to 4.0 Before building this version, please re-read the chapter -@xref{Building}, especially the section @xref{syslog-async, Using +@xref{Building}, especially the section @ref{syslog-async, Using non-blocking syslog}. Starting from the version 4.0, @acronym{MFL} no longer uses the @@ -2156,15 +2178,15 @@ actual @var{email} owner won't be blocked by actions of some spammer abusing his/her address. To control and update sending rates, the @code{rate} function is -provided. It takes two arguments: @code{key}, whose meaning is -described above, and @code{interval}, or the number of seconds, to +provided. It takes two mandatory arguments: @code{key}, whose meaning +is described above, and @code{interval}, or the number of seconds, to which the actual sending rate value is converted. Remember, that it is stored internally as a floating point number, and thus cannot be used in @command{mailfromd} filters, which operate only on integer numbers. To use the rate value, it is first converted to messages per given interval, which is an integer number. For example, the rate @code{0.138888} brought to 1-hour interval gives @code{500} -(messages per hour). +(messages per hour). Wherever the @code{rate} function is called, it recomputes and updates the rate record for the given @var{key}, and returns its @@ -2216,6 +2238,7 @@ with the given key value were detected: @end smallexample For additional information about @code{rate} function, see @ref{rate}. + @node Greylisting @section Greylisting @@ -2420,7 +2443,7 @@ user: mail statedir: /var/run/mailfromd socket: unix:/var/run/mailfromd/mailfrom pidfile: /var/run/mailfromd/mailfromd.pid -syslog: blocking +default syslog: blocking database format: Berkeley DB 2.x dns database: /var/run/mailfromd/dns.db dns negative expiration: 3600 @@ -2830,6 +2853,24 @@ these defaults, two command line options are provided: @option{--stderr} to print everything to standard error and @option{--syslog} to output all diagnostics to syslog. +@cindex syslog, default implementation +@cindex syslog, non-blocking +@cindex syslog, asynchronous +@cindex asynchronous syslog +@cindex non-blocking syslog +@xopindex{syslog-async, introduced} +@xopindex{no-syslog-async, introduced} + The data can be sent to syslog using two ways: the @code{syslog} +function from the system @file{libc} library, which is a @dfn{blocking} +implementation in most cases, and the internal, @dfn{asynchronous} +syslog implementation. @xref{syslog-async, Using non-blocking syslog}, +for more information on these implementations and for information on +how to select the default one. Two options are provided to select the +implementation to use at run time: the @option{--syslog-async} option +instructs @command{mailfromd} to use asynchronous version, and the +@option{--no-syslog-async} option instructs it to use the blocking +version. + @cindex syslog facility, selecting @cindex selecting syslog facility @cindex syslog facility, default @@ -10410,6 +10451,17 @@ Output logs to syslog @var{facility}. @item --log-tag=@var{string} Tag syslog entries with the given @var{string}, instead of the program name. +@opsummary{no-syslog-async} +@item --no-syslog-async +Use system @command{libc} syslog implementation. @xref{Logging and Debugging}, +for more information about two syslog flavors, and see @ref{syslog-async, +Using non-blocking syslog}, for information on how to set default +syslog implementation at compile time. + +To inspect the default syslog implementation, use the +@option{--show-defaults} command line option (@pxref{Databases, +show-defaults}). + @opsummary{stderr} @item -s @itemx --stderr @@ -10460,6 +10512,17 @@ Output logs to syslog. This is the default, unless any of the following options is used: @option{--compact}, @option{--delete}, @option{--expire}, @option{--test}, and @option{--list}. +@opsummary{syslog-async} +@item --syslog-async +Use asynchronous syslog implementation. @xref{Logging and Debugging}, +for more information about two syslog flavors, and see @ref{syslog-async, +Using non-blocking syslog}, for information on how to set default +syslog implementation at compile time. + +To inspect the default syslog implementation, use the +@option{--show-defaults} command line option (@pxref{Databases, +show-defaults}). + @opsummary{xref} @item --xref Same as @option{--dump-xref}. @xref{Logging and Debugging}. |