qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1732671] [NEW] vnc websocket compatibility issue


From: Chen Zhang
Subject: [Qemu-devel] [Bug 1732671] [NEW] vnc websocket compatibility issue
Date: Thu, 16 Nov 2017 11:10:32 -0000

Public bug reported:

WebSocket support in VNC should allow access from VNC client through
upgraded WebSocket connection. This feature is not working in IE 11/Edge
with noVNC HTML5 client, in contrast to that in Firefox/Safari, etc.

The reason that IE 11/Edge fails to accept the connection upgrade is
that the value equality of the `Upgrade` header field is checked in a
strict case-sensitive manner in QEMU side, however, the IE/Edge does not
send the exactly same string value `websocket` but a capital letter `W`
instead.

Defined in section 4.2.1 of rfc6455, the upgrade header field shall be
treated case-insensitively.

A patch shall be made in `io/channel-websock.c`, converting the value of
upgrade string to lowercase before comparison is made with
QIO_CHANNEL_WEBSOCK_UPGRADE_WEBSOCKET, to allow case-insensitive
comparison in the process.

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: vnc

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1732671

Title:
  vnc websocket compatibility issue

Status in QEMU:
  New

Bug description:
  WebSocket support in VNC should allow access from VNC client through
  upgraded WebSocket connection. This feature is not working in IE
  11/Edge with noVNC HTML5 client, in contrast to that in
  Firefox/Safari, etc.

  The reason that IE 11/Edge fails to accept the connection upgrade is
  that the value equality of the `Upgrade` header field is checked in a
  strict case-sensitive manner in QEMU side, however, the IE/Edge does
  not send the exactly same string value `websocket` but a capital
  letter `W` instead.

  Defined in section 4.2.1 of rfc6455, the upgrade header field shall be
  treated case-insensitively.

  A patch shall be made in `io/channel-websock.c`, converting the value
  of upgrade string to lowercase before comparison is made with
  QIO_CHANNEL_WEBSOCK_UPGRADE_WEBSOCKET, to allow case-insensitive
  comparison in the process.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1732671/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]