Jeremy Harris via Exim-users wrote on 20.08.2023 16:41: > On 19/06/2023 11:52, Victor Ustugov via Exim-users wrote: >> This patch might be helpful: >> >> https://mta.org.ua/exim-4.94-conf/patches/exim-4.96-fix-opemdmarc-1.4.x-history_file/patch-src__exim-4.96-fix-opemdmarc-1.4.x-history_file.patch >> > > I've pulled this into the Eim sourcebase, at f9c35778a660. > > There remains the question over ARC result lines in the > dmarc history file. Does anyone have insight into the > values expected for "arc" and "arc_policy" by > libopendmarc 1.4.x ?
I found two examples on the page https://github.com/trusteddomainproject/OpenDMARC/issues/189 : arc 7 arc_policy 2 json:[{ "i": 1, "d":"example.com", "s":"arcselector1", "ip":"" }] arc 7 arc_policy 2 json:[] But in the file https://github.com/trusteddomainproject/OpenDMARC/blob/master/opendmarc/README the values 0 and 2 are specified for the "arc" parameter : arc ARC evaluation (0 = pass, 2 = fail) arc_policy ARC local policy evaluation (evaluation -- same as ARC, ARC seal data - JSON-encoded array of governing arc seal fields: instance, domain, selector) The file https://github.com/trusteddomainproject/OpenDMARC/blob/master/opendmarc/opendmarc.c has this comment: ** arc_policy 1 json:[ ** { i=2, d = d2.example, s = s2, ip = addr2 }, ** { i=1, d = d1.example, s = s1, ip = addr1 } ** ] He's weird too. Because the value 1 is not found anywhere except in this comment. Based on the contents of the file https://github.com/trusteddomainproject/OpenDMARC/blob/master/opendmarc/opendmarc.c, it can be seen that: "arc" can be equal to ARES_RESULT_FAIL (7) or ARES_RESULT_PASS (0). "arc_policy" can be equal to DMARC_ARC_POLICY_RESULT_FAIL (2) DMARC_ARC_POLICY_RESULT_PASS (0) After 0 or 2, the line beginning with "arc_policy" must be followed by a policy in JSON format. If the verification of the ARC signature was successful, then the lines for the history file should look something like this:: arc 0 arc_policy 0 json:[{ "i": 1, "d":"example.com", "s":"arcselector1", "ip":"11.22.33.44" }] If the ARC signature check fails, then the lines for the history file should look something like this: arc 7 arc_policy 2 json:[{ "i": 1, "d":"example.com", "s":"arcselector1", "ip":"11.22.33.44" }] I do not know what values should be specified if the email does not contains an ARC signature. > I could guess that "-" might be viable, by analogy with > the "rua" line coding, but that's not really sufficient. > The RFC standard for DMARC doesn't mention ARC. Is there > one somewhere? "rua" is a text field. "arc" and "arc_policy" are integers. And "arc_policy" has an additional field with ARC policy in JSON. > [ And how in hell did libopendmarc not break > *everybody* with these changes? > ] -- Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua public GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc -- ## subscription configuration (requires account): ## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/ ## unsubscribe (doesn't require an account): ## exim-users-unsubscr...@lists.exim.org ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/