On 7/16/2020 12:05 AM, Julian Bradfield via Exim-users wrote:
However, the DMARC example of 58.5 contains a construct that has me
totally stumped:

     warn !domains = +screwed_up_dmarc_records

...
Presumably the left side of the "=" is negated in some manner, but that
is about as much as I think I understand. The right side looks
sufficiently close (linguistically speaking) to "foobar" that I think I
have some glimmer of understanding of that.  But, maybe not.
It means   warn  !( domains = +screwed_up_dmarc_records)

The meaning of ! is explained in the first line of section 44.20 of
the spec.

44.20 first line:
An exclamation mark preceding a condition negates its result.

The remainder of 44.20 seems to me an obfuscatory masterpiece of explanation of an ambiguous spec.

In any event, to understand the negation of "x" one must first understand "X".

But, actually, my focus on "!domains = +some_meaningless_list" appears to be an example of chasing a wild goose. My focus should have been on the preceding "warn" verb.

As explained in 44.18:

If log_message is not present, a warn verb just checks its conditions and obeys 
any “immediate”
modifiers (such as control, set, logwrite, add_header, and remove_header) that 
appear before
the first failing condition.

Therefore, per the spec:
 warn !domains = +screwed_up_dmarc_records
 control = dmarc_enable_forensic

Does precisely nothing because the control modifier appears AFTER the failing "domains" condition. Which leaves one to wonder the intent of the author.

Phil

--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to