Yahoo Groups archive

Milter-greylist

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

Thread

milter-greylist 4.5.15 is available

milter-greylist 4.5.15 is available

2015-10-26 by manu@...

Here is out latest developement snapshot:
https://ftp.espci.fr/pub/milter-greylist/milter-greylist-4.5.15.tgz
MD5 (milter-greylist-4.5.15.tgz) = e804dc97e94f5ac1d39e3e5572efeda3

Changes since 4.5.14:
        Use QueueId on Postfix (Steven Hiscocks)
        Only change socket ownership if it exists in filesystem
        Index option for the addheader clause (Steven Hiscocks)
        Add format strings for SPF and DKIM results (Steven Hiscocks)
        Update author list

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

RE: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-26 by Bruncsak, Attila

> Here is out latest developement snapshot:
> https://ftp.espci.fr/pub/milter-greylist/milter-greylist-4.5.15.tgz
> MD5 (milter-greylist-4.5.15.tgz) = e804dc97e94f5ac1d39e3e5572efeda3
> 
> Changes since 4.5.14:
>         Use QueueId on Postfix (Steven Hiscocks)
>         Only change socket ownership if it exists in filesystem
>         Index option for the addheader clause (Steven Hiscocks)
>         Add format strings for SPF and DKIM results (Steven Hiscocks)
>         Update author list
> 
> --
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu@...
> 

Near immediately I got a crash:

Oct 26 09:52:57 mail8 kernel: milter-greylist[23337]: segfault at 0000000000000000 rip 0000003608c78ca0 rsp 00002afcf0f27f58 error 4

In order to have a core dump (at least on CentOS release 5) ,
the process should not start initially as root.

So could you include the following patch for the stat-up script?
This is change allows me to specify in the file
/etc/sysconfig/milter-greylist:
DAEMONOPTIONS="--user=greymilt"

Best,
Attila

Attachments

RE: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-26 by Bruncsak, Attila

> > So could you include the following patch for the stat-up script?
> 
> Sure, but do you have a backtrace?
> 
Now, I have it:

#0  0x0000003608c78ca0 in strlen () from /lib64/libc.so.6
#1  0x0000003608c789d6 in strdup () from /lib64/libc.so.6
#2  0x0000000000410708 in spf_check_internal (ad=0x1b574168, as=<value optimized out>, ap=<value optimized out>, priv=0x1bc74a30)
    at spf.c:469
#3  0x00000000004108ab in spf_check (ad=0x0, as=AS_RCPT, ap=0x2afcf0f29900, priv=0x1bc74a30) at spf.c:566
#4  0x0000000000412e23 in acl_filter (stage=AS_RCPT, ctx=<value optimized out>, priv=0x1bc74a30) at acl.c:2446
#5  0x0000000000407eca in real_envrcpt (ctx=0x1bc74720, envrcpt=0x1bc72f80) at milter-greylist.c:724
#6  mlfi_envrcpt (ctx=0x1bc74720, envrcpt=0x1bc72f80) at milter-greylist.c:230
#7  0x000000000042f37e in st_rcpt ()
#8  0x00000000004301a3 in mi_engine ()
#9  0x000000000042d240 in mi_handle_session ()
#10 0x000000000042c2c9 in mi_thread_handle_wrapper ()
#11 0x000000360940683d in start_thread () from /lib64/libpthread.so.0
#12 0x0000003608cd4fdd in clone () from /lib64/libc.so.6

Re: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-27 by manu@...

'Bruncsak, Attila' attila.bruncsak@... [milter-greylist]
<milter-greylist@yahoogroups.com> wrote:

> #2  0x0000000000410708 in spf_check_internal (ad=0x1b574168, as=<value
> optimized out>, ap=<value optimized out>, priv=0x1bc74a30) at spf.c:469

This is:
        priv->priv_spf_header =
strdup(spf_response->received_spf_value);

Most likely received_spf_value is NULL, or perhaps invalid.

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

Re: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-28 by manu@...

Emmanuel Dreyfus <manu@...> wrote:

> This is:
>         priv->priv_spf_header =
> strdup(spf_response->received_spf_value);
> 
> Most likely received_spf_value is NULL, or perhaps invalid.

Could you provide the information from your core? In gdb:
frame 2
print spf_response 
print spf_response->received_spf_value 

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

RE: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-28 by Bruncsak, Attila

> > This is:
> >         priv->priv_spf_header =
> > strdup(spf_response->received_spf_value);
> >
> > Most likely received_spf_value is NULL, or perhaps invalid.
> 
> Could you provide the information from your core? In gdb:
> frame 2
> print spf_response
> print spf_response->received_spf_value
> 

Here it is:

(gdb) frame 2
#2  0x0000000000410708 in spf_check_internal (ad=0x1b574168, as=<value optimized out>, ap=<value optimized out>, priv=0x1bc74a30)
    at spf.c:469
469		priv->priv_spf_header = strdup(spf_response->received_spf_value);
(gdb) print spf_response 
$1 = (SPF_response_t *) 0x2afcf8a736e0
(gdb) print spf_response->received_spf_value 
$2 = 0x0
(gdb)

Re: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-28 by Emmanuel Dreyfus

On Wed, Oct 28, 2015 at 02:33:26PM +0000, 'Bruncsak, Attila' attila.bruncsak@... [milter-greylist] wrote:
> (gdb) print spf_response->received_spf_value 
> $2 = 0x0

Right: NULL pointer, this one will be easy to fix.

-- 
Emmanuel Dreyfus
manu@...

Re: [milter-greylist] milter-greylist 4.5.15 is available

2015-10-29 by manu@...

'Bruncsak, Attila' attila.bruncsak@... [milter-greylist]
<milter-greylist@yahoogroups.com> wrote:

> (gdb) print spf_response->received_spf_value 
> $2 = 0x0

Does that fix the problem?

Index: spf.c
===================================================================
RCS file: /cvsroot/milter-greylist/spf.c,v
retrieving revision 1.39
diff -U 4 -r1.39 spf.c
--- spf.c       5 Oct 2015 04:18:34 -0000       1.39
+++ spf.c       29 Oct 2015 06:01:11 -0000
@@ -465,9 +465,15 @@
                        priv->priv_spf_result, res, result);
 
        if (priv->priv_spf_header != NULL)
                free(priv->priv_spf_header);
-       priv->priv_spf_header = strdup(spf_response->received_spf_value);
+
+       
+       if (spf_response->received_spf_value)
+               priv->priv_spf_header =
+                   strdup(spf_response->received_spf_value);
+       else
+               priv->priv_spf_header = NULL;
 
        SPF_response_free(spf_response);
 out3:
        SPF_request_free(spf_request);


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

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.