Re: [precis] Enforcement as an Idempotent operation

William Fisher <william.w.fisher@gmail.com> Fri, 24 March 2017 18:40 UTC

Return-Path: <william.w.fisher@gmail.com>
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 71DA81292F5 for <precis@ietfa.amsl.com>; Fri, 24 Mar 2017 11:40:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 veOIWTZFhFYu for <precis@ietfa.amsl.com>; Fri, 24 Mar 2017 11:40:30 -0700 (PDT)
Received: from mail-it0-x22b.google.com (mail-it0-x22b.google.com [IPv6:2607:f8b0:4001:c0b::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 76554126C2F for <precis@ietf.org>; Fri, 24 Mar 2017 11:40:30 -0700 (PDT)
Received: by mail-it0-x22b.google.com with SMTP id y18so7073484itc.1 for <precis@ietf.org>; Fri, 24 Mar 2017 11:40:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UtnDdo/BMYTzLPWTeox+5Scet9MJjDx5Cge6uaDEbkQ=; b=dGbUk7qIzuwCHsYXA4rU7J8xigAUPPl2rqfNfhi8U0a6CmsYbaQeSG8YnnHPsyNyok XXoGZImJzUG09d0LrJRG05E3wASmxJT47gK3+KIUJj1bD05hobmy7VGhoE/kZ9alylKS BX5LW1BUmSlZWy3aAntr6KrabVae81QzgJN84R0FOA+PZtciXUzKEV/VCcXu1+YzHwCS pPV5tGY/BvtulPrczjduaVOuzJFmOA1H50cd7QnY75HrVCYj2/nszOLnQXSFbMREAinL P4zmgJCuacbRO0ZB2C7CKKLB4uM5FBIptPKPrsjf430LFWUt4AnXx88Oh+Arc+lK7Qsh ywtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UtnDdo/BMYTzLPWTeox+5Scet9MJjDx5Cge6uaDEbkQ=; b=iKWlE3EQbCy+JM+AR8oXnBf6hrAdHIiiHki7lZ0094AZ1evxfOkLEKFpea2hwLXyT9 RcXljN80XwoCq3oLuMxvpkkenVfubejkcqYIhlpOB3/4u/rhs7XlVFUld7SOoJSPJ6pZ 1bnTN/fSBVWf+f6Gi7VSqoXFGBkUFLgNjyg6rzkFkQ44lnCn28AJp9Jwn5MTsPbmDsHZ pK2/Ewvy18wVKTSrYe7mVlwq/RDOnRclWLJiEJemqN5gHfz9T8IVpdiskjt0ztx2DmaS W/44Ds9JH/qJ5ZgQ9air3HXVIqh4uPwfbGVaDQ7Pgv74vAkRQ8DkJC9CJlVgSqUUU/Fm 8M9g==
X-Gm-Message-State: AFeK/H1sdfSCeGSA2RScyP273FgxA/OANFzBRs8FJdjGUiTGldEJx/kDRT9Tp2TqErhZb1ahIvEp8YkiY1sUFg==
X-Received: by 10.36.77.10 with SMTP id l10mr4355844itb.59.1490380829632; Fri, 24 Mar 2017 11:40:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.12.213 with HTTP; Fri, 24 Mar 2017 11:40:29 -0700 (PDT)
In-Reply-To: <b14d52aa-3364-4d9e-1d6f-b6165343eea1@stpeter.im>
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> <b14d52aa-3364-4d9e-1d6f-b6165343eea1@stpeter.im>
From: William Fisher <william.w.fisher@gmail.com>
Date: Fri, 24 Mar 2017 11:40:29 -0700
Message-ID: <CAHVjMKELoaGb5PyxtRXsdxip-1ks4TcF2yFk0FFJbgd3-PavhA@mail.gmail.com>
To: Peter Saint-Andre <stpeter@stpeter.im>
Cc: precis@ietf.org
Content-Type: text/plain; charset=UTF-8
Archived-At: <https://mailarchive.ietf.org/arch/msg/precis/uTTKFSMoEsNMaVMW_w7MfgP86zM>
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: Fri, 24 Mar 2017 18:40:32 -0000

Looks good to me.

-Bill

On Thu, Mar 23, 2017 at 4:52 PM, Peter Saint-Andre <stpeter@stpeter.im> wrote:
> 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
>