Re: [dmarc-ietf] [rfc-i] Question about changes introduced by erratum

Damian Lukowski <> Sat, 21 March 2020 23:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 646B33A0783 for <>; Sat, 21 Mar 2020 16:23:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jHCqM3iiKbyj for <>; Sat, 21 Mar 2020 16:23:51 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id F23C23A077A for <>; Sat, 21 Mar 2020 16:23:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; h= content-transfer-encoding:content-language:content-type :content-type:in-reply-to:mime-version:date:date:message-id :references:subject:subject:from:from:x-amavis-category; s= dkim01; t=1584833024; x=1586647425; bh=N7BXADpBGge8gnqDbO1FOXFLP zT/M4fuEaAnyGfRolc=; b=HsTjIAWqehDk7lD27j0voQpMQ97JErA1BWFhnpNWz ziFYuoNBntUEoS4upfhqeouZKjqPHuu8JuNUNLKl/0Mkf3rp0BCzBnpNPCtGyAOE 5fW3gTH/Pz8TBgX8iw55t8e9A1LIFZ2qFOFLJNSUfuQO63a49rGpnNyZBUKnasBE 4k=
X-Amavis-Category:; category=CleanTag
From: Damian Lukowski <>
References: <> <>
Message-ID: <>
Date: Sun, 22 Mar 2020 00:24:11 +0100
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <>
X-Mailman-Approved-At: Sat, 21 Mar 2020 17:31:11 -0700
Subject: Re: [dmarc-ietf] [rfc-i] Question about changes introduced by erratum
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 21 Mar 2020 23:25:19 -0000

Hello DMARC working group,

I am going through the changes between RFC7601 and RFC8601 and try to
understand the implication of the change introduced by erratum 5435.
The new resinfo definition uses 1*propspec, that is, by my understanding
of [1] and [2], potentially multiple consecutive propspecs without
obvious delimiters. The beginning of a ptype and the end of a pvalue
have no mandatory CFWS, so from my understanding, a verifier could
construct a valid authres-header-field that is cumbersome to parse.

I will refer to the "" part of a propspec as its "key".

The spf method defines smtp.helo and smtp.mailfrom. RFC8601, RFC7601 and
RFC7001 have only examples of the form smtp.mailfrom=domain-name.
However, RFC7208 shows a local-part@domain-name form in [3], so I must
assume a parser for an RFC8601 resinfo needs to recognize both forms. So

> spf=pass smtp.mailfrom=x.y.zsmtp.helo=a.b

This is "clearly"
- smtp.mailfrom = x.y.z
- smtp.helo = a.b

It seems that a 10 character lookahead is sufficient, as long as we are
in the domain-name case. However, with

> spf=pass

the previous "cut" between x.y.z and smtp.helo is no longer valid, as we
have a single smtp.mailfrom with

- "x.y.zsmtp.helo=a.b" as the local-part, and
- "" as the domain-name.

I see some issues:

1. The lookahead for the "@" is unbounded.
2. RFC8601 does not (that I am aware of) prohibit duplicate keys among
multiple propspecs. They may be either completely redundant, i.e. "k1=v1
k1=v1 ..." or contradicting/overwriting each other, i.e. "k1=v1 k1=v2
...". Without a delimiter between the propspecs, it seems even
impossible to parse them unambiguously.
3. I believe that a parser for potentially non-separated propspecs would
be ugly.

Did I overlook or misunderstand something? Would you consider a parser
RFC8601 compliant if it was only able to parse the "benevolent" forms of
an authres header?


[2] [no "implicit
     specification of linear white space"]

> But in answer to your question:, since RFC8601 is from the dmarc WG.


>> I have a question about a change in an RFC introduced by a specific
>> erratum (5435). Is this the right list to ask such question?