Re: [Cellar] Genart last call review of draft-ietf-cellar-matroska-15

Steve Lhomme <slhomme@matroska.org> Sat, 21 October 2023 10:03 UTC

Return-Path: <slhomme@matroska.org>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C2430C15155F for <cellar@ietfa.amsl.com>; Sat, 21 Oct 2023 03:03:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=matroska-org.20230601.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tIoghUIcWFGI for <cellar@ietfa.amsl.com>; Sat, 21 Oct 2023 03:03:10 -0700 (PDT)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5121AC151983 for <cellar@ietf.org>; Sat, 21 Oct 2023 03:03:09 -0700 (PDT)
Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2c50906f941so24117931fa.2 for <cellar@ietf.org>; Sat, 21 Oct 2023 03:03:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=matroska-org.20230601.gappssmtp.com; s=20230601; t=1697882587; x=1698487387; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=k3lHYcL6f+PsvOkgTaIx/65k3jOBPb5Dcb5OyvnhmW8=; b=YUHjxarhgATF+uU8Xp0GfxdFrFSlkOCOblGPd7sv5O+29PD9aT1Bj3W4GfBHxZijrX 3jdG5DJ05qK2Iq3XVnFEPitNvlU8MKRdEs2BHt9TtnE9isqibfKjAOn98f+Z+LvFtAuT 1jH0LD5W36wfVC0tARwcGGpfJwSRNaAq/jykbuU4CGqbu1KyM0UJ+bgzc43yZFm8jY6z ZBvVQa4uLMra6fNpnZAYV50MvVjQiG0Yt39E1dDAapp/PVhisgVc1envEJg7l8G+FU2w HnfrMtF/XGIezzG6kMakE4z4GMNYRUnUPbDXdBcyrp8x6JU+WRDWvVyBMeUul8CdmCJ+ XXaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697882587; x=1698487387; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=k3lHYcL6f+PsvOkgTaIx/65k3jOBPb5Dcb5OyvnhmW8=; b=qFmBE2uGgOLj4aROFr2A7QH9KU09Skgu2x4k0HP2FRv813JU0R5LVUMwTIh+2ZZcA/ QyvqWH/6pVlXzrIzdUGBeoVaRIbih5j4iqQH61kz6Kolc5Gj6ieKC0f6ZmM1BT9oSsTS smFvsoNTQndSKK4khUgBatJI1+LBagT6s3/nb0qHxS0+MzN4TxBGuaxjxQwf+dhfkISW vjgMdFobZdL8j6dJA8HHyJzaseeVnta/VqmfibfhrRoPJ+8SJZQVG324/Xbvf+f10CcV a2Xbvxb2Em0pPZVbEG7upprNLaB1u9Tona/Ah7T57RLVVqcGBgKKFdP7tl6X1GW9AFyo cw7Q==
X-Gm-Message-State: AOJu0Yzc2gaeVuiWAFkVLipHDmfl694bkOmCvnYz5pvPkKbYuhtVQBYA wVgm9qIC+5NNO8///E7G7+7elA==
X-Google-Smtp-Source: AGHT+IFzg3DjGv6ClQUdeAQbiExJSE8qRaevRLCAxXNsyxvAks0pMpSrKR8vOSsCUahppVdQKfAldg==
X-Received: by 2002:a2e:9f54:0:b0:2c5:8a0:b502 with SMTP id v20-20020a2e9f54000000b002c508a0b502mr2814781ljk.48.1697882586930; Sat, 21 Oct 2023 03:03:06 -0700 (PDT)
Received: from smtpclient.apple (2a01cb0c0020e900accc9441bcaae9aa.ipv6.abo.wanadoo.fr. [2a01:cb0c:20:e900:accc:9441:bcaa:e9aa]) by smtp.gmail.com with ESMTPSA id v19-20020a05600c471300b00405959bbf4fsm4219477wmo.19.2023.10.21.03.03.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 21 Oct 2023 03:03:06 -0700 (PDT)
From: Steve Lhomme <slhomme@matroska.org>
Message-Id: <1BFCEB51-AA5B-43AE-AE94-931A122F1C49@matroska.org>
Content-Type: multipart/alternative; boundary="Apple-Mail=_F0C48972-3A0C-49B8-B98A-54A4A5BAD976"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
Date: Sat, 21 Oct 2023 12:02:55 +0200
In-Reply-To: <21617140-D95D-4008-AA99-C3638363D2E6@matroska.org>
Cc: gen-art@ietf.org, cellar@ietf.org, draft-ietf-cellar-matroska.all@ietf.org, last-call@ietf.org
To: Elwyn Davies <elwynd@dial.pipex.com>
References: <167780246094.46963.4672549410769570417@ietfa.amsl.com> <21617140-D95D-4008-AA99-C3638363D2E6@matroska.org>
X-Mailer: Apple Mail (2.3774.100.2.1.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/M55o9-oO2aet6x0CmTIq1xwyX2k>
Subject: Re: [Cellar] Genart last call review of draft-ietf-cellar-matroska-15
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 21 Oct 2023 10:03:16 -0000

Hi all and especially Elwyn,

Most of the issues addressed here have been fixed in https://github.com/ietf-wg-cellar/matroska-specification/pull/735 and https://github.com/ietf-wg-cellar/matroska-specification/pull/736

And I added a renaming for “old parsers” in https://github.com/ietf-wg-cellar/matroska-specification/pull/809
And a clarification on the element attributes that are not written because they use their default/implied value: https://github.com/ietf-wg-cellar/matroska-specification/pull/810


> On 5 Mar 2023, at 15:15, Steve Lhomme <slhomme@matroska.org> wrote:
> 
> Hello,
> 
> First of all thanks for taking the time to read this lengthy document in detail :)
> 
>> On 3 Mar 2023, at 01:14, Elwyn Davies via Datatracker <noreply@ietf.org> wrote:
>> 
>> Reviewer: Elwyn Davies
>> Review result: Almost Ready
>> 
>> 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>.
>> 
>> Document: draft-ietf-cellar-matroska-15
>> Reviewer: Elwyn Davies
>> Review Date: 2023-03-02
>> IETF LC End Date: 2023-02-28
>> IESG Telechat date: Not scheduled for a telechat
>> 
>> Summary:  Almost ready.  Thre is a good deal of discussion of earlir versions
>> of the structure and associated parsers together dicussion of future proofing
>> and potential future versions of the structure and associated parsers.  I am
>> concerned that it is not possible to automatically know which components are
>> associated with a given version.  At the least, this would assist implementers
>> to ensure that their parsers are working on the right ietms and ignoring
>> irrelevant items.
>> 
>> Major issues:
>> 
>> Versions of Matroska:  According to Section 2, this document covers versions 1,
>> 2, 3 and 4 of Matroska. The implication is that not all elements were defined
>> in lower numbered versions but that older parsers should potentially be able to
>> handle later versions of the format.  I am unclear about this but I have a
>> suspiscion that implementers and extenders of the format need to know which
>> elements existed in which versions and may need to understand whether they can
>> modify these elements in future versions.  At present there is no indication
>> which elements are defined in earlier versions and are therefore potentially
>> not updateable.
> 
> It is not written but it should be written in the specs. All elements have a “minver” value which is the minimum Matroska version they can be found in. But default the minver value 1 and not written in the document to minimise the length and make things more readable. Only elements with a higher minver value are specified as such. For example le SimpleBlock
> https://www.ietf.org/archive/id/draft-ietf-cellar-matroska-15.html#section-5.1.3.4
> 
> 
> This is using the minver attribute defined in RFC 8794, which has this definition:
> The minver attribute is OPTIONAL. If the minver attribute is not present, then the EBML Element has a minimum version of "1".
> 
> https://www.rfc-editor.org/rfc/rfc8794.html#name-minver
> 
> 
> The format is 20 years old and has a lot of widely used implementations. The core of Matroska and EBML is that it’s a binary format that can be extended, and has been in the past. This feature is more a EBML thing than a Matroska thing. And in the security considerations we did include the fact that readers must be prepared to handle elements they don’t know about:
> 
> Element IDs that are unknown to the EBML Reader MAY be accepted as valid EBML IDs in order to skip such elements.
> 
> https://www.rfc-editor.org/rfc/rfc8794.html#name-security-considerations
> 
>> Minor issues:
>> 
>> General: I am concerned about the long term stability of the web site
>> referenced for the Matroska Container Format, reference [MCF].  Among other
>> issues it is not accessed via https and it claims that it is the one true
>> specification which is rather confusing when it is being written into a
>> standards track RFC.
>> 
> 
> I lost the password to that page a long time ago but it has not moved since. I expect it to still be available for a long time as long a French ISP free.fr <http://free.fr/> is still running. Unfortunately I don’t think it will support HTTPS (custom sub domains for thousands of free hosting is probably not worth for the ISP).
> 
>> s1: What is meant by the term 'old parsers'?  Is this just claiming that
>> parsers for possible future formats will be always capable of parsing old
>> versions of the format?
> 
> Old parser = existing unmodified code (and the same for code from 15 to 20 years ago). This code should have been designed to handle any addition to the format. It may not have always been the case. For example a lot of parser don’t really support the Unknown-Size feature of EBML, but we have been constantly adding new elements without having to worry about breaking old code.
> 
>> 
>> Nits and Editorial Comments
>> 
>> Abstract and s1: I wonder if 'Matroska audiovisual data container structure'
>> might be a clearer reflection of what is being described?
>> 
> Yes, fixed by https://github.com/ietf-wg-cellar/matroska-specification/pull/735
> 
>> s1: It might be more helpful if the MCF reference pointed to the descriptive
>> introductory page of the web site (http://mukoli.free.fr/mcf/).
> 
> Indeed.
> 
>> s1, para 1: s/differentiates from it/diverges from it/
>> 
> OK
> 
>> s1, para 1: s/enables/provides/
> 
> OK
> 
>> s1, 2nd bullet: s/for which/in which/
> 
> OK
> 
>> s1, para after 2nd bullet: s/features like/features such as/
> 
> OK
> 
>> s4.3: I suspect that the use and format of Hexadecimal Floating-Point Constants
>> is not sufficiently generally understood to not require explanation in an RFC. 
>> I suggest duplicating the reference to [ISO9899] used in Section 11.1.18 of RFC
>> 8794 would be desirable.
> 
> I agree. I added a reference to ISO9899 in the text.
> 
>> 
>> s5: A reference to Section 11 of [RFC8794] referring to the structure of
>> element definitions would be useful.
> 
> OK, I’m adding a text link to section 11.1 which is the one that defines the actual EBML Schema elements and attributes.
> 
>> 
>> s5.1: The details of the elements in this section are outside my competence and
>> I haven't looked at them with any exactitude.  Nothing jumped out at me.
>> 
>> s6.1, para 2: I was unable to parse the second sentence: "In that case the
>> Segment containing in these Chapters do no required a Track Element or
>> a Cluster Element."
> 
> Rephrased to
> A Segment containing these linked Chapters does not require a Track Element or a Cluster Element.
> 
>> s20.5.2: s/contain/contains/
> 
> OK
> 
>> s23.3.3, para 1: s/want to seek/wants to seek/; s/to have these/to access these/
> 
> I used a plural for “players” as “they” was used later in the sentence.
> 
>> s27.1: Should an Element ID registry entry contain the Matroska version at
>> which it was introduced?
> 
> I would say no. The registry is mostly used to avoid collision. The optional link to the description should give enough information to use the element. If this is not the case, people will just not use this element and skip it when it’s found.
> 
>> s28, para 2: s/if there is no more/if there are no more/
> 
> OK.
> 
> You can find of the changes in this Pull Request https://github.com/ietf-wg-cellar/matroska-specification/pull/736
> 
> Thanks again for your help.
> 
> Steve
> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Cellar mailing list
>> Cellar@ietf.org <mailto:Cellar@ietf.org>
>> https://www.ietf.org/mailman/listinfo/cellar