aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-06-15 15:18:21 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2009-08-18 09:57:51 +0300
commitc53eb034bb53ea51bc299066e5d1e79565876b71 (patch)
tree86047d249b190790e3e276c6824749314797a7fe
parent50d90aca70a5f3033b9dbc4235bc11ec92a026d5 (diff)
downloadmailfromd-c53eb034bb53ea51bc299066e5d1e79565876b71.tar.gz
mailfromd-c53eb034bb53ea51bc299066e5d1e79565876b71.tar.bz2
Bugfixes
* mfd/bi_io.m4 (read): Add terminating zero. * mflib/match_dnsbl.mf (match_dnsbl): Return 0 if address is not resolved. * mflib/sockmap.mf (sockmap_single_lookup): Fix typo.
-rw-r--r--mfd/bi_io.m41
-rw-r--r--mflib/match_dnsbl.mf6
-rw-r--r--mflib/sockmap.mf2
3 files changed, 7 insertions, 2 deletions
diff --git a/mfd/bi_io.m4 b/mfd/bi_io.m4
index 345c0c35..81693532 100644
--- a/mfd/bi_io.m4
+++ b/mfd/bi_io.m4
@@ -508,12 +508,13 @@ MF_DEFUN(read, STRING, NUMBER fd, NUMBER size)
MF_THROW(mfe_eof,
_("EOF on %s"), iotab[fd].name);
MF_ASSERT(rc == size,
mfe_io,
_("Read error on %s: %s"),
iotab[fd].name, mu_strerror(errno));
+ s[size] = 0;
MF_RETURN(off);
}
END
/* FIXME: only first char of delim is used */
MF_DEFUN(getdelim, STRING, NUMBER fd, STRING delim)
diff --git a/mflib/match_dnsbl.mf b/mflib/match_dnsbl.mf
index d181c9ad..6f4692f1 100644
--- a/mflib/match_dnsbl.mf
+++ b/mflib/match_dnsbl.mf
@@ -26,13 +26,17 @@ do
if %iprange = 'ANY'
set iprange '127.0.0.0/8'
fi
if %address matches
'^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$'
- if match_cidr (resolve ("\4.\3.\2.\1", %zone), %iprange)
+ string res resolve ("\4.\3.\2.\1", %zone)
+ if %res == "0"
+ return 0
+ fi
+ if match_cidr (%res, %iprange)
return 1
else
return 0
fi
else
throw e_invip "%address: invalid IP address"
diff --git a/mflib/sockmap.mf b/mflib/sockmap.mf
index e913b167..46b1bb54 100644
--- a/mflib/sockmap.mf
+++ b/mflib/sockmap.mf
@@ -41,10 +41,10 @@ do
done
func sockmap_single_lookup(string url, string map, string arg)
returns string
do
number fd open("@ %url")
- string res sockmap_query(%fd, %map, %arg)
+ string res sockmap_lookup(%fd, %map, %arg)
close(%fd)
return %res
done

Return to:

Send suggestions and report system problems to the System administrator.