Re: [core] Interest in defining CoAP over Unix Domain sockets?

Jon Shallow <supjps-ietf@jpshallow.com> Wed, 14 December 2022 15:09 UTC

Return-Path: <supjps-ietf@jpshallow.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C1DFC1522A7 for <core@ietfa.amsl.com>; Wed, 14 Dec 2022 07:09:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 Pos6CEvKyhHN for <core@ietfa.amsl.com>; Wed, 14 Dec 2022 07:09:33 -0800 (PST)
Received: from mail.jpshallow.com (mail.jpshallow.com [31.22.13.189]) (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 278C4C1524C8 for <core@ietf.org>; Wed, 14 Dec 2022 07:09:32 -0800 (PST)
Received: from [192.168.0.78] (helo=N01332) by mail.jpshallow.com with esmtp (Exim 4.92.3) (envelope-from <jon.shallow@jpshallow.com>) id 1p5TNy-0004yz-9K; Wed, 14 Dec 2022 15:09:30 +0000
From: Jon Shallow <supjps-ietf@jpshallow.com>
To: 'Carsten Bormann' <cabo@tzi.org>
Cc: core@ietf.org
References: <004601d90ee3$dd59df80$980d9e80$@jpshallow.com> <E270AC49-755E-4275-9F69-2D08B542E537@tzi.org>
In-Reply-To: <E270AC49-755E-4275-9F69-2D08B542E537@tzi.org>
Date: Wed, 14 Dec 2022 15:09:09 -0000
Message-ID: <014a01d90fce$043349d0$0c99dd70$@jpshallow.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQI0eiyo13tkLZMJo+2rfTYfx7famQFWV2EZravxh2A=
Content-Language: en-gb
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/ujokawMZ-FOAtd7q7YpTMvw1on4>
Subject: Re: [core] Interest in defining CoAP over Unix Domain sockets?
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Dec 2022 15:09:36 -0000

Hi Carsten,

> I agree that this would be useful practical addition.
> While interoperability would be limited to a single system, different software
> does need to interact on a system, so having a common specification for doing
> this is useful.

Great.

> > Defining what a Unix Domain CoAP URI looks like for a client to parse is the
> > more contentious area
 
> The important consideration is that this needs to be compatible with the URI
> standard RFC 3986 (STD 66 [1]), so various libraries that might process the URI
> before it gets to the CoAP implementation are not confused.  (This will also
> enable compatibility with draft-ietf-core-href [2].)

Agreed.

> 
> For one useful analogy, Jupyter seems to allow
> http+unix://%2Ftmp%2Ftest.sock/ [3].
> 
> I think Jupyter’s syntax is compatible with STD 66, while brackets are not
> (these are used for IPv6 or IPvFuture, and we probably don’t want to declare
> UNIX domain sockets as IPv4711).

At least someone is taking the plunge.  Understood about the brackets - the usage of %2F is just about human parseable.

> 
> I’m thinking about a way to shoe this into the existing URI-schemes, e.g., by
> saying that an initial / (percent-encoded %2F) in a reg-name triggers a switch to
> UNIX domain.
> This would save adding four more URI schemes, but does smell a bit hacky.
> 

While the initial %2F is unlikely to break parsers, I think I would prefer it to only be triggered if there was a +unix in the scheme to assume that a Unix domain is being specified.

Regards

Jon