Subject: [dmarc-ietf] DMARC report format syntax error in ARC draft-10 section 9.3

From: Mark Eissler <[email-masked]>
Date: Tue, 27 Feb 2018 19:55:53 +0000

Hi. I met some of the members of this WG at M3AAWG #42 last week.

I've been working on implementing several patches to the OpenDKIM, OpenARC, OpenDMARC milters over the past few weeks as part of my work at Valimail. I'm currently updating OpenDMARC's reporting to include ARC findings as per draft-ietf-dmarc-arc-protocol-10 but I've found what looks like a typo in the example XML report format as provided in section 9.3 of the draft:

<policy_evaluated>
    <disposition>delivered</disposition>
    <dkim>fail</dkim>
    <spf>fail <comment>source.ip=10.0.0.1</comment></spf>
    <reason>
        <type>local_policy</type>
        <comment>arc=pass ams[2].d=d2.example ams[2].s=s1 as[2].d=d2.example
        as[2].s=s2 as[1].d=d1.example as[1].s=s3</comment>
    </reason>
</policy_evaluated>

Specifically, the <spf> element appears to be incorrect as it contains an embedded <comment> element which not only results in invalid XML syntax but also implies a schema that isn't defined: the value definition (DMARCResultType) doesn't provide for the provision of such an element. Furthermore, the source IP is already captured in the <source_ip> element--a sibling of <policy_evaluated>.

I think a corrected example would be this:

<policy_evaluated>
    <disposition>delivered</disposition>
    <dkim>fail</dkim>
    <spf>fail</spf>
    <reason>
        <type>local_policy</type>
        <comment>arc=pass ams[2].d=d2.example ams[2].s=s1 as[2].d=d2.example
        as[2].s=s2 as[1].d=d1.example as[1].s=s3</comment>
    </reason>
</policy_evaluated>

-mark 

 --
 Mark Eissler | [email-masked] | http://about.me/markeissler