Re: [openpgp] User ID conventions (it's not really a RFC2822 name-addr)

Michael Richardson <mcr+ietf@sandelman.ca> Tue, 17 September 2019 02:25 UTC

Return-Path: <mcr+ietf@sandelman.ca>
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 BA77F12085C for <openpgp@ietfa.amsl.com>; Mon, 16 Sep 2019 19:25:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 JReZN4doRtyl for <openpgp@ietfa.amsl.com>; Mon, 16 Sep 2019 19:25:02 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 21CBE1207FC for <openpgp@ietf.org>; Mon, 16 Sep 2019 19:25:01 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id A795C3897C; Mon, 16 Sep 2019 22:23:21 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 67C92BAE; Mon, 16 Sep 2019 22:25:00 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
cc: openpgp@ietf.org
In-Reply-To: <87woe7zx7o.fsf@fifthhorseman.net>
References: <87woe7zx7o.fsf@fifthhorseman.net>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Mon, 16 Sep 2019 22:25:00 -0400
Message-ID: <14303.1568687100@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/UwWe1D4neaN2awIqmep71QwK0N8>
Subject: Re: [openpgp] User ID conventions (it's not really a RFC2822 name-addr)
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: Tue, 17 Sep 2019 02:25:10 -0000

Thanks for all of this.

Daniel Kahn Gillmor <dkg@fifthhorseman.net> wrote:

    > Proposal 2: simplify, simplify
    > ------------------------------

I like it too.

    > I believe that proposal 2 is closer to what most implementations do
    > today, and it handles goals A and B.  I don't mind it failing at goal
    > C because of how much simpler the matching rule is.

Agreed.

    > PS in researching other ways to solve this problem, i came up with an
    > approach that relies on Unicode character properties, in particular
    > Grapheme_Base and Grapheme_Extend as a way to exclude control chars
    > and other non-printables.  This is a more sophisticated/nuanced
    > approach than the RFC 6532 ABNF extensions to atext.  But specifying
    > it requires a character class set subtraction operation (you want to
    > subtract "<" and ">" and "@" and " " from the Grapheme_* classes),
    > which isn't listed in IETF's ABNF definition in RFC 5324.  And
    > implementing it requires a toolkit capable of discerning and acting
    > on Unicode properties (e.g. the python regex module from PyPi, but
    > not the re module from python's stdlib).  That's too bad, because
    > 6532 §3 effectively makes things like U+200B ZERO WIDTH JOINER
    > allowable within dot-atom-text, which is uncomfortable and weird.
    > But other implementers reliant on 6532 might accept such a localpart
    > anyway. These costs don't appear to be worth the minor gain compared
    > to proposal 2, so i've stopped attempting to document that approach.
    > If anyone wants to take a crack at it though, i'm happy to share my
    > notes.

Wow :-)

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-