qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Tim Hardeck <thardeck@suse.de>
To: qemu-devel@nongnu.org
Cc: Tim Hardeck <thardeck@suse.de>, github@martintribe.org
Subject: [Qemu-devel] [PATCH] vnc: added initial websockets support
Date: Fri, 16 Nov 2012 16:13:17 +0100	[thread overview]
Message-ID: <1353078798-6472-1-git-send-email-thardeck@suse.de> (raw)

This patch adds basic Websockets support to the QEMU VNC component. Websockets allow every modern web browser to connect to QEMU VNC without any additional plugins.

Because of the GnuTLS requirement the Websockets implementation is optional (--enable-vnc-ws).

Websockets connections are recognized by waiting 500ms for a Websocket handshake. If no data is received a regular vnc connection is assumed.
If this is not acceptable please suggest if Websockets should be activated by a new VNC option or by an additional console parameter on a different port.

SHA1 is required for the handshake which is generated with GnuTLS. Since using GnuTLS does automatically activate VNC-TLS, which has warnings about deprecated parts, I have changed the configure script to disable VNC-TLS if not explicitly enabled.

The Websockets support was tested with noVNC http://kanaka.github.com/noVNC/ .

I have used parts of the LibVNC websockets implementation that's why I have added the GPL header to the new files. I hope that it is fine that way.

Tim Hardeck (1):
  vnc: added initial websockets support

 configure        |   34 +++++++-
 ui/Makefile.objs |    1 +
 ui/vnc-ws.c      |  236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ui/vnc-ws.h      |  104 ++++++++++++++++++++++++
 ui/vnc.c         |   93 ++++++++++++++++++---
 ui/vnc.h         |   15 ++++
 6 files changed, 471 insertions(+), 12 deletions(-)
 create mode 100644 ui/vnc-ws.c
 create mode 100644 ui/vnc-ws.h

--
1.7.10.4

             reply	other threads:[~2012-11-16 15:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-16 15:13 Tim Hardeck [this message]
2012-11-16 15:13 ` [Qemu-devel] [PATCH] vnc: added initial websockets support Tim Hardeck
2012-11-18  9:31 ` Stefan Hajnoczi
2012-11-18 23:29   ` Tim Hardeck
2012-11-19  8:56     ` Gerd Hoffmann
2012-11-19 10:09       ` Tim Hardeck
2012-11-19  9:07     ` Stefan Hajnoczi
2012-11-19 10:00       ` Tim Hardeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1353078798-6472-1-git-send-email-thardeck@suse.de \
    --to=thardeck@suse.de \
    --cc=github@martintribe.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).