It was pointed out to me that the example in freebsd.mc has been double-quoted for some time. That's what I get for carrying old config files around for too long I suppose. Sorry for the noise and thanks again all for the prompt replies.
On Aug 22, 2010, at 3:48 PM, John Nielsen <li...@jnielsen.net> wrote: > On Aug 22, 2010, at 6:40 AM, Stefan Bethke wrote: > >> 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. > > That makes a lot of sense, especially when combined with the off-list > suggestions I got to double-quote the error message. > >> 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<?>$+ >> >> $#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. > > The fact that you knew how to do a trace shows that you're way ahead of me in > grokking m4. :) I can confirm that replacing the comma with a colon makes the > problem go away. > > Does someone with some m4-fu want to take a stab at producing a fix? The > problem appears in the 7-arg "ifelse" in the last few lines of > /usr/share/sendmail/cf/feature/dnsbl.m4, though the source could of course be > missing quotes earlier in the file. > > I'd be happy to test any proposed patches and submit a bug report to Sendmail > if appropriate. At the very least perhaps the example in the comment of > /etc/mail/freebsd.mc should be modified to not use a comma. > > Thanks! > > JN > _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"