diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-03-10 13:43:22 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-03-10 13:43:22 +0000 |
commit | 18ebe7bb829772d7bf1df49d23a2c9dd53a2afcd (patch) | |
tree | 51b017fdad8d712f2aa4f7a5d505032acc2e9185 /NEWS | |
parent | 9fe06f87591f813fce7f9068f19246c8d933fc6a (diff) | |
download | mailfromd-18ebe7bb829772d7bf1df49d23a2c9dd53a2afcd.tar.gz mailfromd-18ebe7bb829772d7bf1df49d23a2c9dd53a2afcd.tar.bz2 |
* src/mailfromd.h (enum mf_status_code): Add a comma and a count
definition, needed for make check-exceptions in docs.
* src/status.mfi (m4_ifdef): Use OLD_EXCEPTION_CODES instead of
COMPAT_4_3.
* src/main.c: New command line options: -D (--define), and -U
(--undefine).
* mflib/match_dnsbl.mf (match_dnsbl): Use LAZY_MATCH_RBL instead of
COMPAT_4_3.
Throw e_invip if address is invalid.
* mflib/match_rhsbl.mf (match_rhsbl): Use LAZY_MATCH_RBL instead
of COMPAT_4_3.
* doc/mailfromd.texi: Document variable shadowing and new
features.
* doc/Makefile.am (check-exceptions): Update the rule.
* NEWS: Update.
git-svn-id: file:///svnroot/mailfromd/branches/release_4_3_patches@1630 7a8a7f39-df28-0410-adc6-e0d955640f24
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 62 |
1 files changed, 61 insertions, 1 deletions
@@ -1,2 +1,2 @@ -Mailfromd NEWS -- history of user-visible changes. 2008-03-09 +Mailfromd NEWS -- history of user-visible changes. 2008-03-10 Copyright (C) 2005, 2006, 2007, 2008 Sergey Poznyakoff @@ -9,2 +9,62 @@ Version 4.3.90 (SVN) +* 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 counterpars: 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. + |