vnc websocket compatibility issue

Bug #1732671 reported by Chen Zhang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

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.

Tags: vnc
Revision history for this message
Daniel Berrange (berrange) wrote :

Which version of QEMU did you test this against ? It should be fixed in current GIT master AFAIK

Revision history for this message
Chen Zhang (cuser2) wrote :

I think it should have been fixed in 33badfd.

Sorry for the noise.

Changed in qemu:
status: New → Invalid
Revision history for this message
Daniel Berrange (berrange) wrote :

No problem, it is a valid bug report, since we've not actually released the fix yet, so changing status.

Changed in qemu:
status: Invalid → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.