Re: [xmpp] AD review of draft-ietf-xmpp-websocket

Lance Stout <> Fri, 20 June 2014 21:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 2CE251B2909 for <>; Fri, 20 Jun 2014 14:35:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 069NJJZd2k-w for <>; Fri, 20 Jun 2014 14:35:20 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6B9991A0283 for <>; Fri, 20 Jun 2014 14:35:20 -0700 (PDT)
Received: by with SMTP id w10so3396702pde.17 for <>; Fri, 20 Jun 2014 14:35:20 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=zee07dQ0Iuv/VgtgPBEOHJR3otroYOlRXljmIFSAphg=; b=OEhabRB+509IXhVHczfIT9zHVx9jGBs4PMeGrdcj2WcA9z5W4thdAg5k8evblVRuxe PHvTjGUM455LKJeQDDDB7ll1bQWYs9ZhmFJeuRbkPsiQmysdTBgAdvYoVcHWgxDiuGoG p/yrPFZwg2LGMK7fhy2UBTLguAPP4PcM588OVORJLeIcM680o5crFdrFOiFTZIqXP080 a5JxowuC3zi/R7jXTjmzUos3tWkoPGMJxjmOx3oCGQG2aC+H4Tvcf/eg0Su7K5fOCoCv zja+SNkqZs4OxnUNBPpzCQQ6Z8ndn7DfZHT7GnrzuK3Mf5/CEyi6l6fXCLqi2FlaEFf5 G5yA==
X-Gm-Message-State: ALoCoQkmrPqF1/+oLJF4D7SeOuVLbDwQSC9Grcg2qSDmUPOGlt1nSCTXuzkpa031WLaKlQ7YgdJQ
X-Received: by with SMTP id wc7mr8210555pab.64.1403300119990; Fri, 20 Jun 2014 14:35:19 -0700 (PDT)
Received: from [] ( []) by with ESMTPSA id zb2sm15007601pbb.45.2014. for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 20 Jun 2014 14:35:18 -0700 (PDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_8C554B1D-7471-4E85-B409-273075C09CE9"; protocol="application/pkcs7-signature"; micalg=sha1
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Lance Stout <>
In-Reply-To: <>
Date: Fri, 20 Jun 2014 14:35:17 -0700
Message-Id: <>
References: <>
To: Richard Barnes <>
X-Mailer: Apple Mail (2.1878.2)
Cc: XMPP Working Group <>
Subject: Re: [xmpp] AD review of draft-ietf-xmpp-websocket
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: XMPP Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 20 Jun 2014 21:35:22 -0000

> S3.1. "WebSocket messages sent or received will conform"
> Should this be "MUST conform"?

Makes sense to me to make that MUST, since that's the entire point of this document.

> S3.6.1. "a different transport, such as BOSH"
> How is the recipient of one of these messages supposed to tell what transport?  Does the use of an http- or https-schemed URI imply BOSH?

I would assume that's implied, as BOSH is the only defined transport for the http/https scheme, and I don't expect for us to define another given the existing deployment base.

However, I can see where this could get fuzzy. Any suggestions on a solution?

> S3.7. "[Streams implicitly closed]"
> Does this usage map cleanly to the TCP case?  That is, would a </stream> element be sent in this closure case?  I'm just imagining that if you have, say, a relatively naïve gateway that translates <stream> to <open> and </stream> to <close>, this could cause problems.

Yes, this intentionally mirrors the process used in the TCP binding. The Prosody implementation of this spec actually does exactly that 'naïve gateway' approach internally to convert the framed stream to the TCP C2S stream format to reuse its existing code paths.

- Lance