# HG changeset patch # User carl # Date 1194718854 28800 # Node ID f0eda59e8afd923a9f5480f6ca2b50f2e58c08b9 # Parent 2a80c9b5d2c9de26e7d7c3f2cc4f3abdd97159fe fix null pointer dereference from missing HELO command diff -r 2a80c9b5d2c9 -r f0eda59e8afd ChangeLog --- a/ChangeLog Sat Nov 10 10:20:54 2007 -0800 +++ b/ChangeLog Sat Nov 10 10:20:54 2007 -0800 @@ -1,5 +1,10 @@ $Id$ +6.13 2007-11-10 + HELO command is optional, and if missing caused a null pointer + dereference. Add configure detection for sendmail progress + callback, to allow smfi_progress() call during dns lookups. + 6.12 2007-10-13 SMTP rejections take precedence over greylisting. diff -r 2a80c9b5d2c9 -r f0eda59e8afd NEWS --- a/NEWS Sat Nov 10 10:20:54 2007 -0800 +++ b/NEWS Sat Nov 10 10:20:54 2007 -0800 @@ -1,5 +1,6 @@ $Id$ +6.13 2007-11-10 Fix null pointer dereference on missing HELO command. 6.12 2007-10-13 SMTP rejections take precedence over greylisting. 6.11 2007-10-07 Add DCC filtering via dccifd. Fix static buffer referenced by multiple threads. 6.10 2007-09-23 Don't whitelist addresses with embedded blanks, or the empty path. diff -r 2a80c9b5d2c9 -r f0eda59e8afd configure.in --- a/configure.in Sat Nov 10 10:20:54 2007 -0800 +++ b/configure.in Sat Nov 10 10:20:54 2007 -0800 @@ -1,6 +1,6 @@ AC_PREREQ(2.59) -AC_INIT(dnsbl,6.12,carl@five-ten-sg.com) +AC_INIT(dnsbl,6.13,carl@five-ten-sg.com) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) @@ -45,6 +45,15 @@ # check for posix threads ACX_PTHREAD +# See if we have progress callback +AC_CHECK_LIB([milter], + [smfi_progress], + [AC_DEFINE(_FFR_SMFI_PROGRESS, 1, Define to 1 to enable progress callback)], + [AC_DEFINE(_FFR_SMFI_PROGRESS, 0, Define to 1 to enable progress callback)], + [-lpthread] + ) + + AC_CONFIG_FILES([Makefile dnsbl.rc dnsbl.spec diff -r 2a80c9b5d2c9 -r f0eda59e8afd src/dnsbl.cpp --- a/src/dnsbl.cpp Sat Nov 10 10:20:54 2007 -0800 +++ b/src/dnsbl.cpp Sat Nov 10 10:20:54 2007 -0800 @@ -429,7 +429,7 @@ mlfiPriv* fetch_priv_from_ctx(SMFICTX *ctx) { mlfiPriv *priv = (struct mlfiPriv *)smfi_getpriv(ctx); - priv.ctx = ctx; + priv->ctx = ctx; return priv; } #define MLFIPRIV fetch_priv_from_ctx(ctx) diff -r 2a80c9b5d2c9 -r f0eda59e8afd src/dnsbl.h --- a/src/dnsbl.h Sat Nov 10 10:20:54 2007 -0800 +++ b/src/dnsbl.h Sat Nov 10 10:20:54 2007 -0800 @@ -24,6 +24,8 @@ // struct mlfiPriv { + // callback specific data + SMFICTX *ctx; // updated everytime we fetch this priv pointer from the ctx // connection specific data CONFIG *pc; // global filtering configuration int fd; // to talk to dns resolver process diff -r 2a80c9b5d2c9 -r f0eda59e8afd xml/dnsbl.in --- a/xml/dnsbl.in Sat Nov 10 10:20:54 2007 -0800 +++ b/xml/dnsbl.in Sat Nov 10 10:20:54 2007 -0800 @@ -530,10 +530,6 @@ The following ideas are under consideration. - Add a per-context option to reject mail if the number of digits in - the reverse dns client name exceeds some threshold. - - Look for href="hostname/path" strings that are missing the required http:// protocol header. Such references are still clickable in common mail software.