On Fri 20/Oct/2023 21:09:29 +0200 Neil Anuskiewicz wrote:
On Oct 20, 2023, at 8:43 AM, Alessandro Vesely <ves...@tana.it> wrote:
On Fri 20/Oct/2023 15:50:29 +0200 OLIVIER HUREAU wrote:
Hi,
Assuming that the comma is an Oxford comma, I do interpret the sentence with
the following boolean:
( 'retrieved policy record does not contain a valid "p" tag' || contains an "sp" or "np" tag
that is not valid ) && ( a "rua" tag is present and contains at least one syntactically valid reporting URI )
I think it means:
if ( retrieved policy record does not contain a valid "p" tag' ||
(the applicable policy would be that of an "sp" or "np" tag &&
such tag exists but is not valid)
) then:
if a rua exists use it
otherwise forget that record.
The tricky point is that, although sp= or np= default to p= if they are
missing, if they are present but not valid a valid p doesn't help.
'v=DMARC1; p=reject; sp=quarantin; rua=mailto:r...@example.com' (an 'e' is
missing at 'quarantine') MUST
be interpreted as 'v=DMARC1; p=none;' because the "sp" tag is not valid.
That's the case if From: referred to a subdomain. In that case sp= would be
applicable, but it is not valid, so treat is as if it had sp=none. p= doesn't
play. Would have played if sp= was missing.
That’s my interpretation, too, but Olivier has a point that the wording isn’t
as clear as it could be.
Agreed. Adding this example, which shows how the interpretation depends on the
From: domain, is probably more direct than attempting a formal logic explanation.
Best
Ale
--
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc