On Tue, Aug 3, 2021 at 8:22 AM Barry Leiba <[email protected]> wrote:

> The problem I have with leaving pct=0 in as the only (non-default) value
> is that it locks history into the protocol.  It makes no sense to have a
> binary situation specified by a tag called “pct” that is either 0 or 100.
>
> If we’re leaving this in as a binary thing, (1) we’re already incompatible
> with deployments that do pct=20 or whatever, so (2) we might better make it
> a y/n or t/f valued tag for that function, deprecate pct entirely, and
> leave text in a backward-compatibility section explaining what happened.
>
> I just think that the pct= 0 or 100 thing won’t wear well and will appear
> tattered quickly.
>
>
I don't disagree with you here, Barry, so let me propose this.

1. Eliminate the 'pct' tag entirely. Section 6.3, General Record Format,
says "unknown tags MUST be ignored." so we're covered on the compatibility
issue, I think.

2. Define a tag named "t", in a fashion somewhat similar to the t= tag
available for DKIM public key records, as follows:

   t:  DMARC policy test mode (plain-text; OPTIONAL; default is 'n').

      For the RFC5322.From domain to which the DMARC record applies, the

      "t" tag serves as a signal to the actor performing DMARC

      validation checks as to whether or not the domain owner wishes the

      assessment policy declared in the "p=" tag to actually be applied.

      This parameter does not affect the generation of DMARC reports.

      Possible values are as follows:


      y:  A request that the actor performing the DMARC validation check

         not apply the policy, but instead apply any special handling

         rules it might have in place.  The domain owner is currently

         testing its specified DMARC assessment policy.


      n:  The default, a request to apply the policy as specified to any
         message that produces a DMARC "fail" result.


3. Include the following as an Appendix:

Appendix C.  History of the "pct" Tag


   An earlier informational version of the DMARC protocol [RFC7489]

   included a "pct" tag and specified all integers from 0 to 100

   inclusive as valid values for the tag.  The intent of the tag was to

   provide domain owners with a method to gradually change their

   preferred assessment policy (the p= tag) from 'none' to 'quarantine'

   or from 'quarantine' to 'reject' by requesting the stricter treatment

   for just a percentage of messages that produced DMARC results of

   "fail".


   Operational experience showed that the pct tag did not function as

   intended due to many factors, unless the value specified was either

   "0" or "100" (the default).  The default value was easily

   implemented, as it required no special processing on the part of the

   message receiver, while the value of "0" took on unintended

   significance as a value used by some intermediaries and mailbox

   providers as an indicator to deviate from standard handling of the

   message.


   These "custom" actions proved too valuable to the email community to

   remove their availability from this version of the protocol, but at

   the same time it didn't make sense to support a tag named "pct" that

   had only two valid values.  This version of the DMARC protocol

   therefore introduces the "t" tag as shorthand for "testing", with the

   valid values of "y" and "n", which should be analogous to the "pct"
   tag values "0" and "100", respectively.

-- 

*Todd Herr* | Technical Director, Standards and Ecosystem
*e:* [email protected]
*m:* 703.220.4153

This email and all data transmitted with it contains confidential and/or
proprietary information intended solely for the use of individual(s)
authorized to receive it. If you are not an intended and authorized
recipient you are hereby notified of any use, disclosure, copying or
distribution of the information included in this transmission is prohibited
and may be unlawful. Please immediately notify the sender by replying to
this email and then delete it from your system.
_______________________________________________
dmarc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to