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)}}:>):>)
+m4_define(<:GET_ADDRDATA:>,
+ <:extract{<:$1:>}{${if def:address_data{$address_data}{}}}:>)
+
SECTION(global, policy)m4_dnl
spamd_address = CONF_spamd_address CONF_spamd_port
## during recipient verification. (This just saves duplicating this
## enormous expression.)
warn set acl_m_this_spam_limit = \
- ${sg {${extract {spam_limit} \
- {${if def:address_data \
- {$address_data}{}}} \
- {$value}{nil}}} \
+ ${sg {${GET_ADDRDATA(spam_limit){$value}{nil}}} \
{^(|.*\\D.*)\$}{CONF_spam_max}}
## If there's a spam limit already established, and it's different