Re: [urn] URI Scheme with Complex Equality Rules

"Randy Armstrong (OPC)" <randy.armstrong@opcfoundation.org> Sun, 28 August 2022 08:20 UTC

Return-Path: <randy.armstrong@opcfoundation.org>
X-Original-To: urn@ietfa.amsl.com
Delivered-To: urn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 137D3C1522A1 for <urn@ietfa.amsl.com>; Sun, 28 Aug 2022 01:20:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=opcfoundation.org
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D7_EJnxJ0vkK for <urn@ietfa.amsl.com>; Sun, 28 Aug 2022 01:20:55 -0700 (PDT)
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2044.outbound.protection.outlook.com [40.107.95.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0E7EC14CE22 for <urn@ietf.org>; Sun, 28 Aug 2022 01:20:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W9H9TiqPipqyhDhInqtoehR5fQKeXwzFo00QWUoOSrc8KLD1gFEWchAAnZ4Va7fn+HvHs8oRBok/E9FASU/TUwQT9iie0EYQN1o1Z3Knfi6L/j2e/v/rPzzT5blys70bKw19RI7NqREKG1szNYm6SGgnRVWSQkd6RTt0KqdAEFzIma3p2undSpteftvucjNfCltGifJkLiTHc4SvO+59IpmsUSw5r2b12CesR+i8ECgswPB3G05ibNAhkJhMdjGgJ1iTaoywn+1fQrG7/D8NYrd0gJ1q6Jxm9fx9gy5xhD5DgccgZ9xMUJV6EIh9jTwX6ap+LXFTL1c0Y4r3gA6r9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2SSYru4TibJZN6RM3l0OdjjZJ08vvA6WhHHiMCj9cUM=; b=USmdDbEjwuKGCFJvmybAk9fTngaVRz6XkIYGhsgGXhOHa4yTo0cKDiBkeMiSr5Qn++CwSdsRmIFAYxzqMr74zwzKyOk+Xbdr7Lmib4pWMhzpRc1qSReW0ElPZd7j2eYrGPd/HNCP9chK+ZyVD/GYhyZgexas96v3vjlLK6510VnEhEiNouOdpC36/lIMtz1Yxo0U+nhJc6xDTMcPY3sYrjyskL1gyTeOXMtdp5EfPvNJkAmj5hSq/LBkv5WvzG0Zmc3AMXmEB6DXn78HVBQWuacyqoRJCC+bRDhiBupOfj4lvnhnw4ymIbX6SfgWdne1dbA0ehO+KoIwWy+AO36s1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=opcfoundation.org; dmarc=pass action=none header.from=opcfoundation.org; dkim=pass header.d=opcfoundation.org; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=opcfoundation.org; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2SSYru4TibJZN6RM3l0OdjjZJ08vvA6WhHHiMCj9cUM=; b=qEydwv01EGU3mhZqVAiCxUjpsZ4EtacrWutD76tPX7p6CgbpritqRXYzs+tWuc+u03S5zK7HSRYCRkCsy8iZh/z35dbrtsaATI2kp/7bnSesjO3dmqTfdQicVyomWTh1aWJG1biQSwJpb6nLxVOA0NOKKWIemT29l80pSD9HB5s=
Received: from SJ0PR08MB8288.namprd08.prod.outlook.com (2603:10b6:a03:41a::13) by BN7PR08MB4772.namprd08.prod.outlook.com (2603:10b6:408:26::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.19; Sun, 28 Aug 2022 08:20:50 +0000
Received: from SJ0PR08MB8288.namprd08.prod.outlook.com ([fe80::adf3:8a85:fb5:b4e9]) by SJ0PR08MB8288.namprd08.prod.outlook.com ([fe80::adf3:8a85:fb5:b4e9%4]) with mapi id 15.20.5566.016; Sun, 28 Aug 2022 08:20:49 +0000
From: "Randy Armstrong (OPC)" <randy.armstrong@opcfoundation.org>
To: "Dale R. Worley" <worley@ariadne.com>
CC: "urn@ietf.org" <urn@ietf.org>
Thread-Topic: [urn] URI Scheme with Complex Equality Rules
Thread-Index: AQHYub7pbB+NatYu5Umx5MLiMPLNxa3CTFrw
Date: Sun, 28 Aug 2022 08:20:49 +0000
Message-ID: <SJ0PR08MB8288FDFFF41C8F04FDFFE9DBFA779@SJ0PR08MB8288.namprd08.prod.outlook.com>
References: <SJ0PR08MB8288507205BE2CD811F5D19BFA759@SJ0PR08MB8288.namprd08.prod.outlook.com> (randy.armstrong@opcfoundation.org) <87a67qtngg.fsf@hobgoblin.ariadne.com>
In-Reply-To: <87a67qtngg.fsf@hobgoblin.ariadne.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=opcfoundation.org;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2c57b648-6764-4323-e1b5-08da88ce3743
x-ms-traffictypediagnostic: BN7PR08MB4772:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: YdVnMN7MvSTcsKsV0MchXT9e45XQRPdghYLrjigX0a9AHVVsmN0ab/086grkgD4F+BHOaPtwGsnsODUrb4vuSr+Nn9Xa9zPJEE/fZea4/35CagIkWb7q73PnYy+qt93bqFYPdLvo2t8cfBZERHb7088OYzadc80PPHal71WC1uM9Qx1aIF8E1xHPgXfYOxXD9hZLb91bGhenwZCo6afxzuD34H/dwEifB06pYnO6RdL3bDoLI9eKr8AB7IwnJd+LsO6HPK4kl5GYXH7Er9k++yXFwxUmpKR3+E9WAAtOCHp+KbiHf6AK+MKNlm5HPqnXxnoweCzTBzzyEX6WgZ9FrVwyGMs0b2ZVa4JEP0nahBM7/xJTpvw1/RxkddhtVEq9DEVSSqyrX5qG+DL72tTkRNaWlaqek6J5JqnAHhSQDMqJarqL3NlwmuLBZkAlmfKZgCSMtJ9rR1mRAZChM4YrQmN5hybGmV0vWAz6BnJSdgrgoGwmhPz3LO5i9buuI4nGICA2ZdFSQRYitEu+ibDATzfm9daRvmPhR8fmSr8IFTwG4crcoWxkVYXkn5t8YtwkrhO1oX0MOlc6ooNmKJY5SeA9DdGjK1tiqDZXYFuKGQLCLWMNw4+ofVjYz1qLE18DEeMAGnpyBFre2UOEJqXww8oxJIJ0f9K52V5Vn54syc+Q1y9fUSlmHyAd9OW2h1f3AlChtTaP6VG/d4PqcmuT3sBDDEsWPbj0OaB2B/eQaYWYIjv51vhjS0xETQOYBF+UvHhtv/YDO0sorxB8Wonv2w==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR08MB8288.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(366004)(396003)(376002)(39830400003)(136003)(6916009)(38100700002)(55016003)(71200400001)(316002)(122000001)(38070700005)(76116006)(478600001)(41300700001)(64756008)(83380400001)(66476007)(66446008)(8676002)(4326008)(66556008)(66946007)(7696005)(186003)(33656002)(52536014)(8936002)(5660300002)(9686003)(6506007)(53546011)(2906002)(86362001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: IrGxyZ2jwO5PdgfyV2Xtm2xOmdlqWE2z6xSnnHAyyZqiF2zSVUceVx1I7v8jlTdmjBVR/pvR3itEW3p+JSBVblzrQHfxyzzZv3W0JWtGsxalCHqhHCgMs3i0HbxnQU0JUcjiEuBWkI3aVa57dYVfbj740wkZdbMQSwlUoV79BDwN8LghaPa1L/LelA/X6efo6dSt173W9dYHv+yyozXy8/ZZWGUb5I7g6yktQvHs2o92dWaJNRBSj0jmEvvvp+RE7jPOMBlCs5Z98mEqMyLTFjozp0ies1VcjPOd/9Yft62H3fpsjz8QUHBRteLB9+PiYsFlhClWuxmfGAk6aCCTkcp5+MuF3Z+4WpdUJiS2grYfT1GLYnsxzqkLaE5Lgf18gdrHArdaYt9CMzCLpN/1t+njEItyKxQ2Irc0fDrrRiKqAe8bFf6yzJFUBgNM6Yl5FHVkmemPBNHrOMY2O1u8mftojZS+n21N9inarwsHoRGaDzB+jZAweKfla4cyawt3i++knvLRS6sjcCiZavCbR/NInWTIkPLrc+Y/KLX+QsVyRFyBYQbmZFUXboEusFA7A+umi6qo3QrigcxRgXJ7QNw9XDb9TR1CNVXKDlXpZOqEig3FTVorpluZeSf5hBrnlMQr4F/k0+HIGetaRVlmLgbtiMHVSECLQtjADjAgJ50Ql9ZGQHXCGwpZkG82JvSD5VPgSn6TznMPPEJDJ6CJ6J7nsBBt1meuaQki42/tPKNmxLyoPpCyGiOjfQqMVqAsikprAWUvKD6KhHwUqd+vvV2nbohGgfnmQLkdK4Od4ScFs9KnKi/BwzqMyoA+8EGQZjKvWpNcR/Lp8CX5Z5cOq6apbguSbjiDij6YOsWuceVs0xoy5mBactNzpvKgQrvtM0WTVpLkULIpo6Q1oHmLyH+uMPAh6RQ9hdpF45mL+8YrmQtNTo2XcyMsAtrD9XrwxY5frKv/rymZkqGx4sJ5Pims5UesK6rDbWmvidm8Arkn7JPEXqRRd0a3kC8pTE7rt+befBcbl2fIGxyPRNWmsjAnvPICc94q8q8k9ZCpvIVHmNgU+3VczKjHAJneGebtAqgbNxUt1LA4IETHMd+Af22JuJS3zwUub8LgdXsPVnqiZn5yQseicb0Lx1yBVJK7sj7evMk6d+JbUv9XQfUNf5pUYCtO1Zvf8vVqUiGXXbiEadd+D87AcP8YhrdpkEb2UdKXh5L1FyrUVIivYvPmVIXRah5MrGmMBTPWakpFkuLpl0rd/Yl06MzH8WLCAkRD0vhoJjmpRv69rz+PUjJGMFum1ymGlG99YpQlzlWc7a1H8InwI7iLlPkOcnQwo9FXoF77BH/yly0STSSfrmm2n6aPHa8v6m7zTkUcCuKTCY9Uja3U3f91FliLGCnz7FK3QInBA4mjrWE98ull1hTVUxlR80ajNJiewNI95O2D/NTuWMwB7HlcV54QxPV15OiLsNp5WQ0M7eIlKFyOKDahqvFLLHtuPgVmJORIMGUgT9LG6xnvaoXnx7C6OtU0tEXuV1zrIedTh60CvYM8iMzOJwEosvyE0cugpzw9nvKNiX7WReYyYTvU/9cx+wTtA2BzlSYdWMOXM+VMlxPLOOBu678AmXQKnGwnvm+vYCLuN0vkC4spwtx/Ebml8/BcVHv2kVev0tXuGw2fTq1RW4t70Q==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: opcfoundation.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR08MB8288.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c57b648-6764-4323-e1b5-08da88ce3743
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2022 08:20:49.7714 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8ef4e4-d41c-489c-8004-bb99304b60fe
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uPq4Y4sukTCVsIX45OwzMQuv5JQiQNTIvE4uQ/td5moyi8PuYOgpTr4u957CgmOD6Y7W9fseUBHLVXTNseWkOzQeTjIAuQv74tEs+OYM0sxo9M1rAtUMqk7rE/55eRaO
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR08MB4772
Archived-At: <https://mailarchive.ietf.org/arch/msg/urn/FXqcjdCRO2AIxSBaNNq3KczxZIY>
Subject: Re: [urn] URI Scheme with Complex Equality Rules
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Revisions to URN RFCs <urn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/urn>, <mailto:urn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/urn/>
List-Post: <mailto:urn@ietf.org>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/urn>, <mailto:urn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 28 Aug 2022 08:20:59 -0000

Hi Dale,

That was my original thinking if my proposed requirements are acceptable for a URN scheme.

Regards,

Randy

-----Original Message-----
From: Dale R. Worley <worley@ariadne.com> 
Sent: Saturday, August 27, 2022 11:44 AM
To: Randy Armstrong (OPC) <randy.armstrong@opcfoundation.org>
Cc: urn@ietf.org
Subject: Re: [urn] URI Scheme with Complex Equality Rules

"Randy Armstrong (OPC)" <randy.armstrong@opcfoundation.org> writes:
> Specifically we need:

>   1.  Equality checks with case-insensitive string comparisons;
>   2.  Human readable strings with uniqueness provided by a DNS name or IP address (always lower case).
>   3.  A valid URI.
>   4.  R/Q/F components not allowed.
>
> We have been using urns of the form: urn:<dnsname>:<additional
> context>, however, this is not technically allowed by the URN RFC.
> We do not want a syntax that needs to be parsed before any comparison 
> can be done.

One simple approach would be to adjust the URN form you are using to

   urn:example:<dnsname>:<additional context>

You could pick what you choose in place of "example"; I notice that the namespace "opc" is available.

Given that it's a URN, the "urn" and "example" parts are required to be case-insensitive, but your specification can define the equality rule for the rest of it to be case-insensitive as well, but allow no other variation.  Having done that, comparing two URNs of this scheme becomes exact equality of the URNs as strings, except for being case-insensitive.

That seems to satisfy all your requirements with about the minimum change to your current practice.  Indeed, you can implement upward-compatibility between the previous and new usage by, whenever you see it, changing "urn:<something-that-is-not-example>:<stuff>" into "urn:example:<something-that-is-not-example>:<stuff>".

Dale