Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Message

Re: [milter-greylist] racl confusion

2013-06-30 by manu@...

Emmanuel Dreyfus <manu@...> wrote:

> My understanding is that the offending code is at the begining of
> real_envrcpt():
>         
>         if ((priv->priv_sr.sr_whitelist & EXF_WHITELIST) &&
>             (priv->priv_sr.sr_whitelist &
>              (EXF_NONIP | EXF_AUTH | EXF_STARTTLS | EXF_SPF)))
>                 goto exit_accept;

I finally used the fix below, which should nnot hurt anyone

Index: milter-greylist.c
===================================================================
RCS file: /cvsroot/milter-greylist/milter-greylist.c,v
retrieving revision 1.255
retrieving revision 1.256
diff -U 4 -r1.255 -r1.256
--- milter-greylist.c   19 May 2013 05:53:34 -0000      1.255
+++ milter-greylist.c   30 Jun 2013 04:55:49 -0000      1.256
@@ -638,11 +638,34 @@
         */
        prop_clear(priv, UP_CLEARPROP);
 #endif
 
-       if ((priv->priv_sr.sr_whitelist & EXF_WHITELIST) &&
-           (priv->priv_sr.sr_whitelist &
-            (EXF_NONIP | EXF_AUTH | EXF_STARTTLS | EXF_SPF)))
+       /*
+        * Global authenticated or TLS whitelisting, unless
+        * - noauth global parameter is set, or
+        * - any ACL with auth or tls clause
+        */
+       if (conf.c_noauth == 0) {
+               if (priv->priv_sr.sr_whitelist & EXF_AUTH)
+                       goto exit_accept;
+               if (priv->priv_sr.sr_whitelist & EXF_STARTTLS)
+                       goto exit_accept;
+       }
+
+       /*
+        * Global SPF whitelisting, unless
+        * - nospf global parameter is set, or
+        * - any ACL with spf clause
+        */
+       if (conf.c_nospf == 0) {
+               if (priv->priv_sr.sr_whitelist & EXF_SPF)
+                       goto exit_accept;
+       }
+
+       /*
+        * Mail sent from non IP source is always whitelisted
+        */
+       if (priv->priv_sr.sr_whitelist & EXF_NONIP) 
                goto exit_accept;
 
 #ifdef USE_DRAC
        if ((SA(&priv->priv_addr)->sa_family == AF_INET) && 

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@...

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.