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

Reply via email to