Yahoo Groups archive

Milter-greylist

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

Message

Re: [milter-greylist] DKIM and ACL syntax

2010-09-06 by John Wood

> Now you can stuff breakpoints in each dkim related function and see 
> how it fills priv->priv_dkimstat

OK, dkimcheck_header was the first breakpoint to trip:

Breakpoint 7, dkimcheck_header (name=0x28865c80 "DKIM-Signature",
    value=0x28865c8f "v=1; a=rsa-sha256; c=relaxed/simple; 
d=domain.com;\n\ts=selector; 
t=1283742375;\n\tbh=+Pby8GPvv2IKr1c2RXTBWpjtkx1p0IqCseWIVKxoTt8=;\n\th=
Date:From:To:Subject:Message-ID:MIME-Version:Content-Type;\n\tb=DghH"...,
    priv=0x286ad400) at dkimcheck.c:151
151             if (priv->priv_dkim == NULL) {
(gdb) p priv->priv_dkimstat
$2 = 0

Despite looking at what clearly is a DKIM signature, $2 is 0. Stepping 
back a bit, the end of dkimcheck_error has:

      if (priv->priv_dkim != DKIM_STAT_OK) {
                (void)dkim_free(priv->priv_dkim);
                priv->priv_dkim = NULL;
        }

It looks like the pointer priv->priv_dkim is being compared to a 
constant (DKIM_STAT_OK). DKIM_STAT_OK is defined as zero, so I think we 
end up with a null pointer in this situation. Hence every time we get to 
line 151 priv_dkim is already NULL.

John

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.