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);
> }
>
>