I am wondering if we don't have a bug here, in opendmarc/opendmarc.c (around line 2529) in mlfi_eom:
ostatus = opendmarc_policy_store_spf(cc->cctx_dmarc,
use_domain,
spf_result,
spf_mode,
human);
switch (spf_mode)
{
case DMARC_POLICY_SPF_OUTCOME_PASS:
pass_fail = "pass";
dfc->mctx_spfresult = ARES_RESULT_PASS;
break;
Shouldn't the switch be with spf_result, as spf_mode is either DMARC_POLICY_SPF_ORIGIN_MAILFROM or DMARC_POLICY_SPF_ORIGIN_HELO.
Would also explain why I have so many spf=pass in my results when I would not expect this result.
I have exact the same patch since 1.3.0
But for unknown reasons I never opened a ticket, sorry
Patch from Andreas Schulze
Patch applied.
Fixed in 1.3.2.