Re: [Curdle] Genart last call review of draft-ietf-curdle-ssh-ext-info-10

"Matthew A. Miller" <linuxwolf+ietf@outer-planes.net> Wed, 26 July 2017 19:28 UTC

Return-Path: <linuxwolf+ietf@outer-planes.net>
X-Original-To: curdle@ietfa.amsl.com
Delivered-To: curdle@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 367EB12EC13 for <curdle@ietfa.amsl.com>; Wed, 26 Jul 2017 12:28:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=outer-planes-net.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 6gb7Vd7FkBwi for <curdle@ietfa.amsl.com>; Wed, 26 Jul 2017 12:28:16 -0700 (PDT)
Received: from mail-it0-x22d.google.com (mail-it0-x22d.google.com [IPv6:2607:f8b0:4001:c0b::22d]) (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 9604513167B for <curdle@ietf.org>; Wed, 26 Jul 2017 12:28:15 -0700 (PDT)
Received: by mail-it0-x22d.google.com with SMTP id h199so72288907ith.1 for <curdle@ietf.org>; Wed, 26 Jul 2017 12:28:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outer-planes-net.20150623.gappssmtp.com; s=20150623; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to; bh=Y67tEcVfovZOllt8gfOO4/0HMNygfcK22XRnyViv8js=; b=sl66Uk9k1vcPN8ih5xP+TdKHHYJQsu29nxRrvBUQb3JUMUCYvW6Vmsc2GL+Y9rh4KL xb+nYNZPqr87zXKUhWT6V0HMmOhjREF1R4gkR8yJqSVxWdwZwCtDfSeyXk3uX5JTm/ui 7WJCcHIPWmufkNP7sgaK4X6BJKHeovebfEk4R42exK8PajfWahd/oCFBo5+a1rgxiy89 zQZVlkpij+59nDoYmg+Z5LQtLjfrX3d4XMnhk+K9g3utyQo7En++o0ubfE1D4o6/Nwv1 P+m2D12Aw0h8svQodlAhpYsjH0SoIYxhrCS19KhWzDT27ynas1VlO+nUvu71FRoAt0Bt /DDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to; bh=Y67tEcVfovZOllt8gfOO4/0HMNygfcK22XRnyViv8js=; b=mMuhUVP6SbdnmmUfNq4uZdYoZYrmsM6rYj4qnoRUQM8QFBPmf1SHxPLPYVWg9lKFpo RTOg/PZLelROmJnHfREonipSPNaZSqY2D/hUaBjsUzQd2oJa9OcKtt6VWSZoBGgNfjcp ydleYGnVbNzOAGrBoycqEEQnl0OLTV+VVMKkE0DNsQ6ykUcD24k0Ir2D/gRPrf4dN37n amKfs0SKsHWS/ZxLXeaQNjackf3341yGASbN+AFnOdO8VDDA9MRXDFqfNn9i6QF5770Y QY/IElKy2P2U8J2FtegvFYWz3iAPnc7HePR7W+5zkWtSOd88BTGxlqDh9iiUOH3G6Le+ ftFw==
X-Gm-Message-State: AIVw112cWQK2xPQ2frK6Ys2c1HPz9xPCercB0sw2uSXQuIUWDG7YqKMP FCpblNmqlyHjMnWp
X-Received: by 10.36.196.67 with SMTP id v64mr2232518itf.89.1501097294870; Wed, 26 Jul 2017 12:28:14 -0700 (PDT)
Received: from [192.168.29.239] (c-73-217-32-196.hsd1.co.comcast.net. [73.217.32.196]) by smtp.gmail.com with ESMTPSA id 202sm327960itx.24.2017.07.26.12.28.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Jul 2017 12:28:14 -0700 (PDT)
Sender: Matthew Miller <linuxwolf@outer-planes.net>
To: denis bider <denisbider.ietf@gmail.com>
Cc: gen-art@ietf.org, curdle <curdle@ietf.org>, ietf@ietf.org, draft-ietf-curdle-ssh-ext-info.all@ietf.org
References: <150093015937.32021.12465797358778837950@ietfa.amsl.com> <CADPMZDCE+m+_QA7s6vdFOw-7uF4cfV4g8_U07fb-Ydur30OR5g@mail.gmail.com>
From: "Matthew A. Miller" <linuxwolf+ietf@outer-planes.net>
Message-ID: <1eef6165-9b5b-c354-dffe-5df1e98098fa@outer-planes.net>
Date: Wed, 26 Jul 2017 13:28:12 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Thunderbird/55.0
MIME-Version: 1.0
In-Reply-To: <CADPMZDCE+m+_QA7s6vdFOw-7uF4cfV4g8_U07fb-Ydur30OR5g@mail.gmail.com>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="8Gn9vxRJp6ejRsiLo3n6QEq1slDGSLWpi"
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/GDPCqdEMVmd74JmfihXSFGLDybg>
Subject: Re: [Curdle] Genart last call review of draft-ietf-curdle-ssh-ext-info-10
X-BeenThere: curdle@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "List for discussion of potential new security area wg." <curdle.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/curdle>, <mailto:curdle-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/curdle/>
List-Post: <mailto:curdle@ietf.org>
List-Help: <mailto:curdle-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/curdle>, <mailto:curdle-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Jul 2017 19:28:19 -0000

Thanks very much for the response, Denis.

I think I understand the intent here, but I'm not sure this new text is
enough to mitigate some future conflict.  I'm also concerned that it
completely ignores the one-party extensions (e.g., an extension included
in the EXT_INFO by only the client or the server, but not both), and
what the impact is holistically.  Looking at the one-party extensions
defined herein, I can't see how their order matters; but does that mean
the order will never matter?

In writing this reply, I wondered if it's better for the order to always
be irrelevant; an implementation might be allowed to hint its preferred
order in the EXT_INFO, but implementations are still free to do whatever
makes sense to them within the bounds of the relevant extension
definitions.  If an extension ought to take precedence over another,
make it clear in its specification that it SHOULD (or MUST) be dealt
with before (or after) others.

Does that make sense?


- m&m

Matthew A. Miller

On 17/07/25 16:24, denis bider wrote:
> Good catch. I believe this refers to the following paragraph:
> 
> "If an extension requires both the client and the server to include it
> in order for the extension to take effect, the relative position of the
> extension-name in each EXT_INFO message is irrelevant."
> 
> I have drafted the following new wording:
> 
> "Unless a particular extension's specification indicates differently;
> then, if an extension requires both the client and the server to include
> it in order for the extension to take effect; implementers MUST use a
> default assumption that the relative position of the extension-name in
> each EXT_INFO message is irrelevant with respect to whether the
> extension takes effect."
> 
> The purpose of this wording is to:
> 
> - Provide a sensible default, which is that in the absence of specific
> knowledge, order of extension names does not matter.
> 
> - Allow for deviations in special cases where there is specific knowledge.
> 
> For example, extension "foo-linux" could be specified, but after some
> years of use, it's observed that it works well for its main purpose, but
> is not ideal for a server on Windows. Therefore, extension "foo-windows"
> is specified, which works well when the server is Windows, but not as
> well when it's Linux.
> 
> In this case, an implementation that supports "foo-linux" only would be
> ignorant of anything else, and would use the default rule (order of
> extension names does not matter). However, an implementation that
> supports "foo-windows" could implement only that, or both "foo-linux"
> and "foo-windows". The specification for "foo-windows" could indicate
> that when both are supported, the first one listed by the server (or in
> other cases, by the client) is used.
> 
> Allowing for such an extension-defined special case would allow a Linux
> server to advertise extensions [... "foo-linux", ..., "foo-windows",
> ...], preferring "foo-linux", but supporting the less appropriate
> "foo-windows" mechanism as well. Whereas, a Windows server could
> advertise [... "foo-windows", ..., "foo-linux", ...], preferring
> "foo-windows", but supporting the less appropriate "foo-linux" mechanism
> as well.
> 
> Does this work?
> 
> If there are no objections, I'll upload a -11 draft version with this
> new wording.
> 
> 
> 
> On Mon, Jul 24, 2017 at 3:02 PM, Matthew Miller
> <linuxwolf+ietf@outer-planes.net
> <mailto:linuxwolf+ietf@outer-planes.net>> wrote:
> 
>     Reviewer: Matthew Miller
>     Review result: Ready with Issues
> 
>     I am the assigned Gen-ART reviewer for this draft. The General Area
>     Review Team (Gen-ART) reviews all IETF documents being processed
>     by the IESG for the IETF Chair.  Please treat these comments just
>     like any other last call comments.
> 
>     For more information, please see the FAQ at
> 
>     <https://trac.ietf.org/trac/gen/wiki/GenArtfaq
>     <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>>.
> 
>     Document: draft-ietf-curdle-ssh-ext-info-10
>     Reviewer: Matthew Miller
>     Review Date: 2017-07-24
>     IETF LC End Date: 2017-07-30
>     IESG Telechat date: N/A
> 
>     Summary:
> 
>     This document is ready with an issue.
> 
>     I found this document very coherent and easy to follow.
> 
>     Major issues:
> 
>     Minor issues:
> 
>     My only issue borders on nit, but sided with nit as I can see it
>     potentially causing confusion for an implementer in the future.
> 
>     Section 2.5. "Interpretation of Extension Names and Values" explicitly
>     states in the second paragraph a condition where the relative order of
>     extension-names in an EXT_INFO message is irrelevant.  However, the rest
>     of the section seems to imply to me that relative order is not
>     important;
>     so to explicitly call out a scenario seems to imply that relative order
>     *is* relevant/important, sometimes.  If relative order is expected to be
>     important most of the time, I think it helpful to explicitly state that
>     and give a rationale for it.
> 
>     Nits/editorial comments:
> 
>     * RFC 5226 is referenced by this document, but is obsoleted by RFC 8126.
> 
> 
>     _______________________________________________
>     Curdle mailing list
>     Curdle@ietf.org <mailto:Curdle@ietf.org>
>     https://www.ietf.org/mailman/listinfo/curdle
>     <https://www.ietf.org/mailman/listinfo/curdle>
> 
>