aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
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,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 <bug-mailfromd@gnu.org.ua>
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.
+
Version 4.3.1, 2008-03-01

Return to:

Send suggestions and report system problems to the System administrator.