Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Aug 2010 12:40:09 +0200
From:      Stefan Bethke <stb@lassitu.de>
To:        John Nielsen <lists@jnielsen.net>
Cc:        gshapiro@freebsd.org, FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   Re: Apparent dnsbl bug in Sendmail or m4
Message-ID:  <B6617274-729C-42F3-AC70-7FB81B16EEC4@lassitu.de>
In-Reply-To: <CD37C0F6-F202-4941-A740-BF17358270A5@lassitu.de>
References:  <20100822031045.sl4d10544k0s80kw@newwebmail.jnielsen.net> <CD37C0F6-F202-4941-A740-BF17358270A5@lassitu.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 22.08.2010 um 10:00 schrieb Stefan Bethke:

> FEATURE(`dnsbl', `bl.spamcop.net', `"550 " $&{client_addr} "foo" =
$&{client_addr} ""')dnl

The real culprit is the comma.  I believe the problem stems from =
unquoted use of the arguments in some of the ifelses, where the comma =
turns the single argument into two.  Tracing the ifelses with -d aceq I =
see this for the last ifelse in cf/feature/dnsbl.m4:

m4trace: -1- ifelse(`X"550 Mail from " $&{client_addr} " rejected', `see =
http://spamcop.net/bl.shtml?" $&{client_addr}', `Xquarantine', `R<?>$+   =
      $#error $@ quarantine $: _DNSBL_SRV_', `X"550 Mail from " =
$&{client_addr} " rejected', `
see http://spamcop.net/bl.shtml?" $&{client_addr}', `Xdiscard', `R<?>$+  =
      =20
$#discard $: _DNSBL_SRV_', `R<?>$+              $#error $@ 5.7.1 $: =
_DNSBL_MSG_'
) -> ???
m4trace: -1- ifelse(...) -> `'
m4trace: -1- ifelse ...


I've never managed to really wrap my head around m4 quoting, but the =
easy fix is to use some other character that has no meaning to m4.


Stefan

--=20
Stefan Bethke <stb@lassitu.de>   Fon +49 151 14070811






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B6617274-729C-42F3-AC70-7FB81B16EEC4>