[openpgp] whitespace definitions in OpenPGP [was: Re: I-D Action: draft-ietf-openpgp-crypto-refresh-01.txt]

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 15 February 2021 23:56 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D56343A09ED for <openpgp@ietfa.amsl.com>; Mon, 15 Feb 2021 15:56:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=fifthhorseman.net header.b=a0lMYJPp; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b=FCIg7nri
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TE8Qi4jnXhJ9 for <openpgp@ietfa.amsl.com>; Mon, 15 Feb 2021 15:56:50 -0800 (PST)
Received: from che.mayfirst.org (che.mayfirst.org [IPv6:2001:470:1:116::7]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E3AB33A0A5E for <openpgp@ietf.org>; Mon, 15 Feb 2021 15:56:45 -0800 (PST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1613433403; h=from : to : cc : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=7AFXL1LU3fee/GUqT4yhDYmmzZ94CSYDlhTOVnYJSn4=; b=a0lMYJPpP7utof5+mr7vWblx9kVqi3IT/D3mf4YIfCyvsxPuKlcRZzn3pmSqLDhpsHu2j zLFPZqEr5bjg+hTDQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1613433403; h=from : to : cc : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=7AFXL1LU3fee/GUqT4yhDYmmzZ94CSYDlhTOVnYJSn4=; b=FCIg7nri4rArhEZNdEMD/kujFjnIJiOKTp9La0YcJG8CKV1eQg8EmRSdzdYkQwuh6kFL4 LAr38znFdJMYI+LFTDR+yuFfeuFS5Zc1U4/n3ut8QS/lb4EY3Xiq6hWkXyNU511oxEVaGXH 9C53ZRRwytWU7vbKRnd/WtOYO//iZmoCq8PnsGuaZQNdo4n94PwJXzKw9g7xcUe/KYZzvHQ xbNJ0CVvcSZWM4+/iyKBgRqsaLsVl6/GS/1SvBKpY8qrnHsSK1LnyoJtk8nXVs3ct0bNCLv 6AGE4LOymbkikxUzRaJZYTHi8GbzdopXLH1D7hfH3Tin0ZKHn4ZQ4uIhDTow==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 734AAF9A6; Mon, 15 Feb 2021 18:56:43 -0500 (EST)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 08079204FD; Mon, 15 Feb 2021 18:56:35 -0500 (EST)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Guillem Jover <guillem=40hadrons.org@dmarc.ietf.org>, Andrew Gallagher <andrewg@andrewg.com>
Cc: openpgp@ietf.org
In-Reply-To: <YCVSa3CWuRIV17ry@thunder.hadrons.org>
References: <161254580617.29620.7114088127291075805@ietfa.amsl.com> <76fe41fc-f14e-fe3c-db02-7e5b7629dc8a@gmx.net> <1612693541055.92697@cs.auckland.ac.nz> <fe95a37d-7853-fa7b-f8ce-49b60928206b@andrewg.com> <YCVSa3CWuRIV17ry@thunder.hadrons.org>
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH
Date: Mon, 15 Feb 2021 18:56:34 -0500
Message-ID: <87blckvqa5.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/c2n3LEiaaZWzy53kjAHvKTR_ZB4>
Subject: [openpgp] whitespace definitions in OpenPGP [was: Re: I-D Action: draft-ietf-openpgp-crypto-refresh-01.txt]
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Feb 2021 23:56:54 -0000

On Thu 2021-02-11 16:51:07 +0100, Guillem Jover wrote:
> On Mon, 2021-02-08 at 10:50:02 +0000, Andrew Gallagher wrote:
>> On 07/02/2021 10:25, Peter Gutmann wrote:
>> > Heiko Stamer <HeikoStamer@gmx.net> writes:
>> > 
>> > > For spaces and tabs the intention is clear for me, however, I am not sure
>> > > about carriage returns in general. According to Unicode Character Database
>> > > there are some other whitespace characters, e.g., form feed (0x0c). Should
>> > > such characters be included, too?
>> > 
>> > That also just seems wrong in general, the last major OS type I know of that
>> > used CR delimiters was Mac OS from 1984.  Shouldn't this be LF or CRLF?
>> > Wherever this came from, it's not in 4880, or any other common RFC that
>> > defines a format for blank lines.
>> 
>> It reads to me like this change is intended to cover a "blank line" of
>> assorted spaces and tabs, with an optional trailing carriage return before
>> the line feed delimiter. The admission of carriage returns elsewhere in the
>> whitespace sequence is surely unintentional.
>
> Yes this was the intention, as prompted by:
>
>   <https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=aea291e3db1ac0414dcf005a0a607e78bdd77a5e>
>
> The original MR:
>
>   <https://gitlab.com/openpgp-wg/rfc4880bis/-/merge_requests/6>
>
>> Note that the similar definition of "trailing white space" on line 69 should
>> be kept consistent with that of "blank line".
>
> Ah probably missed that one.

Thanks for this discussion, all.

It seems clear to me that the text about whitespace that was merged into
-01 doesn't have WG consensus at the moment -- iiuc, it may address the
original concern raised by Guillem, but is unintentionally overbroad,
and might introduce further incompatibilities between implementations if
they try to follow the spec as written.

I propose the way forward for this is for now, we revert those changes,
and the next revision (-02) could retain the language about whitsepace
from RFC4880.  I've proposed that here:

    https://gitlab.com/openpgp-wg/rfc4880bis/-/merge_requests/33

(see also the attached diff)

In the meantime, so we don't lose sight of the legitimate problem that
Guillem wants addressed, I've opened
https://gitlab.com/openpgp-wg/rfc4880bis/-/issues/11

If someone from the group wants to propose alternate text that addresses
the issue but doesn't introduce the inconsistencies identified by Andrew
and others, then please propose that text on-list here (in a different
thread?)  -- and if you can also make it as a merge request on gitlab
that'd be a bonus.

Regards,

   --dkg