[opendmarc-dev] draft: patch to implements verification of external report destinations

Juri Haberland juri at sapienti-sat.org
Fri Sep 30 08:15:43 PDT 2016


Hello,

attached you will find a patch that implements the verification of 
external report destinations as mandated by the RFC. Additionally it 
adds overriding of URIs by the DMARC RR used to authenticate the 
external destination (see RFC 7489, section 7.1). And finally it sends 
an error report (see section 7.2.2) if the report cannot be sent to any 
URI due to size limitations given in the URI(s).

The patch is against 1.3.2-beta including (at least) patches from ticket 
#166 and ticket #188.

It is a large and intrusive patch that reworks the whole sending 
mechanism:
First it creates the report and converts it to base64 to get the size of 
it. Second it loops over every URI, does the verification, replacement 
and checks for the size.
After all URIs are analyzed we look at the result - if we have at least 
one URI left, we send the report to *all* URIs left in one step, if no 
URI is left (because the report is too big for all URIs), an error 
report is sent to all valid URIs.

As the description of the error report in section 7.2.2 is a bit vague, 
I would be interested in opinions!

Here is a sample error report:

> From: report at example.org
> To: rua at example.com
> Subject: DMARC Error Report Domain: example.com Submitter: example.org 
> Report-ID: example.com-1475193602 at example.org
> Date: Fri, 30 Sep 2016 02:00:10 +0200 (CEST)
> Message-ID: <example.com-1475193602 at example.org>
> MIME-Version: 1.0
> Content-Type: multipart/report;
>      report-type=delivery-status;
>      boundary="mailhost.example.org/1475193610"
> 
> This is a MIME-encapsulated message.
> 
> --mailhost.example.org/1475193610
> Content-Description: DMARC Notification
> Content-Type: text/plain
> 
> This is a DMARC error report from host mailhost.example.org.
> 
> I'm sorry to have to inform you that a DMARC aggregate report
> could not be delivered to any of your URIs mentioned in your DMARC
> DNS resource records because of size limitations.
> 
> --mailhost.example.org/1475193610
> Content-Description: DMARC Error Report
> Content-Type: text/plain
> 
> Report-Date: Fri, Sep 30 2016 02:00:10 +0200 (CEST)
> Report-Domain: example.com
> Report-ID: example.com-1475193602 at example.org
> Report-Size: 9490
> Submitter: example.org
> Submitting-URI: rua at example.com
> 
> --mailhost.example.org/1475193610--


I would love to hear your comments.

Cheers,
   Juri
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reportDestVerificationV2.patch
Type: text/x-diff
Size: 13797 bytes
Desc: not available
URL: <http://www.trusteddomain.org/pipermail/opendmarc-dev/attachments/20160930/fdb83b5a/attachment.patch>


More information about the opendmarc-dev mailing list