On Mon, Mar 16, 2015 at 3:51 AM, Alessandro Vesely <ves...@tana.it> wrote:

> > Section 2.2 of RFC3986 lists semi-colon as a reserved character that has
> to
> > be percent-encoded in these URLs.  We don't need to repeat it here, I
> think.
>
> If the spec is going to be read by ignorants like me, it's better to repeat
> than to omit.  RFC3986 has a very wide scope, and uses phrases like "may
> (or
> may not) be defined as delimiters".  It says:
>
>    If data for a URI component would conflict with a reserved
>    character's purpose as a delimiter, then the conflicting data must be
>    percent-encoded before the URI is formed.
>

Right, which is why things like semi-colon don't need to be
percent-encoded; they're already special characters in the context of a URL.


> Commma and exclamation (which are sub-delims like semicolon) are apparently
> used in dmarc-uri's rule.  The preceding DMARC section says:
>
>    DMARC records follow the extensible "tag-value" syntax for DNS-based
>    key records defined in DKIM [DKIM].
>
> However, DKIM production rules don't seem to be formally imported.  If
> they are
> imported, semicolon exclusion is implied by the definition:
>
>    VALCHAR   =  %x21-3A / %x3C-7E
>                      ; EXCLAMATION to TILDE except SEMICOLON
>

They aren't formally imported, and I'm not sure that's necessary here.  The
ABNF we have should be comprehensive over DMARC tag-value sets.  The prose
you cited is merely meant to convey that they follow the same style.


> How about the other two questions?  I didn't survey but a few DMARC
> records,
> but RFC6068 exemplifies the following:
>
>    Also note that it is syntactically valid to specify both <to> and an
>    <hfname> whose value is "to".  That is,
>
>    <mailto:addr1@an.example,addr2@an.example>
>
>    is equivalent to
>
>    <mailto:?to=addr1@an.example,addr2@an.example>
>
>    is equivalent to
>
>    <mailto:addr1@an.example?to=addr2@an.example>
>
>    However, the latter form is NOT RECOMMENDED because different user
>    agents handle this case differently.  In particular, some existing
>    clients ignore "to" <hfvalue>s.
>
> Yahoo instead uses 1st level syntax:
>
>    rua=mailto:dmarc-yahoo-...@yahoo-inc.com, mailto:dmarc_y_...@yahoo.com;
>

Your question is "Are they equivalent?"  I believe they are.  Although it
might be ideal to have a specification so tight that there's exactly one
way to do something, in the end I don't think it's harmful to have two ways
to say the same thing.  It's more of a concern if there's to ways to
interpret a single thing; that's when we arguably have something to fix.

The goal in allowing a comma-separated list of URLs is that you might
conceivably want to put an http and a mailto URL in there, in the "try A
first, then try B" sense.  We need to allow for that possibility.  We also
need to account for the possibility of a comma that is inside of a URL;
those are the ones that need to be encoded.  Outside of a URL, they're
delimiters.

Unless I'm missing something, the ABNF for DMARC allows all three of the
cited examples, as well as Yahoo's use, and all four of them mean the same
thing.  That doesn't strike me as a bug.

-MSK
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to