Re: [MMUSIC] Finding a max length of "a=mid" attribute

Justin Uberti <juberti@google.com> Thu, 04 March 2021 21:26 UTC

Return-Path: <juberti@google.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD3333A16F6 for <mmusic@ietfa.amsl.com>; Thu, 4 Mar 2021 13:26:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 eqwLkmgevOX2 for <mmusic@ietfa.amsl.com>; Thu, 4 Mar 2021 13:26:43 -0800 (PST)
Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com [IPv6:2607:f8b0:4864:20::b2e]) (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 818633A16F5 for <mmusic@ietf.org>; Thu, 4 Mar 2021 13:26:43 -0800 (PST)
Received: by mail-yb1-xb2e.google.com with SMTP id b10so30090812ybn.3 for <mmusic@ietf.org>; Thu, 04 Mar 2021 13:26:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7nBsZE3605x3tMyLmPbiU1/BG34CIARbZqGniWgAyM0=; b=nU9fepuj338iKK30RPu64ZYAdX7ui79HsSqLLYfUt6uVG22163PQlb9hFri3/I6iNy x3gLmSgKv2WY/kqfCjRAO9bDbo1QnVri/mZmI2fM90C4PNxPWsLJKF1lo3WF/cpo2lDY gk1iokAVen3YpEE5jqGVqFb7KSyva+lC/PdaOCyoUV3umajgCbGxA1n/bYtxDM+j/iA0 xKFFHoVr2tGS8yzomayCDffJTDPifH9N9L0tCCTimRK/n3sAgCLQyUfCFu/EuOMFt0dY TfzLFZPcvxsXqrOeMhFobKlwRpr4sEQynSQhChmTg+EuYNTYuOpPqd4ZC/A5sdh8C75L dePA==
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=7nBsZE3605x3tMyLmPbiU1/BG34CIARbZqGniWgAyM0=; b=AU4mnrzoxn+T8HyS0hghGUdz5Y432VIhottHBdIcf6f0eGqY5ZEw1P3phPnCROVJdj AEDfwGus8jaFEce08bWf49RmKRpWYbZ3349f1VefodWatJdsy+JiVlQ8YlRmMfN9b/Ry SAVdedlbtfwwkxNJo/e1IApv/QNn3V3hrafinkSFv+Gl6vdJ3FZCmldkCir2LinG13Bl YlTmnoFkb2+F8EUPgbKoSCz+6uzIAredJb/DTQwYO0VD8SSdU+GXRuP8i1wjvoPno5wZ 5iq54IlliCQlb1kw5kMp+GiOr43AaGFNdM/si33raN0Gbeufb72xZcvzc7RGfTH0y26w e2dw==
X-Gm-Message-State: AOAM533iOl9B/09dUrfLnojZ+zXhb7ftJ0uQg/muGnwiucLbbn5+nNl7 tm3pvFwAzrUpX09xyn4kiGoJO4eqH5A6dl9qcbZkjg==
X-Google-Smtp-Source: ABdhPJzbLCNqDHLnywnv66rjnsyvureFQEhoxbL8Namx38dO07MoDxcDwHnKVzbSciVzNVAyIZ29199ZPzruIOIT5Iw=
X-Received: by 2002:a25:d642:: with SMTP id n63mr9074912ybg.390.1614893201272; Thu, 04 Mar 2021 13:26:41 -0800 (PST)
MIME-Version: 1.0
References: <463c848c-d171-7184-d65b-9ea95438d442@alum.mit.edu> <CANKS34fmzw3TNJVJhkUQvWv+EM2SCuEZcp7JgyZbN-p7iqMxfg@mail.gmail.com> <bfd34ef4-d081-c1e9-9985-da1e1b794c58@alvestrand.no> <CA+ag07budQbg1qKa+rR939sQ2CP2aAmnd8jDL93e1_B=QuonQA@mail.gmail.com> <CAOJ7v-2n2UsV58KzVMG-M9fNW1w-HTOtp5=8z0ZD6FazTOJUDg@mail.gmail.com> <6754fb36-2efe-4e8e-8b8b-5b43cb8db2d3@www.fastmail.com> <16C4A933-22D1-4427-9C5B-0A52611D3FB5@mozilla.com> <ab24ee24-9f40-5e92-e72f-a454eeecdd26@alum.mit.edu> <CA+ag07by9PhjazSvNEsOG4scga=W6to1sc91WYF0e6BbLjqopg@mail.gmail.com>
In-Reply-To: <CA+ag07by9PhjazSvNEsOG4scga=W6to1sc91WYF0e6BbLjqopg@mail.gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Thu, 04 Mar 2021 13:26:29 -0800
Message-ID: <CAOJ7v-2vp4c2y8HrOHkTLdoP7rSEuQemBQGAwDT7HObjre0dOg@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Cc: Paul Kyzivat <pkyzivat@alum.mit.edu>, mmusic WG <mmusic@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009d122b05bcbc9f3a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/3icIcvl9L0i4AFs6g7EtaoDmytM>
Subject: Re: [MMUSIC] Finding a max length of "a=mid" attribute
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Mar 2021 21:26:46 -0000

I would argue that even without an enforced limit, things are
already breaking out there silently as packets exceed some link MTU. So
having a deterministic failure seems like
an improvement.

That said, I agree it would be prudent to add some counter to Chrome first
to ensure enforcing a 16 limit would be safe, and this should be performed
for all SDP-defined values carried in RTP header extensions.

On Thu, Mar 4, 2021 at 9:15 AM Sergio Garcia Murillo <
sergio.garcia.murillo@gmail.com> wrote:

> A limit of 16bytes is more than enough (1 or 2 bytes is the max you should
> use).
>
> However IMHO implementations should be ready to receive up to the maximum
> of the 2 header bytes header extensions (there is always crazy people out
> there).
>
> Is there any similar limit for RID values?
>
> Best regards
> Sergio
>
>
>
> El jue., 4 mar. 2021 18:07, Paul Kyzivat <pkyzivat@alum.mit.edu> escribió:
>
>> On 3/4/21 12:40 AM, Nils Ohlmeier wrote:
>> > When Firefox started putting its original MID values of ‘mid0’, ‘mid1’
>> etc into the RTP header extension we received several complaints about
>> wasting bytes on the wire. Because of that we switched to ‘0’, ‘1’, … to
>> save bytes. So it seems everyone is interested in using as little bytes as
>> possible for this.
>> >
>> > In other words: I believe 16 bytes should be enough.
>>
>> I don't see any conceptual problem with imposing a limit. But when
>> imposing a limit retroactively there is the potential for breaking some
>> existing implementations in the wild. I think that is unlikely, but hard
>> to verify.
>>
>>         Thanks,
>>         Paul
>>
>> > Best
>> >    Nils
>> >
>> >> On 3Mar, 2021, at 14:43, Martin Thomson <mt@lowentropy.net> wrote:
>> >>
>> >> What Justin said.
>> >>
>> >> Does anyone *need* more than 16 bytes?
>> >>
>> >> On Thu, Mar 4, 2021, at 08:55, Justin Uberti wrote:
>> >>> We have limits on a lot of values for exactly this reason - UDP
>> packets
>> >>> have a finite length, and therefore when it comes to RTP
>> packetization,
>> >>> overly long values make things screech to halt.
>> >>>
>> >>> So I think defining such a limit would be a good idea, but I think
>> >>> you'd have to reject it rather than ignore it to get deterministic
>> >>> behavior (which seems like another upside to me).
>> >>>
>> >>> On Wed, Mar 3, 2021 at 1:43 PM Sergio Garcia Murillo
>> >>> <sergio.garcia.murillo@gmail.com> wrote:
>> >>>> If length is >16, shouldn't the 2 byte header extension be used
>> instead? that would allow mid values up to 256 bytes.
>> >>>>
>> >>>> Best regards
>> >>>> Sergio
>> >>>>
>> >>>>
>> >>>> El mié., 3 mar. 2021 22:40, Harald Alvestrand <harald@alvestrand.no>
>> escribió:
>> >>>>>
>> >>>>> On 3/3/21 4:06 PM, Nils Ohlmeier wrote:
>> >>>>>>> Am 3/3/21 um 06:31 schrieb Paul Kyzivat <pkyzivat@alum.mit.edu>:
>> >>>>>>>
>> >>>>>>> On 3/3/21 3:51 AM, Harald Alvestrand wrote:
>> >>>>>>>> I'm searching for the source of a max length limit on the
>> "a=mid" attribute.
>> >>>>>>>> I couldn't find it in RFC 5888 (grouping framework) or RFC 8843
>> (BUNDLE).
>> >>>>>>>> Does anyone remember where it's supposed to be?
>> >>>>>>>> (I have code that will insist that it should be 16 bytes or
>> less, but I'm trying to verify that this is the correct limit.)
>> >>>>>>> Its defined as a token (from RFC4566/8866). And that is:
>> >>>>>>>
>> >>>>>>>   token = 1*(token-char)
>> >>>>>>>
>> >>>>>>> There is no upper limit on the length. You can't impose a limit
>> for implementation convenience. But practically speaking it is limited by
>> the length of the message body that contains it, so you could code using an
>> offset+length into the message buffer.
>> >>>>>> While the SDP side might be able to handle really long MID values I
>> >>>>>> doubt the RTP header extension allow or support that. Maybe your 16
>> >>>>>> byte length limitation comes from the RTP side?
>> >>>>>
>> >>>>> I found that it is impossible to encode an 1-byte RTP header
>> extension
>> >>>>> longer than 16 bytes (the length is a 4-bit field with a bias value
>> of
>> >>>>> 1). So in practice, it's an RTP restriction.
>> >>>>>
>> >>>>> I think Postel once advised that one should always have length
>> limits -
>> >>>>> "if you don't have a length limit, you just have an implementation
>> >>>>> defined limit, and that's worse".
>> >>>>>
>> >>>>> So the next question (now that we've settled that the standards
>> don't
>> >>>>> impose one) is: Should the standards specify a limit?
>> >>>>>
>> >>>>> And the third question: if asked to handle a BUNDLEd connection
>> where
>> >>>>> the MID is > 16 bytes, is it reasonable to just ignore the
>> over-long MID
>> >>>>> value?
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>>
>> >>>>>> Best
>> >>>>>>    Nils
>> >>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> mmusic mailing list
>> >>>>>> mmusic@ietf.org
>> >>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> mmusic mailing list
>> >>>>> mmusic@ietf.org
>> >>>>> https://www.ietf.org/mailman/listinfo/mmusic
>> >>>> _______________________________________________
>> >>>> mmusic mailing list
>> >>>> mmusic@ietf.org
>> >>>> https://www.ietf.org/mailman/listinfo/mmusic
>> >>> _______________________________________________
>> >>> mmusic mailing list
>> >>> mmusic@ietf.org
>> >>> https://www.ietf.org/mailman/listinfo/mmusic
>> >>>
>> >>
>> >> _______________________________________________
>> >> mmusic mailing list
>> >> mmusic@ietf.org
>> >> https://www.ietf.org/mailman/listinfo/mmusic
>> >
>> > _______________________________________________
>> > mmusic mailing list
>> > mmusic@ietf.org
>> > https://www.ietf.org/mailman/listinfo/mmusic
>> >
>>
>> _______________________________________________
>> mmusic mailing list
>> mmusic@ietf.org
>> https://www.ietf.org/mailman/listinfo/mmusic
>>
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic
>