spam.m4, user-spam.m4 (COMPATIBILITY): Don't split out prefix/suffix.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 28 Sep 2015 09:14:02 +0000 (10:14 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 28 Sep 2015 09:18:39 +0000 (10:18 +0100)
Don't pass the local-part prefix and suffix as separate items to the
spam-limit lookups.  This doesn't affect the plain file lookup, but it
does change the userv interface, which nobody is currently using.

spam.m4
user-spam.m4
vhost.m4

diff --git a/spam.m4 b/spam.m4
index a1134e5..18e4d17 100644 (file)
--- a/spam.m4
+++ b/spam.m4
@@ -53,15 +53,15 @@ m4_define(<:SPAMLIMIT_SET:>,
 
 m4_define(<:SPAMLIMIT_LOOKUP:>,
        <:condition = ${if exists{$1}}
-       SPAMLIMIT_SET(<:${lookup {$2$3$4@$5/$6} nwildlsearch {$1} \
+       SPAMLIMIT_SET(<:${lookup {$2@$3/$4} nwildlsearch {$1} \
                               {SPAMLIMIT_CHECK($value)}}:>):>)
 
 m4_define(<:SPAMLIMIT_USERV:>,
        <:SPAMLIMIT_SET(<:${run {/usr/bin/timeout 5s \
                                        userv CONF_userv_opts \
                                        SHQUOTE($1) exim-spam-limit \
-                                       SHQUOTE($6) SHQUOTE($2) SHQUOTE($3) \
-                                       SHQUOTE($4) SHQUOTE(@$5)} \
+                                       SHQUOTE($4) \
+                                       SHQUOTE($2) SHQUOTE(@$3)} \
                                {SPAMLIMIT_CHECK($value)}}:>):>)
 
 SECTION(global, policy)m4_dnl
index 4aaf352..ac1e7d0 100644 (file)
@@ -25,6 +25,9 @@ DIVERT(null)
 ###--------------------------------------------------------------------------
 ### User-configurable spam thresholds.
 
+m4_define(<:CURRENT_LOCAL_PART:>,
+       <:$local_part_prefix$local_part$local_part_suffix:>)
+
 SECTION(routers, allspam)m4_dnl
 ## If we're verifying an address and the recipient has a `~/.mail/spam-limit'
 ## file, then look up the recipient and sender addresses to find a plausible
@@ -36,8 +39,7 @@ SPAMLIMIT_ROUTER(fetch_spam_limit_lookup)
        local_part_suffix = CONF_user_suffix_list
        local_part_suffix_optional = true
        SPAMLIMIT_LOOKUP(CONF_userconf_dir/spam-limit,
-               $local_part_prefix, $local_part, $local_part_suffix, $domain,
-               $sender_address)
+               CURRENT_LOCAL_PART, $domain, $sender_address)
 
 SPAMLIMIT_ROUTER(fetch_spam_limit_userv)
        check_local_user
@@ -45,8 +47,7 @@ SPAMLIMIT_ROUTER(fetch_spam_limit_userv)
        local_part_suffix_optional = true
        condition = ${if exists{CONF_userconf_dir/spam-limit.userv}}
        SPAMLIMIT_USERV(SHQUOTE($local_part),
-               $local_part_prefix, $local_part, $local_part_suffix, $domain,
-               $sender_address)
+               CURRENT_LOCAL_PART, $domain, $sender_address)
 
 DIVERT(null)
 ###----- That's all, folks --------------------------------------------------
index 4c13c18..f98b904 100644 (file)
--- a/vhost.m4
+++ b/vhost.m4
@@ -70,12 +70,12 @@ SPAMLIMIT_ROUTER(virtual_spam_limit_lookup)
        VHOST
        condition = DOMKV(spam-limit-file, {true}{false})
        SPAMLIMIT_LOOKUP(DOMKV(spam-limit-file),
-               , $local_part,, $domain, $sender_address)
+               $local_part, $domain, $sender_address)
 SPAMLIMIT_ROUTER(virtual_spam_limit_userv)
        VHOST
        condition = DOMKV(spam-limit-userv, {true}{false})
-       SPAMLIMIT_USERV(DOMKV(spam-limit-userv),, $local_part,,
-               $domain, $sender_address)
+       SPAMLIMIT_USERV(DOMKV(spam-limit-userv),
+               $local_part, $domain, $sender_address)
 
 SECTION(routers, virtual-tail)m4_dnl
 ## Last ditch effort for required local parts.  This is a bit strange because