*Note: The following is a general rule of thumb for me.*

From my functional specification protocol language coding standpoint:

MUST --> NO OPTION. Technically enabled with no switch to disable.
SHOULD -> OPTIONAL, Default is ON, enabled
MAY -->  OPTIONAL, Default is ON or OFF depending on implementation

With the special RFC documentation format designed/written for a very wide audience from managers, system admins, coders, engineers, etc, it offers semantics with lower and upper case guidelines. sometimes purposely ambiguous (to keep it open ended) and in the IETF RFC, we have used the UPPER CASE language as a way to create code especially with standard track items.

Those who choose to ignore the UPPER CASE interop advice often risk having the proverbial book thrown at them.

With lower case semantics, this has been my overall implementation methods:

may, should --> may be implemented as options as with upper case

must --> may be implemented and enabled with hidden option to disable.

--
HLS


On 7/8/2023 12:49 PM, Richard Clayton wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In message<CAL0qLwY-UajkOV_CJ4_L9kS+6N=_+cudfkvpvyk84ooadjw...@mail.gma
il.com>, Murray S. Kucherawy<superu...@gmail.com>  writes

    Some of my IETF mentors (ahem) taught me some stuff about the use
    of SHOULD [NOT] that have stuck with me, and I'm going to pressure
    test this against that advice.� Let's see how this goes.� :-)

    "SHOULD" leaves the implementer with a choice.� You really ought to
    do what it says in the general case, but there might be
    circumstances where you could deviate from that advice, with some
    possible effect on interoperability.
I noted that one of the earlier messages which endorsed MUST NOT said
that of course some people might know better -- which is what I always
understood SHOULD NOT was for !

  � If you do that, it is
    expected that you fully understand the possible impact you're about
    to have on the Internet before proceeding.� To that end, we like
    the use of SHOULD [NOT] to be accompanied by some prose explaining
    when one might deviate in this manner, such as an example of when
    it might be okay to do so.
not so much "OK" as "necessary".  Yahoo's original statement (I'm
prepared to name names rather than pussyfoot around this) on the
deployment of p=reject is discussed here:

      https://wordtothewise.com/2014/04/yahoo-statement-dmarc-policy/

and I believe it is widely understood that it was particularly deployed
to counter the "address book spammers" of the time. These bad guys
originally persuaded people to open their email by forging it to appear
to come from their friends (having compromised relevant address books).

They then moved on to just using random identities from the same domain
as the recipient. This led a great many Yahoo users to believe that a
great many other Yahoo users had been compromised, leading to a
significant loss of faith in the integrity of the platform.

    Does anyone have such an example in mind that could be included
    here?� Specifically: Can we describe a scenario where (a) a sender
    publishes p=reject (b) with users that post to lists (c) that the
    community at large would be willing to accept/tolerate?
So the example you seek might be phrased along the lines of when failing
to set p=reject means that significant quantities of forged email will
be delivered and this will cause damage.

Personally (not a $DAYJOB$ opinion) I think SHOULD NOT is still too
strong, mailing lists (and other forwarders that mangle email) have been
coping with p=reject for nearly a decade -- so that trying
(ineffectually in practice) to make their lives easier at this point is
a snare and a delusion.

- -- richard Richard Clayton

Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety. Benjamin Franklin 11 Nov 1755



--
Hector Santos,
https://santronics.com
https://winserver.com


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

Reply via email to