path: root/NEWS
authorSergey Poznyakoff <>2007-03-18 11:09:25 (GMT)
committer Sergey Poznyakoff <>2007-03-18 11:09:25 (GMT)
commitccef20a48e758594256dbfa246dc6c4bcffc9003 (patch) (side-by-side diff)
tree3c4ada7f4b3096ef564d8c8ba8dfe8db2002fc81 /NEWS
parentec1605d16b925c61f6046760af5eb95e02da2f2a (diff)
*, Add mflib
* NEWS: Update * mflib: New subdirectory * mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/, mflib/ New files * doc/ Remove extract.awk * doc/extract.awk: Remove * doc/mailfromd.texi: Update * src/symtab.c, src/gram.y, src/mailfromd.h: Implement optional arguments for user functions * src/lex.l: Implement #include_once * src/prog.c (name_destroy): Free the object * src/bi_ipaddr.m4 (match_cidr): Remove. The function is implemented in MFL (mflib/ * testsuite/lib/mailfromd.exp, testsuite/etc/cidr.rc, testsuite/etc/catch.rc, testsuite/etc/catch01.rc, etc/mailfromd.rc: Use includes when necessary git-svn-id: file:///svnroot/mailfromd/trunk@1292 7a8a7f39-df28-0410-adc6-e0d955640f24
Diffstat (limited to 'NEWS') (more/less context) (ignore whitespace changes)
1 files changed, 65 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 16ee4ef..2fb9957 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Mailfromd NEWS -- history of user-visible changes. 2007-03-17
+Mailfromd NEWS -- history of user-visible changes. 2007-03-18
Copyright (C) 2005, 2006, 2007 Sergey Poznyakoff
See the end of file for copying conditions.
@@ -7,6 +7,39 @@ Please send mailfromd bug reports to <>
Version 3.1.91, SVN
+* Optional arguments in user-defined functions
+User-defined functions can take optional arguments. In declaration,
+optional arguments are separated from the mandatory ones by a
+semicolon. For example:
+ func foo(number a, number b; string c)
+This function is declared with two mandatory arguments (a and b), and
+an optional one (c). Subsequently it can be invoked either as
+ foo(x, y, z)
+ foo(x, y)
+When invoking such functions, any missing arguments are replaced with
+default values:
+ - 0 for numeric arguments
+ - "" for string arguments
+Thus, continuing our previous example, the invocation `foo(x, y)' is
+equivalent to `foo(x, y, "")'.
+* New statement #include_once
+This statement works exactly like `#include' except that it keeps
+track of the included files. If the requested file has already been
+included, `#include_once' returns silently, while `#include' issues
+an error message.
* Internet address manipulation functions
- number ntohl (number N)
@@ -18,6 +51,37 @@ Version 3.1.91, SVN
- number len_to_netmask (number N)
- number netmask_to_len (number N)
+* DNS functions
+DNS functions are reemplemented in two layers:
+1. Primitive calls:
+- string primitive_hostname (string IP)
+- string primitive_resolve (string S [, string DOMAIN])
+- number primitive_hasmx (string DOMAIN)
+- number primitive_ismx (string DOMAIN, string IP)
+These functions throw an exception if the requested lookup operation
+2. Traditional calls:
+- string hostname (string IP)
+- string resolve (string S [, string DOMAIN])
+- number hasmx (string DOMAIN)
+- number ismx (string DOMAIN, string IP)
+These are implemented in MFL and work exactly as their predecessors in
+3.1.x branch.
+To use the traditional calls, include file "".
+* Function `match_cidr'
+This function has been reemplemented in MFL. To use it, include
* New statement `throw'
The `throw' statement throws the given exception. For example:

Return to:

Send suggestions and report system problems to the System administrator.