aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2008-03-10 13:43:22 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2008-03-10 13:43:22 +0000
commit18ebe7bb829772d7bf1df49d23a2c9dd53a2afcd (patch)
tree51b017fdad8d712f2aa4f7a5d505032acc2e9185 /NEWS
parent9fe06f87591f813fce7f9068f19246c8d933fc6a (diff)
downloadmailfromd-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--NEWS62
1 files changed, 61 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 25ba9d4d..09dbea34 100644
--- a/NEWS
+++ b/NEWS
@@ -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.
+

Return to:

Send suggestions and report system problems to the System administrator.