Re: [precis] Enforcement as an Idempotent operation

Peter Saint-Andre <stpeter@stpeter.im> Thu, 23 March 2017 23:52 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: precis@ietfa.amsl.com
Delivered-To: precis@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B89C128CFF for <precis@ietfa.amsl.com>; Thu, 23 Mar 2017 16:52:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.721
X-Spam-Level:
X-Spam-Status: No, score=-2.721 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=stpeter.im header.b=jkMqVUhv; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=krG9xuib
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 rfhIfJMsOuhy for <precis@ietfa.amsl.com>; Thu, 23 Mar 2017 16:52:12 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C050129516 for <precis@ietf.org>; Thu, 23 Mar 2017 16:52:12 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id D26882091B; Thu, 23 Mar 2017 19:52:11 -0400 (EDT)
Received: from frontend1 ([10.202.2.160]) by compute2.internal (MEProxy); Thu, 23 Mar 2017 19:52:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stpeter.im; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=ycQ+WuqJd2xb3RauLE 7AoVcZTPnSN8bbPNrJjUup0iI=; b=jkMqVUhvnO+Oye22nBKl674NgiLhBz7qMt tZzgbRyAWTNIKFXBXEAKZjOcviDrheeb07Y5ZTuYm1Jz8GITjAtiLCaPEE7nhPs1 LAteap6r59qe1vokUSeq0KMFlZ7L0bI9R7QGwDxlcDhw3kwcgVmkOK1UwM+OhW3W PYSefS6nzewfXCmT2trSKv8JsJSWi7XaSl+6F2WmGOvE1883h9ZXwfxnYysVyVcS fB+3+QJfYcMzjAkNq79SLwjWn7Pu6XWOl2kxralDUM2wrsjntc/l5gamm5Ee+ol2 Jx7Bsx9FMurqSTm9N93/RSVa2hUbDPp0dtI91YhUHujWMquo5PPA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= fm1; bh=ycQ+WuqJd2xb3RauLE7AoVcZTPnSN8bbPNrJjUup0iI=; b=krG9xuib UDat0dEUyHAhanjicgPWCDQJEsthC5wQ3K3/NtjolUmkQxmtWLRYHpknQps4vnR+ nUhR5DwCcHLsbopMs5QRxRDKjNO+czmeifZVFCtE4HqD2pescsqIb8iOb1K8Mych 1cYE+sqBBIGAiYhKOA2Sm3OfnEvFR2swJO5P7L7BgxhlhxpWD0ZBEzme4XeYqnq9 UYwPc6x6zFh3DumjLB5hm2bay6JhyGh1yCZQD5xz23CFt1Yz0JqCsghKitVCkRB6 3KUGQZ/1TCtzDZz/WKUnF5/WZKCMnxZfGVocYrc86TZnkbSnZ5qhb5jGUdVUmyCL tXqWIy1VTE0UGw==
X-ME-Sender: <xms:q1_UWE25gwwy1gUXGyh71pO3ULgP5sUVZ7rtZV9LFvmfqlP8PLH1Iw>
X-Sasl-enc: G5sTAe5dtkjaDpm1QLCz6/8mVQ0zyPI2Ekyr4ZN9mvwR 1490313131
Received: from aither.local (unknown [76.25.4.24]) by mail.messagingengine.com (Postfix) with ESMTPA id 607297E202; Thu, 23 Mar 2017 19:52:11 -0400 (EDT)
To: William Fisher <william.w.fisher@gmail.com>
References: <CAHVjMKHVvmS6jty3-jwnnuqy-xdw-xY2j+5ExLRr6tXCMRbC2Q@mail.gmail.com> <f9b49a96-2189-bccd-5dc0-a4dc8146cbcc@stpeter.im> <CAHVjMKEVTOCV68OTfXnXhWKiXT798m2osGkwHVRhw4Cs0RLw0w@mail.gmail.com> <15c31273-c278-af61-2a01-0b68ab8af182@stpeter.im> <CAHVjMKHXL_gHrQ1+jC2T4VrJj5n+mRB5j7iD7kGHc06wpq+PEA@mail.gmail.com> <0f5b55f8-5fcb-2a61-435e-7b93d2d8f9e6@stpeter.im> <6df28263-cdfa-cc61-4ba9-1bdae17bcca8@stpeter.im> <CAHVjMKFKPB_7C6znphRmUjP1LpM5+b=zRWEHHjNxHShZDOGwDw@mail.gmail.com>
Cc: precis@ietf.org
From: Peter Saint-Andre <stpeter@stpeter.im>
Message-ID: <b14d52aa-3364-4d9e-1d6f-b6165343eea1@stpeter.im>
Date: Thu, 23 Mar 2017 17:52:04 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CAHVjMKFKPB_7C6znphRmUjP1LpM5+b=zRWEHHjNxHShZDOGwDw@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/precis/DWTsFd_y2Efqdwcjdw8DJ21t7vI>
Subject: Re: [precis] Enforcement as an Idempotent operation
X-BeenThere: precis@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Preparation and Comparison of Internationalized Strings <precis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/precis>, <mailto:precis-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/precis/>
List-Post: <mailto:precis@ietf.org>
List-Help: <mailto:precis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/precis>, <mailto:precis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 Mar 2017 23:52:14 -0000

On 3/23/17 1:46 PM, William Fisher wrote:
> I agree with the "implementation note" strategy. In all my testing,
> only the "Nickname" profile can fail to be idempotent for some inputs.
> I have not found any inputs that fail the idempotent test using the
> Username or OpaqueString profiles.  I believe "Nickname" has problems
> because it uses NFKC.  I would add an implementation note/warning to
> the Nickname profile.

Hi Bill, thanks for your feedback. I propose the following text.

1. At the end of Section 7 ("Order of Operations") of 7564bis, add this
note:

   Because of the order of operations specified here, applying the rules
   for any given PRECIS profile is not necessarily an idempotent
   procedure (e.g., under certain circumstances, such as when Unicode
   normalization form KC is used, performing Unicode normalization after
   case mapping can still yield uppercase characters for certain code
   points); therefore, implementations might need to apply the rules
   more than once to an internationalized string.

2. At the end of Section 4 ("Use in Application Protocols") of 7700bis,
add this note:

   Implementation experience has shown that applying the rules for the
   Nickname profile is not an idempotent procedure for all code points.
   Therefore, implementations might need to apply the rules more than
   once to a nickname string.

3. I see no harm in also adding the following note to the end of Section
5 ("Use in Application Protocols") of 7613bis:

   Applying the rules for any given PRECIS profile is not necessarily
   an idempotent procedure for all code points. Therefore,
   implementations might need to apply the rules more than once to an
   internationalized string.

Peter