chiark / gitweb /
spam.m4: Rename X-SpamAssassin-* headers to X-Distorted-SpamAssassin-*.
[exim-config] / base.m4
diff --git a/base.m4 b/base.m4
index d43a6f08c5e191def4e7631021e460848c5d7690..8f962bb4462f44f7bbe6d39ab24426938a65ed77 100644 (file)
--- a/base.m4
+++ b/base.m4
@@ -85,6 +85,7 @@ SECTION(global, process)m4_dnl
 extract_addresses_remove_arguments = false
 headers_charset = utf-8
 qualify_domain = CONF_master_domain
+untrusted_set_sender = *
 
 SECTION(global, bounce)m4_dnl
 delay_warning = 1h : 24h : 2d
@@ -151,8 +152,14 @@ SECTION(acl, mail)m4_dnl
 mail:
 
        ## If we stashed a warning header about HELO from earlier, we should
-       ## add it now.
+       ## add it now.  Only don't bother if the client has authenticated
+       ## successfully for submission (because we can't expect mobile
+       ## clients to be properly set up knowing their names), or it's one of
+       ## our own satellites (because they're either properly set up anyway,
+       ## or satellites using us as a smarthost).
        warn     condition = $acl_c_helo_warning
+               !condition = ${if eq{$acl_c_mode}{submission}}
+               !hosts = +allnets
                 add_header = :after_received:X-Distorted-Warning: \
                        BADHELO \
                        Client's HELO doesn't match its IP address.\n\t\
@@ -167,7 +174,7 @@ mail:
 
        ## If this is directly from a client then hack on it for a while.
        warn     condition = ${if eq{$acl_c_mode}{submission}}
-                control = submission
+                control = submission/sender_retain
 
        ## Insist that a local client connect through TLS.
        deny     message = Hosts within CONF_master_domain must use TLS
@@ -301,34 +308,6 @@ mail_check_auth:
        deny     message = Sender not authenticated
                 condition = ${if !def:acl_c_user}
 
-       ## Make sure that the local part is one that the authenticated sender
-       ## is allowed to claim.
-       deny     message = Sender address forbidden to calling user
-               !condition = \
-                       ${if exists {CONF_sysconf_dir/auth-sender.conf} \
-                            {${lookup {$acl_c_user} \
-                                      lsearch \
-                                      {CONF_sysconf_dir/auth-sender.conf} \
-                                      {${if match_address \
-                                            {$sender_address} \
-                                            {+value}}} \
-                                      {false}}}}
-               !condition = ${LOOKUP_DOMAIN($sender_address_domain,
-                              {${if and {{match_local_part \
-                                           {$acl_c_user} \
-                                           {+dom_users}} \
-                                         {match_local_part \
-                                           {$sender_address_local_part} \
-                                           {+dom_locals}}}}},
-                              {${if and {{match_local_part \
-                                           {$sender_address_local_part} \
-                                           {+user_extaddr}} \
-                                         {or {{eq {$sender_address_domain} \
-                                                  {}} \
-                                              {match_domain \
-                                                {$sender_address_domain} \
-                                                {+public}}}}}}})}
-
        ## All done.
        accept