On Mon 06/Jun/2022 17:06:05 +0200 Todd Herr wrote:
Here's what's currently written in rev -07 for the subject at hand:
A DMARC policy record MUST comply with the formal specification found
in Section 5.4 in that the "v" tag MUST be present and MUST appear
first. Unknown tags MUST be ignored. Syntax errors in the remainder
of the record SHOULD be discarded in favor of default values (if any)
or ignored outright.
Note that given the rules of the previous paragraph, addition of a
new tag into the registered list of tags does not itself require a
new version of DMARC to be generated (with a corresponding change to
the "v" tag's value), but a change to any existing tags does require
a new version of DMARC.
That text seems good to me.
5.4. Formal Definition
The formal definition of the DMARC format, using [RFC5234], is as
follows:
Herr (ed) & Levine (ed) Expires 8 October 2022 [Page 25]
Internet-Draft DMARCbis April 2022
dmarc-uri = URI
; "URI" is imported from [RFC3986]; commas (ASCII
; 0x2C) and exclamation points (ASCII 0x21)
; MUST be encoded
dmarc-record = dmarc-version dmarc-sep *(dmarc-tag dmarc-sep)
No, in April we said something like so:
dmarc-record = dmarc-version *(dmarc-sep dmarc-tag) [dmarc-sep]
dmarc-tag = dmarc-request /
dmarc-test /
dmarc-psd /
dmarc-sprequest /
dmarc-nprequest /
dmarc-adkim /
dmarc-aspf /
dmarc-auri /
dmarc-furi /
dmarc-fo /
dmarc-rfmt
; components other than dmarc-version and
; dmarc-request may appear in any order
dmarc-version = "v" *WSP "=" *WSP %x44 %x4d %x41 %x52 %x43 %x31
Can we use RFC 7405? It is more readable:
dmarc-version = "v" *WSP "=" *WSP %s"DMARC1" ; case sensitive
dmarc-sep = *WSP %x3b *WSP
The definition of comment in RFC 5234 uses ";". How about the following?
dmarc-sep = *WSP ";" *WSP
dmarc-request = "p" *WSP "=" *WSP
( "none" / "quarantine" / "reject" )
dmarc-test = "t" *WSP "=" ( "y" / "n" )
dmarc-psd = "psd" *WSP "=" ( "y" / "n" )
dmarc-sprequest = "sp" *WSP "=" *WSP
( "none" / "quarantine" / "reject" )
dmarc-nprequest = "np" *WSP "=" *WSP
( "none" / "quarantine" / "reject" )
dmarc-adkim = "adkim" *WSP "=" *WSP ( "r" / "s" )
dmarc-aspf = "aspf" *WSP "=" *WSP ( "r" / "s" )
dmarc-auri = "rua" *WSP "=" *WSP
dmarc-uri *(*WSP "," *WSP dmarc-uri)
dmarc-furi = "ruf" *WSP "=" *WSP
dmarc-uri *(*WSP "," *WSP dmarc-uri)
dmarc-fo = "fo" *WSP "=" *WSP
( "0" / "1" / ( "d" / "s" / "d:s" / "s:d" ) )
dmarc-rfmt = "rf" *WSP "=" *WSP Keyword *(*WSP ":" Keyword)
; registered reporting formats only
"Keyword" is imported from Section 4.1.2 of [RFC5321].
I've also got the following nits teed up for rev -08:
-dmarc-test= "t" *WSP "=" ( "y" / "n" )
+dmarc-test= "t" *WSP "=" *WSP ( "y" / "n" )
-dmarc-psd = "psd" *WSP "=" ( "y" / "n" )
+dmarc-psd = "psd" *WSP "=" *WSP ( "y" / "n" / "u" )
Best
Ale
--
_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc