Re: [exim] Issues with greylisting

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: David Woodhouse
Ημερομηνία:  
Προς: Raymond Jette
Υ/ο: exim-users, Dave Evans
Αντικείμενο: Re: [exim] Issues with greylisting
On Wed, 2010-01-20 at 12:14 +1300, David Woodhouse wrote:
> So what's different in Raymond's setup such that $h_message-id is
> actually set when we evaluate it? What version of Exim is this?


Please can you try this (entirely untested) patch...

diff --git a/include/acl-greylist-sqlite b/include/acl-greylist-sqlite
index bb22907..2d2ffad 100644
--- a/include/acl-greylist-sqlite
+++ b/include/acl-greylist-sqlite
@@ -56,8 +56,13 @@ greylist_mail:
                    WHERE helo='${quote_sqlite:$sender_helo_name}' \
                    AND host='$sender_host_address';} {1}}


+  # Don't just use raw $h_message-id: because it might be assigned locally
+  # and in that case it's never going to be repeated.
+  warn set acl_m_greymsgid = ${if eq{$h_message-id:}{<E$message_id@$primary_hostname>} \
+                                 {<>} {$h_message-id:}}
+
   # Generate a hashed 'identity' for the mail, as described above.
-  warn set acl_m_greyident = ${hash{20}{62}{$sender_address$recipients$h_message-id:}}
+  warn set acl_m_greyident = ${hash{20}{62}{$sender_address$recipients$acl_m_greymsgid}}


   # Attempt to look up this mail in the greylist database. If it's there,
   # remember the expiry time for it; we need to make sure they've waited
@@ -87,7 +92,7 @@ greylist_mail:
           its queue and retry. When that happens, your system will be added to the list \
           genuine mail systems, and mail from it should not be greylisted any more. \
           In the event of problems, please contact postmaster@$qualify_domain
-    log_message = Greylisted <$h_message-id:> from <$sender_address> for offences: ${sg {$acl_m_greylistreasons}{\n}{,}}
+    log_message = Greylisted <$acl_m_greymsgid> from <$sender_address> for offences: ${sg {$acl_m_greylistreasons}{\n}{,}}


# Handle the error case (which should never happen, but would be bad if it did).
# First by whining about it in the logs, so the admin can deal with it...

--
dwmw2