Re: [netconf] [Last-Call] Yangdoctors last call review of draft-ietf-netconf-tls-client-server-24

Andy Bierman <andy@yumaworks.com> Tue, 01 June 2021 17:15 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0ED533A20A1 for <netconf@ietfa.amsl.com>; Tue, 1 Jun 2021 10:15:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.886
X-Spam-Level:
X-Spam-Status: No, score=-1.886 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 LgGccWiN7pfN for <netconf@ietfa.amsl.com>; Tue, 1 Jun 2021 10:15:40 -0700 (PDT)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (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 18A643A209E for <netconf@ietf.org>; Tue, 1 Jun 2021 10:15:39 -0700 (PDT)
Received: by mail-lj1-x231.google.com with SMTP id bn21so12985060ljb.1 for <netconf@ietf.org>; Tue, 01 Jun 2021 10:15:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BKNq13EewCX9UqfVXFJ4zrKmF8zFog1ieBgORDnq5+o=; b=TFIx9mc1Mi5w9CLZRjFqo5+iIBZhv4Ejpxre+/Ntt/Rr9vogYkGShzLhE4Xf/hQEOX jd6VEc7u8qOj9RCL9AxPesfhj+8n2Dw5YQoIBpdoYyNkYkxuX7Pu3US/Tw8UiKUd3kz/ zpqIcQn+5TcSrKccoW1JJZtq4O0hthtbvzT8FsGy/7dpnMTRsbnI8C5fw22dpRsQYoAF 0XWlN2/aB5rJS6bKdihRuKeakV5t8dyU7UDksoUxLk5/PaO6LvwnTkHDWt9akURfk7/o 3wd1N8WRIAnA/pbvv3fkrC2GtoW6r21gVv/r6fojlJwxI0wef6eF8gy1N4r4Hu9RCW+x 0JDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BKNq13EewCX9UqfVXFJ4zrKmF8zFog1ieBgORDnq5+o=; b=Sh5+mcFbj8foTGI/7peY+MKoosrB1KBban8sqgFkvlIGGrLy42QzrHSkdD+StlN/1U N4SNFDgMU/GGtESKcT5JhxbnUK9MaS3Q0QpU/lybdJeGi9+OP36fzAmn9CuF24/k4Lza l9WlFe2yG0mIEbaGImxkatpedAjTuM+E73saeqoCP/qCU9u9VcCzk4kLdAOd2y6ILC9H w7mfK3TkYjaZm2c/I3FyiRPWAJWT+DFezMG/q/bNh3D9CL3T6Cfj02hXUz9N2XhxlB4D hsJBoFGDQEuCE3Xy1V2SsiWKPRTE7V4hY6F1QQTrnVTitUHhTSDgbSzqvInPVISnh6o6 rXrw==
X-Gm-Message-State: AOAM5337+thzmRXU11szFLzgWfASx0CEEUqGNPNC2yV6hXjLntfJm2TU 3PtGFxJW6aoMQfCMU1NcLf14M/Z39mkczCADudImmw==
X-Google-Smtp-Source: ABdhPJwioY+R2Rb6VH//i9w1sktzugQQrsE+pIPC4xTSpSQUlDOPDF2YSgWI4OPEKE1+Bzp0Ei9ywbqgyyLWJI1hm/w=
X-Received: by 2002:a05:651c:502:: with SMTP id o2mr21690370ljp.105.1622567737156; Tue, 01 Jun 2021 10:15:37 -0700 (PDT)
MIME-Version: 1.0
References: <162197056513.1767.16350161534776831688@ietfa.amsl.com> <01000179af378d51-c0a96433-9313-4b0d-bf3f-0a8f54be4852-000000@email.amazonses.com> <CABCOCHTFYGXF4uR557c2fyuJPbUqNv4KhiAuMaMdTfXcx3PvUw@mail.gmail.com> <01000179c7c6cbb2-c8799849-e799-4126-81d2-d5384d2b1251-000000@email.amazonses.com>
In-Reply-To: <01000179c7c6cbb2-c8799849-e799-4126-81d2-d5384d2b1251-000000@email.amazonses.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 01 Jun 2021 10:15:26 -0700
Message-ID: <CABCOCHTzd+=yOABjuwQsKL4Riuv2R19F4NsG_fCZfoMS4padfA@mail.gmail.com>
To: Kent Watsen <kent+ietf@watsen.net>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000098f8b405c3b77d73"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zkLo3WVKXJY4ylB54CEOkgpBbN8>
Subject: Re: [netconf] [Last-Call] Yangdoctors last call review of draft-ietf-netconf-tls-client-server-24
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Jun 2021 17:15:45 -0000

On Tue, Jun 1, 2021 at 6:32 AM Kent Watsen <kent+ietf@watsen.net> wrote:

> Hi Andy,
>
>
> > 2)  mandatory choice of only optional-to-implement cases
>> >
>> > The choice /ietf-tls-client:client-identity/auth-type
>> > is mandatory but all cases have if-feature-stmts.
>> > Does draft mention 1 of the 4 features MUST be implemented?
>>
>>
>>
>> The same construct is present in the ietf-tls-server module as
>> well...I’ll apply the agreed upon solution to both.  Would the following
>> update suffice?
>>
>> OLD:
>>
>>       choice auth-type {
>>         mandatory true;
>>         description
>>           "A choice amongst authentication types.”;
>>
>> NEW:
>>
>>       choice auth-type {
>>         mandatory true;
>>         description
>>           "A choice amongst authentication types, of which one must
>>            be enabled (via its associated 'feature') and selected.”;
>>
>>
>>
>
> Related issue:
>
> What is a server supposed to do if it is implementing a module with
> a configuration that has a mandatory choice but no enabled or defined
> cases?
>
> A) add a deviation to remove the mandatory-stmt
> B) always return a data-missing error and block the edit or commit
> C) ignore the error and treat it as a NO-OP
> D) something else?
>
>
> My server doesn’t detect the logical fallacy at startup but, of course,
> will fail any configuration attempt due to a validation error.
>
> The assumption is that implementations will choose which features to
> support in the course of development.
>
> From the perspective of a toolkit like YumaPro, where end-users
> selectively enable features themselves, the two choices I see are: 1) no
> special logic, as they’ll discover the validation error soon enough or, 2)
> add special logic to catch the logical fallacy and fail startup until
> resolved.
>
>
I see your point.
A developer should never ship a server that would have this issue.

YANG developers need to be careful about defining choice-stmts with no
enabled case-stmts.
This is a fairly common practice (e.g. relying on augment from another
module to provide the case-stmts).
>From the client developer POV, it is bad to assume the augmenting module(s)
will be present.
(This is a use-case for YANG packages I guess).


> Andy
>
>
Andy


>
> K.
>
>
>
>