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

denis bider <denisbider.ietf@gmail.com> Fri, 28 July 2017 06:53 UTC

Return-Path: <denisbider.ietf@gmail.com>
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 E88B61296C9; Thu, 27 Jul 2017 23:53:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 zqFUWeUwk-2e; Thu, 27 Jul 2017 23:52:58 -0700 (PDT)
Received: from mail-yw0-x236.google.com (mail-yw0-x236.google.com [IPv6:2607:f8b0:4002:c05::236]) (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 4651B126DCA; Thu, 27 Jul 2017 23:52:58 -0700 (PDT)
Received: by mail-yw0-x236.google.com with SMTP id l82so60641831ywc.2; Thu, 27 Jul 2017 23:52:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UNpe3sfb4eHaFiGzO/beeSLE5H0XMVlRgkU4j5UDMDQ=; b=Jpxp19cW3Wa+/92dqagKAzRQO2ybpV7KyQk3DuonqUwPkxObRM7Am5Mo8iFX9WAj+l hQhc5m6lthyl2l8RVuwXvNV/6r5IR+5QcTVWPpHg7brRjNf0FVby6KRzBG4zvpBop0Nz GomVITUTzrgzSX+N4u0KDsruH7IH5M2OV1/qQZUIUAExpWnObuA1t0zj+1PWTlwkH8d/ Zf88Pfg/GD6pinz8M6AH81nutEAe/6QkJ3klcLB0Ot2iLBFJ+GjugZHZ6qr4vBOw2JiT cCYAxNgbh7uFASoWKKMCsi1HtrGwd1NjRv7RFfI43ssrSA9KAQRoStEWhY5sLylcanvt 7Ieg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UNpe3sfb4eHaFiGzO/beeSLE5H0XMVlRgkU4j5UDMDQ=; b=isFQJgyEjs+/8PBrll/z0xgrWkmV0CNCLwX2LBZsIINWdP6FPyzxkQy1PbeN9FUyTL T8KvKlXdQuYN17gj2vIgzhUNrR04GFz32OTSYlR7Tl7jmtEgcyPgi1sxKFmf+4Zr6LgA knQ8OaOpEGmSyOeOuJ01Qpl/Xx2ivDq4lNJZ7BkZt1KCzOdD9tt3gfWOoPqAELLQAR5c 8OlkGKr0uUSx4VgRe4GJTNpsZn4ecQf+yYkJRwbeU5sVNeesFEuUVWK4m4FcUDmDrm7s nOy7pcf18TpRvukKkTq0tVL5s7hPlK9CbEZBc/eYoLYdA2FpaJyxU8DTuB7qr62PEbhv kjnQ==
X-Gm-Message-State: AIVw113sNMel8bI1Z9to6cDIrvC5EQ0moD/z/c4vXm10dML+G4BGFPDJ c2sRa2uLeyesSEmANgPyJgfq1k4JWZXs
X-Received: by 10.129.154.16 with SMTP id r16mr5487871ywg.282.1501224777586; Thu, 27 Jul 2017 23:52:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.42.200 with HTTP; Thu, 27 Jul 2017 23:52:57 -0700 (PDT)
In-Reply-To: <CADPMZDDjQoHc9yoYb7sSTa2r7e71DSMdqQ7OEH7neWU0ygKzNw@mail.gmail.com>
References: <150093015937.32021.12465797358778837950@ietfa.amsl.com> <CADPMZDCE+m+_QA7s6vdFOw-7uF4cfV4g8_U07fb-Ydur30OR5g@mail.gmail.com> <1eef6165-9b5b-c354-dffe-5df1e98098fa@outer-planes.net> <CADPMZDDjQoHc9yoYb7sSTa2r7e71DSMdqQ7OEH7neWU0ygKzNw@mail.gmail.com>
From: denis bider <denisbider.ietf@gmail.com>
Date: Fri, 28 Jul 2017 00:52:57 -0600
Message-ID: <CADPMZDC7=BzfohUCmYbQR8LzqY8GauDeGrtJOo97M00attP8Ag@mail.gmail.com>
To: "Matthew A. Miller" <linuxwolf+ietf@outer-planes.net>
Cc: gen-art@ietf.org, curdle <curdle@ietf.org>, ietf@ietf.org, draft-ietf-curdle-ssh-ext-info.all@ietf.org
Content-Type: multipart/alternative; boundary="94eb2c0b8698989d6605555b21e8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/Hil5ZJ_pN9fpOHXce6dzxtFZkKA>
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: Fri, 28 Jul 2017 06:53:01 -0000

OK, I have uploaded version -11 with language as follows:

"An extension MAY dictate, where it is specified, that in order to take
effect, both parties must include it in their EXT_INFO; or it MAY be
sufficient that only one party includes it; or other rules MAY be
specified. The relative order in which extensions appear in an EXT_INFO
message MUST be ignored by default; but an extension MAY specify that the
order matters for that extension, in a specific way."

This seems clearer to me than it was in -10. If you still see room for
improvement, let me know!


On Wed, Jul 26, 2017 at 9:09 PM, denis bider <denisbider.ietf@gmail.com>
wrote:

> Hello Matthew,
>
> I'm not sure if I know how to address this better than with the language
> so far proposed.
>
> Perhaps one choice would be to simply remove this paragraph. However, the
> reason it was added was because an earlier reviewer (I'm not sure of the
> details at this time) raised the question about whether extension
> negotiation works like it does for algorithm lists, such as in e.g.
> SSH_MSG_KEXINIT. In that case, multiple algorithms are enumerated by both
> sides, and only one is chosen that (1) is enumerated by both sides, and (2)
> is the first of those to be enumerated by the client. The main purpose of
> this paragraph has been to clarify that extension negotiation does not work
> that way in EXT_INFO.
>
> What language would you propose? Is there some simple language that would
> do? How about this?
>
> "An extension may dictate, where it is specified, that in order to take
> effect, both parties must include it in its EXT_INFO; or it may be
> sufficient that only one party does; or more complex rules may be
> specified."
>
>
> On Wed, Jul 26, 2017 at 1:28 PM, Matthew A. Miller <
> linuxwolf+ietf@outer-planes.net> wrote:
>
>> 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>
>> >
>> >
>>
>>
>