Re: [exim-dev] DKIM support

Top Page
Delete this message
Reply to this message
Author: Tom Kistner
Date:  
To: Magnus Holmgren
CC: exim-dev
Subject: Re: [exim-dev] DKIM support
Magnus Holmgren wrote:

> So if I'm not mistaken, ignoring the issue of building on Linux (I solved
> that in a more minimal way, so to speak) and the nowsp compatibility
> canonicalization code, it all boils down to the following?


Yeah thats it. Just the bare minimum we need to look up a result by
domain (or identity, and even that is conflated right now). The problem
is that the lib already tries to make a decision. We just want all the
relevant info (results, policies) handed back to Exim and roll our own
decision-making logic in Exim ACL "language".

The lib itself is OK - nice small footprint. Just the verification
result API needs to be further extended. Signing looks OK as it is now.

/tom



> diff -w -xdebian -ur libdkim-1.0.14/src/dkim.h libdkim-1.0.15-tk/src/dkim.h
> --- libdkim-1.0.14/src/dkim.h    2007-05-03 17:53:09.000000000 +0200
> +++ libdkim-1.0.15-tk/src/dkim.h    2007-09-28 13:08:04.000000000 +0200
> @@ -137,6 +137,8 @@
>  { 
>      char *szSignature; 
>      char *DNS; 
> +       char *Domain; 
> +       char *IdentityDomain; 
>      int nResult; 
>  } DKIMVerifyDetails; 

>
> diff -w -xdebian -ur libdkim-1.0.14/src/dkimverify.cpp libdkim-1.0.15-tk/src/dkimverify.cpp
> --- libdkim-1.0.14/src/dkimverify.cpp    2007-04-24 11:01:58.000000000 +0200
> +++ libdkim-1.0.15-tk/src/dkimverify.cpp    2007-09-28 08:05:01.000000000 +0200
> @@ -1428,6 +1386,11 @@
>          DKIMVerifyDetails d; 
>          d.szSignature = (char*)i->Header.c_str(); 
>          d.nResult = i->Status; 
> +
> +        d.Domain = (char*)i->Domain.c_str(); 
> +        d.IdentityDomain = i->IdentityDomain.empty()?(char*)i->IdentityDomain.c_str():(char*)i->Domain.c_str(); 
> +
>          Details.push_back(d); 
>      } 

>
>