mailfromd -- a general-purpose milter - News: Version 4.4 available.
[Submit News]
[53 news in archive]
Version 4.4 available.
Item posted by Sergey Poznyakoff <gray> on Mon Mar 10 14:44:13 2008.
Mailfromd version 4.4 is available for download from ftp://download.gnu.org.ua/pub/release/mailfromd.
New in this release:
- The --domain option is withdrawn.
This option was declared as deprecated in version 4.0. Now it is withdrawn and its short version (-D) is reused for another purpose (see -D option, below).
- New command line options -D and -U
Both options work like their m4 counterparts: the `-D' command line option defines a preprocessor symbol, the `-U' option undefines it.
- Constant vs. variable shadowing
In previous versions of mailfromd name clashes between constants and variables went unnoticed, which sometimes lead to hard-to-diagnose errors. This bug is fixed in this version. If a constant is defined which has the same name as a previously defined variable (the constant "shadows" the variable), the compiler prints the following diagnostic message:
<file>:<line>: Warning: Constant name `name' clashes with a variable name
<file>:<line>: Warning: This is the location of the previous definition
A similar diagnostics is issued if a variable is defined whose name coincides with a previously defined constant (the variable "shadows" the constant).
In any case, the %NAME notation refers to the last defined symbol, be it variable or constant.
If a variable shadows a constant, the scope of the shadowing depends on the storage class of the variable. For automatic variables and function parameters, it ends with the final `done' closing the function. For global variables, it lasts up to the end of input.
- Exception names.
To minimize chances of name clashes, all symbolic exception codes has been renamed by prefixing them with the `e_', thus, e.g. `divzero' became `e_divzero', etc. The `ioerr' exception code is renamed to `e_io'.
For consistency, the following most often used codes are available without the `e_' previx: success, not_found, failure, temp_failure.
The use of old exception codes is still possible by defining a preprocessor symbol OLD_EXCEPTION_CODES, for example:
mailfromd -DOLD_EXCEPTION_CODES
- match_dnsbl and match_rhsbl
Both functions malfunctioned in versions from 4.0 up to 4.3.1 due to a name clash between the exception code `range' and their third argument. This is fixed.
Additionally, previous versions of match_dnsbl silently ignored invalid first argument. Now, the e_invip exception is signalled in this case.
Comments:
No messages in Version 4.4 available.