path: root/NEWS
authorSergey Poznyakoff <>2008-03-10 13:43:22 (GMT)
committer Sergey Poznyakoff <>2008-03-10 13:43:22 (GMT)
commit18ebe7bb829772d7bf1df49d23a2c9dd53a2afcd (patch) (side-by-side diff)
tree51b017fdad8d712f2aa4f7a5d505032acc2e9185 /NEWS
parent9fe06f87591f813fce7f9068f19246c8d933fc6a (diff)
* 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): Use LAZY_MATCH_RBL instead of COMPAT_4_3. Throw e_invip if address is invalid. * mflib/ (match_rhsbl): Use LAZY_MATCH_RBL instead of COMPAT_4_3. * doc/mailfromd.texi: Document variable shadowing and new features. * doc/ (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') (more/less context) (ignore whitespace changes)
1 files changed, 61 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 25ba9d4..09dbea3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-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
See the end of file for copying conditions.
@@ -7,6 +7,66 @@ Please send mailfromd bug reports to <>
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
+<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
+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:
+* 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.
Version 4.3.1, 2008-03-01

Return to:

Send suggestions and report system problems to the System administrator.