[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/7] Update websocket code to more fully supp
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/7] Update websocket code to more fully support the RFC |
Date: |
Mon, 18 Sep 2017 15:48:13 +0100 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Tue, Sep 12, 2017 at 08:21:46AM -0700, Brandon Carpenter wrote:
> We've been experiencing issues where the qemu websocket server closes
> connections from noVNC clients for no apparent reason. Debugging shows
> that certain web browsers are injecting ping and pong frames when the
> connection becomes idle. Some browsers send those frames without a
> payload, which also is causing closure. This patch series addresses
> these issues by making the websocket server more conformant to RFC
> 6455 - The WebSocket Protocol.
>
> Remembering the opcode is sufficient for handling fragmented frames from
> the client, which may be introduced by an intermediary server/proxy.
> Respond to pings and ignore pongs rather than close the connection as
> many browsers use ping/pong to test an idle connection. Close
> connections according to the RFC, including providing a reason code and
> message to aid debugging of unexpected disconnects. Empty payloads
> should not cause a disconnect.
>
> While updating the websocket code, several other bugs were discovered
> for which patches are also included early in the set.
>
> Brandon Carpenter (7):
> io: Always remove an old channel watch before adding a new one
> io: Small updates in preparation for websocket changes
> io: Add support for fragmented websocket binary frames
> io: Allow empty websocket payload
> io: Ignore websocket PING and PONG frames
> io: Reply to ping frames
> io: Attempt to send websocket close messages to client
>
> include/io/channel-websock.h | 2 +
> io/channel-websock.c | 282
> +++++++++++++++++++++++++++----------------
> ui/vnc-auth-vencrypt.c | 3 +
> ui/vnc-ws.c | 6 +
> ui/vnc.c | 4 +
> 5 files changed, 194 insertions(+), 103 deletions(-)
>
> --
> 2.14.1
Hi Brandon,
Thanks for the patch series! Please CC the relevant maintainer on
future patches. I've CCed Daniel Berrange on this email to bring your
work to his attention.
$ scripts/get_maintainer.pl -f io/channel-websock.c
"Daniel P. Berrange" <address@hidden> (maintainer:I/O Channels)
address@hidden (open list:All patches CC here)
Stefan
>
>
> --
>
>
> CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is
> for the sole use of the intended recipient(s) and may contain proprietary,
> confidential or privileged information or otherwise be protected by law.
> Any unauthorized review, use, disclosure or distribution is prohibited. If
> you are not the intended recipient, please notify the sender and destroy
> all copies and the original message.
>
- [Qemu-devel] [PATCH v3 0/7] Update websocket code to more fully support the RFC, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 3/7] io: Add support for fragmented websocket binary frames, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 2/7] io: Small updates in preparation for websocket changes, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 1/7] io: Always remove an old channel watch before adding a new one, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 4/7] io: Allow empty websocket payload, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 7/7] io: Attempt to send websocket close messages to client, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 6/7] io: Reply to ping frames, Brandon Carpenter, 2017/09/12
- [Qemu-devel] [PATCH v3 5/7] io: Ignore websocket PING and PONG frames, Brandon Carpenter, 2017/09/12
- Re: [Qemu-devel] [PATCH v3 0/7] Update websocket code to more fully support the RFC,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH v3 0/7] Update websocket code to more fully support the RFC, Brandon Carpenter, 2017/09/20