chiark / gitweb /
spam.m4: Don't check submitted messages.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 26 Jan 2014 13:19:42 +0000 (13:19 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 26 Jan 2014 13:19:42 +0000 (13:19 +0000)
Also, factor out the `do we check this' logic into a separate ACL,
because I got confused during testing and only modified one copy.

spam.m4

diff --git a/spam.m4 b/spam.m4
index 350dcd2e6833f38e8b3ef7f7c726719eea22ad1e..e480880b315541f932b015fad7e6b51c72e64b57 100644 (file)
--- a/spam.m4
+++ b/spam.m4
@@ -72,10 +72,21 @@ SECTION(acl, rcpt-hooks)m4_dnl
        require  acl = rcpt_spam
 
 SECTION(acl, misc)m4_dnl
-rcpt_spam:
+skip_spam_check:
 
-       ## If the client is trusted, don't bother with any of this.
+       ## If the client is trusted, or this is a new submission, don't
+       ## bother with any of this.  We will have verified the sender
+       ## fairly aggressively before granting this level of trust.
        accept   hosts = +trusted
+       accept   condition = ${if eq{$acl_c_mode}{submission}}
+
+       ## Otherwise we should check.
+       deny
+
+rcpt_spam:
+
+       ## See if we should do this check.
+       accept   acl = skip_spam_check
 
        ## Always accept mail to `postmaster'.  Currently this is not
        ## negotiable; maybe a tweak can be added to `domains.conf' if
@@ -118,8 +129,8 @@ SECTION(acl, data-spam)m4_dnl
 SECTION(acl, misc)m4_dnl
 data_spam:
 
-       ## If the client is trusted, don't bother with any of this.
-       accept   hosts = +trusted
+       ## See if we should do this check.
+       accept   acl = skip_spam_check
 
        ## Check header validity.
        require  verify = header_syntax