[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
- [Qemu-devel] [Bug 1732671] [NEW] vnc websocket compatibility issue,
Chen Zhang <=