There are a few tickets that may break report ingestion systems due to 
structure and/or value changes.  Should we decide that's an implementation 
issue, or that we truly can't change the format of the reports?  I'm sure most 
ingestion systems are rather flexible given the number of reports that appear 
to not match what 7489 states/suggests.

If we are going to allow changes to the structure, and there is some concern 
about which version the receiver supports (or prefers?), should we put a flag 
into the DMARC record?  And of course, that may dependent on the receiver, if 
multiple are listed, so that would have to belong to each individual receiving 
address.

--
Alex Brotman
Sr. Engineer, Anti-Abuse & Messaging Policy
Comcast

> -----Original Message-----
> From: dmarc <dmarc-boun...@ietf.org> On Behalf Of Matthäus Wander
> Sent: Thursday, May 13, 2021 5:29 PM
> To: dmarc@ietf.org
> Subject: Re: [dmarc-ietf] Versioning and XML namespaces in aggregate
> reports (#33, #70)
>
> Alessandro Vesely wrote on 2021-05-10 18:29:
> > On Mon 10/May/2021 17:28:20 +0200 Dave Crocker wrote:
> >> If an new spec merely /adds/ to a previous spec, then the presence of
> >> the new constructs is self-declaring.  The only requirement is to
> >> have the base specification declare that unrecognized constructs are
> >> to be ignored.  So, versioning adds the illusion of utility, but
> >> really only adds unnecessary complexity.
> >
> >
> > I think the format we'll end up with will be pretty compatible with
> > the existing practice, meaning that existing report consumers that use
> > a proper XML parser and ignore unknown tags can work unchanged.  I
> > don't think any consumer parses reports "by hands".
>
> Alright, introducing incompabilities is off the table and backward compability
> is a must. This brings #51 into question, which may affect backward
> compability.
> https://urldefense.com/v3/__https://trac.ietf.org/trac/dmarc/ticket/51__;!!
> CQl3mcHX2A!RCdb_46_lcqdxdM882JSzD-hjS-
> 66H5H0OL8qTxqEITjJ7dViYTApbhFoP1sF8sc-3FowsLllQ$
>
>
> Regarding the existing top-level <version> below <feedback>:
> Even if parsers don't require the version to function, it remains useful for
> measuring the adoption of the different DMARC specifications (as requested
> in #70). In fact, one implementation I looked at (parsedmarc) uses it for only
> this purpose. A missing <version> is logged as "draft"
> schema version.
>
>
> Regarding the XML namespace declaration:
> The XML schema serves not only as specification for developers, but can be
> also used for automatic syntax checks of reports -- provided that the
> namespace declaration is fixed. XSD validation is an immensely useful tool for
> testing the output of report generators. It helped me to discover two nasty
> bugs in an implementation, which appeared in 2 out of ~10k reports and
> would have gone unnoticed otherwise.
> A version number within the schema is not necessary for this use case.
>
> A different matter is whether automatic XSD validation on the report
> consumer side is a supported use case. There is some value in it: two lines of
> code suffice to perform input validation. However, the validation is strict 
> and
> does not allow for being liberal in what you accept (might be handy for
> protocol police, though). Achieving upward compatibility is not trivial,
> because there is no general "ignore all unknown elements" statement in
> XSD. It is possible to define a <xs:any> placeholder in the schema, but this
> element must be inserted explicitly into each place where extensibility is
> desired. This would require careful foresight in the schema design.
>
> Regards,
> Matt
>
> _______________________________________________
> dmarc mailing list
> dmarc@ietf.org
> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/dmarc
> __;!!CQl3mcHX2A!RCdb_46_lcqdxdM882JSzD-hjS-
> 66H5H0OL8qTxqEITjJ7dViYTApbhFoP1sF8sc-3GZUejGJQ$
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to