Re: [netmod] rfc6991bis: inet:host

Ladislav Lhotka <ladislav.lhotka@nic.cz> Mon, 27 July 2020 08:51 UTC

Return-Path: <ladislav.lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA8883A17D1 for <netmod@ietfa.amsl.com>; Mon, 27 Jul 2020 01:51:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=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 dxOs1WJNd1ND for <netmod@ietfa.amsl.com>; Mon, 27 Jul 2020 01:51:44 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id CE4B93A17CC for <netmod@ietf.org>; Mon, 27 Jul 2020 01:51:36 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id 46D568600D0; Mon, 27 Jul 2020 10:42:45 +0200 (CEST)
Received: from localhost (nat-1.nic.cz [217.31.205.1]) by trail.lhotka.name (Postfix) with ESMTPSA id EAB1386004C; Mon, 27 Jul 2020 10:42:42 +0200 (CEST)
From: Ladislav Lhotka <ladislav.lhotka@nic.cz>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, tom petch <ietfc@btconnect.com>, "netmod@ietf.org" <netmod@ietf.org>
In-Reply-To: <20200726202427.oqythl6sggm4uzxe@anna.jacobs.jacobs-university.de>
References: <20200717191717.u5a3wv4nbajjdcaj@anna.jacobs.jacobs-university.de> <87ft9mzhe0.fsf@nic.cz> <20200721194434.pvekzgxaus43iihg@anna.jacobs.jacobs-university.de> <AM7PR07MB62482ED4917241DBCD08E7B7A0790@AM7PR07MB6248.eurprd07.prod.outlook.com> <20200722110030.6c7r6utxgjbsilkq@anna.jacobs.jacobs-university.de> <ff42e4cb-957c-a4f0-a88b-333a6565ed8e@nic.cz> <20200724083617.u3wkr34ehjezmusq@anna.jacobs.jacobs-university.de> <87a6zmifpo.fsf@nic.cz> <20200726202427.oqythl6sggm4uzxe@anna.jacobs.jacobs-university.de>
Mail-Followup-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, tom petch <ietfc@btconnect.com>, "netmod\@ietf.org" <netmod@ietf.org>
Date: Mon, 27 Jul 2020 10:51:31 +0200
Message-ID: <87wo2p8hnw.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/593nZUJwOIhOURrHWCkahZAEF-A>
Subject: Re: [netmod] rfc6991bis: inet:host
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Jul 2020 08:51:47 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes:

> So would the following do the right thing?

The invert-match pattern also needs to be added in order to avoid reserved labels:

>
>     typedef host-name {
>       type domain-name {
> 	pattern	'[a-zA-Z0-9\-\.]+';
	pattern '(.*\.)?..\-\-.*' {
	  modifier invert-match;
	}
>         length "2..max";
>       }
>       description
>         "Host names must be at least two characters long (see RFC 952)
>          and they are restricted to labels consisting of letters, digits
>        	 and hyphens separated by dots (see RFC1123 and RFC 952).";
>       reference
>         "RFC  952: DoD Internet Host Table Specification
> 	"RFC 1123: Requirements for Internet Hosts: Application and Support";
>     }

I am also not convinced that deriving host-name from domain-name is a good thing to do. Apart from being somewhat complicated, this coupling can also cause problems, e.g. if domain-name was to be obsoleted in the future.

Lada

>
> /js
>
> On Sun, Jul 26, 2020 at 03:11:15PM +0200, Ladislav Lhotka wrote:
>> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes:
>> 
>> > On Wed, Jul 22, 2020 at 01:46:38PM +0200, Ladislav Lhotka wrote:
>> >> 
>> >> 
>> >> On 22. 07. 20 13:00, Juergen Schoenwaelder wrote:
>> >> > Tom,
>> >> > 
>> >> > my understanding is that Lada is now proposing something slightly
>> >> > different but I am not sure what exactly, hence I asked again.
>> >> 
>> >> Oh yes, I messed it up by mixing different things together, sorry. I
>> >> checked again the ML archive, and the message that is relevant to this
>> >> thread is this:
>> >> 
>> >> https://mailarchive.ietf.org/arch/msg/netmod/PISOifrtow4oWLGW7meBBSri7nM/
>> >> 
>> >> The aim of that proposal was to limit the "inet:host" type to DNS names
>> >> that are reasonable as host names, i.e. eliminate values like "." or "_".
>> >
>> > You are proposing to change the length restriction from 1..253 to
>> > 2..253 following RFC 952:
>> >
>> >    [...] Single character names
>> >    or nicknames are not allowed.
>> >
>> > And you add
>> >
>> >         pattern '(.*\.)?..\-\-.*' {
>> >           modifier invert-match;
>> >         }
>> >
>> > to restrict things to non-reserved letter-digit-hyphen labels as per
>> > RFC 5890. Is it clear that this second restriction applies to host
>> > names? How do you represent internationalized host names? Perhaps we
>> > need a collection of examples? And is the pattern correct? RFC 5890
>> > says:
>> >
>> >    Reserved LDH labels, known as "tagged domain names" in some other
>> >    contexts, have the property that they contain "--" in the third and
>> >    fourth characters but which otherwise conform to LDH label rules.
>> >
>> > What is the '(.*\.)?' part doing in your pattern?
>> >
>> > Finally, would it be useful to derive a host-name type from the
>> > domain-name type (if host-names are really a strict subset of what
>> > domain-name allows), e.g.:
>> 
>> The current definition of "inet:domain-name" in 6991bis also permits the underscore character in labels, so it is not LDH.
>> 
>> Lada
>> 
>> >
>> >   typedef host-name {
>> >     type domain-name {
>> >       pattern '(.*\.)?..\-\-.*' {
>> >         modifier invert-match;
>> >       }
>> >       length "2..max";
>> >     }
>> >     description
>> >       "Host names  must be at least two characters long (see RFC 952)
>> >        and they are restricted to non-reserved letter-digit-hyphen
>> >        (NR-LDH) labels (see RFC ????).";
>> >     reference
>> >       "RFC  952: DoD Internet Host Table Specification
>> >        RFC ????: ????";
>> >   }
>> >
>> > /js
>> >
>> > -- 
>> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>> 
>> -- 
>> Ladislav Lhotka 
>> Head, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka 
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67