[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/3 v5] vnc: added initial websocket protocol suppor
From: |
Tim Hardeck |
Subject: |
[Qemu-devel] [PATCH 0/3 v5] vnc: added initial websocket protocol support |
Date: |
Wed, 2 Jan 2013 14:29:43 +0100 |
This patch set adds basic Websocket Protocol version 13 - RFC 6455 - support
to QEMU VNC. Binary encoding support on the client side is mandatory.
Because of the GnuTLS requirement the Websockets implementation is
optional (--enable-vnc-ws).
To activate Websocket support the VNC option "websocket" is used, for
example "-vnc :0,websocket".
The listen port for Websocket connections is (5700 + display) so if
QEMU VNC is started with :0 the Websocket port would be 5700.
As an alternative the Websocket port could be manually specified by
using ",websocket=<port>" instead.
Changes v2
* removed automatic websocket recognition
* added new lwebsock socket on port 5700 + display when the vnc option
"websocket" is passed on
* adapted vnc_connect vnc_listen_read to differ between websocket
* added separate event handler to read the Websocket handshake
Changes v3
* added manual port specification by using ",websocket=<port>"
* switched from memmem() to g_strstr_len()
* removed masked_size from vncws_decode_frame()
* resetted vnc_tls variable to default in the configure script
Changes v4
* incorporated suggestions from Stefan Hajnoczi
* moved websockets encoding from vnc_write to its own client_write function
* moved websockets decoding to its own client_read function
* added initialization checks to vnc_disconnect to prevent crashes if a regular
client connects to the websocket port
Changes v5
* added initialized variable to VncState to prevent crashes during
vnc_disconnect - the previously added initialization checks didn't prevent
segfaults when a websocket client was connected
Tim Hardeck (3):
vnc: added buffer_advance function
vnc: added initial websocket protocol support
vnc: fix possible uninitialized removals
configure | 27 +++++-
qemu-options.hx | 8 ++
ui/Makefile.objs | 1 +
ui/vnc-ws.c | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
ui/vnc-ws.h | 92 ++++++++++++++++++
ui/vnc.c | 211 +++++++++++++++++++++++++++++++++++-----
ui/vnc.h | 21 ++++
7 files changed, 614 insertions(+), 28 deletions(-)
create mode 100644 ui/vnc-ws.c
create mode 100644 ui/vnc-ws.h
--
1.7.10.4
- [Qemu-devel] [PATCH 0/3 v5] vnc: added initial websocket protocol support,
Tim Hardeck <=
[Qemu-devel] [PATCH 1/3] vnc: added buffer_advance function, Tim Hardeck, 2013/01/02