[exim] header checks not working in acl_smtp_data acl

Top Page
Delete this message
Reply to this message
Author: Todd Lyons
Date:  
To: exim-users
Subject: [exim] header checks not working in acl_smtp_data acl
Hey all, I have a configuration that I'm putting in place for an
autoresponder. Following the wiki, it makes perfect sense, however,
I'm moving most of the logic into the ACL's instead of in the router.
During my testing, I've figured out that the header checks are failing
when they should be passing. Using this config snippet:

  warn    logwrite      = DEBUG: Checking for List-Help header
          condition     = ${if def:header_List-Help: }
          logwrite      = DEBUG: Found List-Help header


This portion of ACL is in acl_check_content, which is assigned to the
acl_smtp_data configuration option:
acl_smtp_data = acl_check_content

I telnet to the server, do the handshake and then paste a valid email
into it with the following header:
List-Help: blah

The output in the log is:
2010-09-02 20:35:20 1OrGUz-0003m1-9t DEBUG: Checking for List-Help header
2010-09-02 20:35:21 1OrGUz-0003m1-9t <= tlyons@???
H=tlyons.ivenue.net (tlyons.ivenue.com) [192.168.100.166] P=esmtp
S=2227
2010-09-02 20:35:21 1OrGUz-0003m1-9t =>
/IV/user_data/email/a/v/e/averybigandlongdomain.biz/parent/Maildir/
(parent@???) <parent@???>
R=virtual_user_old T=address_directory

The recipient shown above is a fake domain on our dev system. The
problem is that it should be detecting the header as existing. I've
tried with and without the trailing colon, with and without the
trailing space, with both h_ and header_, and with and without
uppercase leading letters. It just doesn't detect that this header is
present. Has anybody ever seen this before?

# exim -bV
Exim version 4.69 #1 built 29-Jan-2010 15:09:17
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (September 19, 2009)
Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc TCPwrappers
OpenSSL Content_Scanning Old_Demime Experimental_SPF Experimental_SRS
Experimental_DomainKeys Experimental_DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm
dbmnz dnsdb dsearch ldap ldapdn ldapm nis nis0 nisplus passwd sqlite
Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /etc/exim/exim.conf

I'm still using 4.69 because I've not yet changed my configs to use
the new DKIM methods, so I'm still using the older libdkim linked
method. "In my spare time" is the answer for right now.

--
Regards...      Todd
I seek the truth...it is only persistence in self-delusion and
ignorance that does harm.  -- Marcus Aurealius