diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-10-19 22:06:20 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-10-19 22:06:20 +0300 |
commit | 0d8954ca25771bc6c6f5d9cf9bfa38a2b1bbba6e (patch) | |
tree | cba9192cbf520ef5527e3b1c7efccf69df24a334 /doc/mailfromd.texi | |
parent | b5a739de9d8ada25c4ce7cf5f365ecde89f470e5 (diff) | |
download | mailfromd-0d8954ca25771bc6c6f5d9cf9bfa38a2b1bbba6e.tar.gz mailfromd-0d8954ca25771bc6c6f5d9cf9bfa38a2b1bbba6e.tar.bz2 |
Improve DNS resolver API
Remove arbitrary size limits.
* NEWS: Version 8.2.90
* configure.ac: Likewise. Require Mailutils 3.3
* doc/calloutd.texi: Update.
* doc/functions.texi: Update.
* doc/mailfromd.texi: Update.
* doc/upgrade.texi: Update.
* lib/dns.c: Rewrite.
* lib/dns.h (MAXMXCOUNT, MXF_MAX): Remove.
(mxbuf_init,dns_resolve_ipstr)
(a_lookup,ptr_lookup,txt_lookup)
(spf_lookup): Change protos.
(dns_reply): New struct.
(dns_reply_free,dns_reply_ip): New functions.
* lib/libmf.h (getmxip): Change proto.
* src/builtin/dns.bi: Remove runtime configuration statements:
max-dns-reply-a, max-dns-reply-ptr, and max-dns-reply-mx. Rewrite using
the new DNS API.
* src/callout.c: Update.
* src/mailfromd.h: Update.
* src/main.c: Remove the max-match-mx configuration statement.
* src/prog.c: Update.
* src/spf.c: Update.
* src/spf.h: Update.
* src/srvcfg.c: Remove the max-callout-mx configuration statement.
Diffstat (limited to 'doc/mailfromd.texi')
-rw-r--r-- | doc/mailfromd.texi | 89 |
1 files changed, 25 insertions, 64 deletions
diff --git a/doc/mailfromd.texi b/doc/mailfromd.texi index 05c9e839..d28915f9 100644 --- a/doc/mailfromd.texi +++ b/doc/mailfromd.texi @@ -339,7 +339,6 @@ Configuring @command{mailfromd} * conf-priv:: Privilege Configuration * conf-database:: Database Configuration * conf-runtime:: Runtime Constants -* conf-other:: Other Configuration Statements * conf-mailutils:: Standard Mailutils Statements @command{Mailfromd} Command Line Syntax @@ -471,38 +470,38 @@ possibilities. After a short run on my mail servers, I discovered that the utility was not flexible enough. It took less than a month to implement a -configuration file that allowed to control program and data flow +configuration file that allowed the user to control program and data flow during the @samp{envfrom} @acronym{SMTP} state. The new version, 1.0, appeared in June, 2005. - The next major release, 1.2 (1.1 contained mostly bugfixes), -appeared two months later, which introduced @dfn{mail sending rate} + Next major release, 1.2 (1.1 contained mostly bugfixes), +appeared two months later, and introduced @dfn{mail sending rate} control (@pxref{Rate Limit}). - The program evolved during the next year, which led to the -release of version 2.0 in September, 2006. This version was a major -change in the main idea of the program. Configuration file become a -flexible filter script allowing to control almost all @acronym{SMTP} -states. The program supplied in the script file -was compiled into a pseudo-code at startup, this code being subsequently -evaluated each time the filter was invoked. This caused a considerable -speed-up in comparison with the previous versions, where the run-time -evaluator was traversing the parse tree. This version also introduced -(implicitly, at the time), two separate data types for the entities -declared in the script, which also played its role in the speed -improvement (in the previous versions all data were considered -strings). Lots of improvements were made in the filter language -(@acronym{MFL}, @pxref{MFL}) itself, such as user-defined functions, -@code{switch} statement, @code{catch} statement that allows to handle -run-time errors, etc. The set of built-in functions extended -considerably. A testsuite (using @i{DejaGNU}) was introduced in this version. + The program evolved during the next year, and the version 2.0 was +released in September, 2006. This version was a major change in the +main idea of the program. Configuration file become a flexible filter +script allowing the operator to control almost all @acronym{SMTP} states. The +program supplied in the script file was compiled into a pseudo-code at +startup, this code being subsequently evaluated each time the filter +was invoked. This caused a considerable speed-up in comparison with +the previous versions, where the run-time evaluator was traversing the +parse tree. This version also introduced (implicitly, at the time), +two separate data types for the entities declared in the script, which +also played its role in the speed improvement (in the previous +versions all data were considered strings). Lots of improvements were +made in the filter language (@acronym{MFL}, @pxref{MFL}) itself, such +as user-defined functions, the @code{switch} statement, the @code{catch} +statement for handling run-time errors, etc. The set of +built-in functions extended considerably. A testsuite (using +@i{DejaGNU}) was introduced in this version. During this initial development period the limitations imposed by @command{libmilter} implementation became obvious. Finally, I felt they were stopping further development, and decided that @command{mailfromd} should use its own @samp{Milter} implementation. This new library, @command{libgacopyz} was the main -new feature of the 3.0 release, that was released in November, 2006. +new feature of the 3.0 release, which was released in November, 2006. Another major feature was the @option{--dump-macros} option and @option{macros} to @command{rc.mailfromd} script, that were intended to facilitate the configuration on @samp{Sendmail} side. @@ -521,7 +520,7 @@ eliminated many run-time errors. This version also provided a foundation for @acronym{MFL} module system. The code generation was re-implemented to facilitate introduction of object files in future versions. Another new features in this release include -@acronym{SPF} support and @command{mtasim} utility, an @acronym{MTA} +@acronym{SPF} support and @command{mtasim} utility --- an @acronym{MTA} simulator designed for testing @command{mailfromd} scripts (@pxref{mtasim}). The test suite in this version was made portable by rewriting it in @i{Autotest}. @@ -541,9 +540,9 @@ a full-fledged modular system, akin to that of Python, and quite a few improvements to the language. such as explicit type casts, concatenation operator, static variables, etc. - Starting from version 7.0, main focus of further development of -@command{mailfromd} has shifted. While previously it was regarded -as a mail-filtering server, now it is being developed as a system for + Starting from version 7.0, the focus of further development of +@command{mailfromd} has shifted. While previously it had been regarded +as a mail-filtering server, since then it was developed as a system for extending @acronym{MTA} functionality in the broad sense, mail filtering being only one of features it provides. @@ -6468,10 +6467,6 @@ returns true. Otherwise, its result is false. returns true only if any of the @samp{MX}s for (domain or email) @var{x} match the globbing pattern @var{y}. - These operators examine at most @value{MAX_DNS_MX} @samp{MX} -records. To change this limit, use the @code{max-match-mx} -configuration statement (@pxref{conf-other, max-match-mx}). - Both @code{mx matches} and @code{mx fnmatches} can signal the following exceptions: @code{e_temp_failure}, @code{e_failure}. @@ -9088,7 +9083,6 @@ program calloutd @{ * conf-priv:: Privilege Configuration * conf-database:: Database Configuration * conf-runtime:: Runtime Constants -* conf-other:: Other Configuration Statements * conf-mailutils:: Standard Mailutils Statements @end menu @@ -9532,11 +9526,6 @@ setvar mailfrom_address @var{string}; @end smallexample @end deffn -@deffn {Mailfromd Conf} max-callout-mx number - Sets the maximum number of MXs to be polled during a callout -verification. Defaults to @value{MAX_DNS_MX}. -@end deffn - @deffn {Mailfromd Conf} enable-vrfy bool @cindex VRFY, SMTP statement Enables the use of SMTP VRFY statement prior to normal callout @@ -9680,34 +9669,6 @@ using the @code{mailbox_get_message} function. @xref{Message functions}, for details. @end deffn -@deffn {runtime} max-dns-reply-a number -Sets the maximum number of @acronym{DNS} @samp{A} records to be -returned in a reply. This affects the @code{dns_getaddr} function -(@pxref{DNS functions, dns_getaddr}). The default value is @value{MAX_DNS_A}. -@end deffn - -@deffn {runtime} max-dns-reply-ptr number -Sets the maximum number of @acronym{DNS} @samp{PTR} records to be -returned in a reply. This affects the @code{dns_getname} function -(@pxref{DNS functions, dns_getname}). The default value is @value{MAX_DNS_PTR}. -@end deffn - -@deffn {runtime} max-dns-reply-mx number -Sets the maximum number of @acronym{DNS} @samp{MX} records to be -returned in a reply. This affects the following functions: -@code{getpx}, @code{ismx}, @code{primitive_mx} -(@pxref{DNS functions}). The default value is @value{MAX_DNS_MX}. -@end deffn - -@node conf-other -@section Other Configuration Statements - -@deffn {Mailfromd Conf} max-match-mx number -Sets the maximum number of MXs to use in @samp{mx matches} operations -(@pxref{mx matches}). Defaults to @value{MAX_DNS_MX}. -@end deffn - - @node conf-mailutils @section Standard Mailutils Statements |