Re: [hybi] Frame size

"Thomson, Martin" <Martin.Thomson@andrew.com> Mon, 19 April 2010 03:39 UTC

Return-Path: <Martin.Thomson@andrew.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A46023A687C for <hybi@core3.amsl.com>; Sun, 18 Apr 2010 20:39:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[AWL=0.705, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZKkbnpnzHR+p for <hybi@core3.amsl.com>; Sun, 18 Apr 2010 20:39:26 -0700 (PDT)
Received: from csmailgw1.commscope.com (csmailgw1.commscope.com [198.135.207.244]) by core3.amsl.com (Postfix) with ESMTP id D6A723A6817 for <hybi@ietf.org>; Sun, 18 Apr 2010 20:39:25 -0700 (PDT)
Received: from [10.86.20.102] ([10.86.20.102]:2955 "EHLO ACDCE7HC1.commscope.com") by csmailgw1.commscope.com with ESMTP id S18321654Ab0DSDjR (ORCPT <rfc822; hybi@ietf.org>); Sun, 18 Apr 2010 22:39:17 -0500
Received: from SISPE7HC2.commscope.com (10.97.4.13) by ACDCE7HC1.commscope.com (10.86.20.102) with Microsoft SMTP Server (TLS) id 8.1.436.0; Sun, 18 Apr 2010 22:39:17 -0500
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC2.commscope.com ([fe80::58c3:2447:f977:57c3%10]) with mapi; Mon, 19 Apr 2010 11:39:14 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: Ian Hickson <ian@hixie.ch>
Date: Mon, 19 Apr 2010 11:40:43 +0800
Thread-Topic: [hybi] Frame size
Thread-Index: AcrfabHgI+mVtvQdRjaEEnEwEogTWgAB+t6Q
Message-ID: <8B0A9FCBB9832F43971E38010638454F03E7D06824@SISPE7MB1.commscope.com>
References: <8B0A9FCBB9832F43971E38010638454F03E3F313ED@SISPE7MB1.commscope.com> <Pine.LNX.4.64.1004161940180.751@ps20323.dreamhostps.com> <8B0A9FCBB9832F43971E38010638454F03E7D0678C@SISPE7MB1.commscope.com> <Pine.LNX.4.64.1004190009190.751@ps20323.dreamhostps.com> <8B0A9FCBB9832F43971E38010638454F03E7D067A9@SISPE7MB1.commscope.com> <Pine.LNX.4.64.1004190159340.751@ps20323.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.64.1004190159340.751@ps20323.dreamhostps.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw1.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Frame size
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 03:39:27 -0000

> >     this.buffer.send(prng.getNextBits(WS.FRAME_MARKER_LEN),
> WS.FRAME_MARKER_LEN);
>	
> I don't understand how this solves the problem of people mismeasuring
> strings. (I don't really follow the pseudocode above, either.)

It does this (or significantly reduces the changes of this) by marking the start of a frame with a known sequence.  This sequence could be fixed, or it could be derived from a known sequence.  If this sequence isn't found where it should be, there is an error.

(BTW, I'm not advocating either approach, and I'll point out that the PRNG is most likely less useful and more complicated than a well-chosen fixed value.)

> My concern is that people will write this:
> 
>    send(WS.BINARY_FRAME);
>    send(encodeLength(data.length));
>    send(data);
> 
> ...and their system will automatically convert the string "data" to
> UTF-8.

I know.  Untyped and loosely typed languages have that problem.

--Martin