Something like the attached patch is what I have in mind at the moment
(not tested).Index: dkim.c
===================================================================
RCS file: /cvs/libdkim/dkim.c,v
retrieving revision 1.448
diff -u -r1.448 dkim.c
--- dkim.c 9 Jan 2008 21:20:19 -0000 1.448
+++ dkim.c 14 Jan 2008 23:55:53 -0000
@@ -4075,13 +4075,31 @@
if (pstate == NULL || pstate->ps_state < 1)
{
+ char *i;
+ char *at;
+
for (c = 0; c < dkim->dkim_sigcount; c++)
{
sig = dkim->dkim_siglist[c];
+ /* check for domain match */
+ i = dkim_param_get(sig->sig_taglist, "i");
+ if (i == NULL)
+ {
+ i = sig->sig_domain;
+ }
+ else
+ {
+ at = strchr(i, '@');
+ if (at != NULL)
+ i = at + 1;
+ }
+
+ if (strcasecmp(i, dkim->dkim_domain) != 0)
+ continue;
+
if ((sig->sig_flags & DKIM_SIGFLAG_PASSED) != 0 &&
- sig->sig_bh == DKIM_SIGBH_MATCH &&
- strcasecmp(dkim->dkim_domain, sig->sig_domain) == 0)
+ sig->sig_bh == DKIM_SIGBH_MATCH)
{
dkim->dkim_presult = DKIM_PRESULT_VALIDOSIG;
*susp = FALSE;
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
dkim-milter-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dkim-milter-discuss