Re: [hybi] Multiple connections serialization and proxies

Jamie Lokier <jamie@shareable.org> Thu, 22 April 2010 22:55 UTC

Return-Path: <jamie@shareable.org>
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 A65743A694A for <hybi@core3.amsl.com>; Thu, 22 Apr 2010 15:55:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.102
X-Spam-Level:
X-Spam-Status: No, score=-2.102 tagged_above=-999 required=5 tests=[AWL=-0.992, BAYES_05=-1.11]
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 2Iu9GzwWdPKG for <hybi@core3.amsl.com>; Thu, 22 Apr 2010 15:55:06 -0700 (PDT)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id CCFE83A6853 for <hybi@ietf.org>; Thu, 22 Apr 2010 15:55:05 -0700 (PDT)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1O55IG-0005VU-Dc; Thu, 22 Apr 2010 23:54:48 +0100
Date: Thu, 22 Apr 2010 23:54:48 +0100
From: Jamie Lokier <jamie@shareable.org>
To: "Thomson, Martin" <Martin.Thomson@andrew.com>
Message-ID: <20100422225448.GG13951@shareable.org>
References: <4BCF4932.8040303@gmail.com> <4BD09A2C.6060506@gmail.com> <x2n557ae281004221224i2a9a46c0k6f6f684c94de255c@mail.gmail.com> <8B0A9FCBB9832F43971E38010638454F03E7D06DF7@SISPE7MB1.commscope.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8B0A9FCBB9832F43971E38010638454F03E7D06DF7@SISPE7MB1.commscope.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Multiple connections serialization and proxies
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: Thu, 22 Apr 2010 22:55:06 -0000

Thomson, Martin wrote:
> App A establishes WS connection to example.com with sub-protocol foo.
> 
> App B requests WS connection to example.com also, but with sub-protocol bar.  It cannot signal this sub-protocol use to example.com if it re-uses the connection established by App A.
> 
> Similarly, if App A establishes state on the connection (for example, using one of the BWTP channel headers), then this state could interfere with state that B attempts to establish:
> 
> App A logs in and sets the user name to 'alice'.  App B logs in and sets the user name to 'bob'.  Are requests that follow authorized based on alice's permissions, or bob's?
> 
> Keep in mind that applications will assume that this 'connection' is theirs to use.  In many cases, the connection will be dedicated, and will persist, so how will the proverbial 'inexpert' server developer know how to cope with an unexplained error like this?
> 
> This is made even worse if an intermediary attempts (legitimately) to multiplex streams...

All of that is moot provided the reuse/multiplexing is done properly.

That is, with application-visible properties such as sub-protocol
being per virtual connection, not per real connection.

Inexpert server authors (and client authors) will not negotiate these
features, and won't have to deal with it.

-- Jamie