Re: [rtcweb] Ben Campbell's Yes on draft-ietf-rtcweb-jsep-24: (with COMMENT)

Eric Rescorla <ekr@rtfm.com> Wed, 03 January 2018 00:36 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 35AFF1200F3 for <rtcweb@ietfa.amsl.com>; Tue, 2 Jan 2018 16:36:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 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_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-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 8bPA0twfwpWo for <rtcweb@ietfa.amsl.com>; Tue, 2 Jan 2018 16:36:47 -0800 (PST)
Received: from mail-yb0-x22a.google.com (mail-yb0-x22a.google.com [IPv6:2607:f8b0:4002:c09::22a]) (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 590CB1271DF for <rtcweb@ietf.org>; Tue, 2 Jan 2018 16:36:45 -0800 (PST)
Received: by mail-yb0-x22a.google.com with SMTP id a82so54627ybg.1 for <rtcweb@ietf.org>; Tue, 02 Jan 2018 16:36:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4pIIko8g+MRHvQX9HVLKjZwqMTLHyXx71KIxBbubdOc=; b=g4cshB2SFZ3NCstk87THz9YTQ2XZSwY3pYdpTkLjyv0+L6eV7Tqp+SE11B+kVb4nGC F3yhodRgrHsRT80jB1WqMtI8HU+zEokWs5Y1Mr0+YJS6hTBVVsnBP9Ew+JvLOXeKyGRT k536XnNfstCrcvV5M/Gw4OrSaZaRw0XJAR/4VKsPK/duu/6JBsz94q9ByMSu+JdqBkpm TV3IEf+dpMW+uhtl/paIAl8BdCuvQnR4TquUkVDMvyJ23Ksm7maLzJP565qsroLPiX4q 7Jp7xpkHP8nZxANQExaxKJ+RQRUd0qcD2r4MTJqzaeUDpA0HmofwG9W22s9RxXwwWUlN osRg==
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=4pIIko8g+MRHvQX9HVLKjZwqMTLHyXx71KIxBbubdOc=; b=g7Tsp2ynSWe4kuRiuiUVu4NWK2Z3RbTwzp3ApyETNOf0EsHh7GgGswjD4+KOugcL0S TFIUdl4j+HzEIJp+hZfekppe55jV2l5UE5sVOnKcP0tvprEfEtpPoeVcLRIc7bOZv1Yt KSgMuii2ZSwrZUErh1RIspDV4Vd+/JrI5hrnaugOyMpzlpPvsDLsGBnb4UD99dTegt8x jm42N0VK/qoB/5Bg1KtBdKM5UF1/zS4PY96q+CJ8zUDEHABE7eq1XhLTzrX/goKUw5Qz gtiB4Q/XkPV30elZLHAkq6TLvZeAP8JFbIgg83e0vEOvtGcQdF2dx2pBU7M/9c1GBEXy KSOw==
X-Gm-Message-State: AKGB3mILTyyy3hzgR2KJ96lIhPGoGxSNIXaczoqWfdYUVKj27EcJLrgS Jh4Pl94pQfVKpo/NYLiv4CpL+dfcRpPMogecoky/HuAw
X-Google-Smtp-Source: ACJfBosLMhOlrmV3zWEL05pfYhEfU2xLttKK3VbeIzqCzv3nOLjGFSv632eQV84pdRbwpc5Dc7P1RTx/rWbCKUAQ6BQ=
X-Received: by 10.37.224.4 with SMTP id x4mr36619748ybg.200.1514939804362; Tue, 02 Jan 2018 16:36:44 -0800 (PST)
MIME-Version: 1.0
Received: by 10.129.123.132 with HTTP; Tue, 2 Jan 2018 16:36:03 -0800 (PST)
In-Reply-To: <B694E843-D649-416E-BFC8-395A40DE9454@nostrum.com>
References: <151305054509.20498.9053592362460423618.idtracker@ietfa.amsl.com> <CAOJ7v-2O9PUWSJR6Syy-xXwUxmZCefNi+gxBp=Zs0_YYpgNJGw@mail.gmail.com> <18FD1FCB-84D3-484A-81A4-FAB9A1A8A412@nostrum.com> <CABcZeBP8g-5BYZr1fMP4pXaV4UroUXnS2nYb29CrmesKzifb8w@mail.gmail.com> <B694E843-D649-416E-BFC8-395A40DE9454@nostrum.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 02 Jan 2018 16:36:03 -0800
Message-ID: <CABcZeBM0MXJ+viUCLn2-cM3o2aYWEc2fLFaC3ua4v8wWa1hGEg@mail.gmail.com>
To: Ben Campbell <ben@nostrum.com>
Cc: Justin Uberti <juberti@google.com>, The IESG <iesg@ietf.org>, draft-ietf-rtcweb-jsep@ietf.org, RTCWeb IETF <rtcweb@ietf.org>, rtcweb-chairs@ietf.org
Content-Type: multipart/alternative; boundary="94eb2c084a94e53f690561d46822"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/X6S_ASchca4EvA8uOvigR1IhSok>
Subject: Re: [rtcweb] Ben Campbell's Yes on draft-ietf-rtcweb-jsep-24: (with COMMENT)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Jan 2018 00:36:49 -0000

Just for maximum clarity: given that these comments are non-blocking, my
intent is to leave the document as-is, subject to strong opinions by my
co-authors.

On Tue, Jan 2, 2018 at 4:29 PM, Ben Campbell <ben@nostrum.com> wrote:

>
> […]
>
> > >
> >> >> -5, throughout: There are a number of normative keywords used in
> constructions
> >> >> like "... MUST foo, as described in RFCXXX". That construction is
> ambiguous
> >> >> about whether it defines a normative requirement to do something,
> and the doing
> >> >> of that something is described in the RFC, or if describes the
> referenced RFC
> >> >> as defining the MUST.
> >> >>
> >> >> In general, it's best to avoid using 2119/8174 keywords to talk
> about external
> >> >> requirements, except as a direct quote. I think this is especially
> true here
> >> >> given the interdependencies between drafts in cluster 238. If in the
> future we
> >> >> update a dependency to change a normative requirement, we risk
> creating
> >> >> conflicts, and we make it unclear which text is authoritative.
> >> >>
> >> > Generally, this is pointing the reader at a particular normative
> section,
> >> >    and saying that yeah, you MUST follow that section as written.
> Perhaps
> >> >    the use of 2119 language here isn't ideal, but I don't see this as
> >> >    confusing. Do you have a suggestion about how this should be
> handled instead?
> >>
> >> It’s a technicality, but it can create confusion about which text is
> authoritative. That’s not an issue as long as both are in agreement, but
> future updates to either this or that spec can easily mess up that
> agreement.
> >>
> >> My personal preference is to reserve 2119/8174 keywords for the text
> that is authoritative for the requirement, and to have other text that
> refers to that requirement do it descriptively. For example, “RFC XXXX
> mandates foo”.
> >>
> > I guess this is a matter of opinion.
> > I think that it's useful to list the rules here using
> > 2119 language. I think the text makes clear that in this construction
> it's the
> > RFC that we are pointing to that's authoritative.
> >
>
> Well, yes, I stated my opinion. To further clarify that opinion: Having a
> given MUST/SHOULD/etc in more than one place makes updates error prone. If
> we update the language in dependency in the future, we may also need to
> update this draft. People updating the dependency may not even be aware of
> this draft. And yes, I realize this concern is highly dependent on the
> “what does it mean to update an RFC” philosophical discussion that never
> seems to resolve.
>
> In any case, it’s not a blocking comment; people are free to ignore it.
>
> >> >
> >> >> -5.8.3: The MUSTs in this section seem to be putting requirements on
> the SDP
> >> >> being parsed. Shouldn't they instead describe the parser's behavior
> based on
> >> >> that SDP input? The correctness of the SDP being parsed seems beyond
> the
> >> >> control of the implementation.
> >> >>
> >> > Yes, the correctness of the SDP is beyond the control of the impl,
> but,
> >> > the handling of broken SDP is spelled out in the beginning of this
> section:
> >> >
> >> >         If any line is not well-formed, or cannot be parsed as
> >> >         described, the parser MUST stop with an error and reject the
> >> >         session description, even if the value is to be discarded.
> This
> >> >         ensures that implementations do not accidentally misinterpret
> >> >         ambiguous SDP.
> >> >
> >> > Saying that a specific line MUST have X and Y is then a shorthand for
> >> > repeatedly saying that if the line cannot be parsed properly, the
> impl MUST
> >> > stop with an error.
> >>
> >> Again, I don’t think the use of 2119/8174 keywords for things beyond
> the control of the implementation fits the sense of those documents. I
> suggest either stating these without 2119/8174 keywords, or adding
> something to the boilerplate to the effect of “When used in to describe
> requirements for SDP inputs, these terms indicate requirements for that SDP
> to be considered well-formed”.
> >>
> > I'm comfortable with the current language….
>
> Again, non-blocking comment….
>
> Ben.
>