[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary
From: |
Christian Ehrhardt |
Subject: |
[Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol |
Date: |
Thu, 24 Sep 2020 10:22:19 -0000 |
Repro steps:
$ sudo apt install qemu-system-x86 novnc
/usr/share/novnc
python3 -m http.server
Connect browser to http://<IP>:8000/vnc.html
Click "Settings"
Open "advanced"
Open "websocket"
Set port 5700
Clear path
Click "Connect"
And it works ...
Turns out my former check on the offending noVNC commit was wrong.
There are
https://github.com/novnc/noVNC/commit/f8318361b1b62c4d76b091132d4a8ccfdd2957e4
(referenced on this bug before)
$ git tag --contains f8318361b1b62c4d76b091132d4a8ccfdd2957e4
v1.0.0
But only really gone later with:
https://github.com/novnc/noVNC/commit/c912230309806aacbae4295faf7ad6406da97617
$ git tag --contains c912230309806aacbae4295faf7ad6406da97617
v1.2.0
So the novnc of Focal isn't affected but anyone who uses a newer noVNC >=1.2
would be.
=> lower SRU priority
=> Modify above repro steps to not use noVNC from Focal via apt but use 1.2
from snaps
Repro steps:
$ snap install novnc
$ novnc --vnc localhost:5700
Connect browser to http://<IP>:6080/vnc.html
Click "Connect"
TODO: repro steps to be verified with a qemu that has the fix applied
** Changed in: qemu (Ubuntu Focal)
Importance: Undecided => Low
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1849644
Title:
QEMU VNC websocket proxy requires non-standard 'binary' subprotocol
Status in QEMU:
Fix Released
Status in qemu package in Ubuntu:
Fix Released
Status in qemu source package in Focal:
Confirmed
Bug description:
When running a machine using "-vnc" and the "websocket" option QEMU
seems to require the subprotocol called 'binary'. This subprotocol
does not exist in the WebSocket specification. In fact it has never
existed in the spec, in one of the very early drafts of WebSockets it
was briefly mentioned but it never made it to a final version.
When the WebSocket server requires a non-standard subprotocol any
WebSocket client that works correctly won't be able to connect.
One example of such a client is noVNC, it tells the server that it
doesn't want to use any subprotocol. QEMU's WebSocket proxy doesn't
let noVNC connect. If noVNC is modified to ask for 'binary' it will
work, this is, however, incorrect behavior.
Looking at the code in "io/channel-websock.c" it seems it's quite
hard-coded to binary:
Look at line 58 and 433 here:
https://git.qemu.org/?p=qemu.git;a=blob;f=io/channel-websock.c
This code has to be made more dynamic, and shouldn't require binary.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1849644/+subscriptions
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Christian Ehrhardt , 2020/09/24
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol,
Christian Ehrhardt <=
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Christian Ehrhardt , 2020/09/24
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Christian Ehrhardt , 2020/09/25
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Launchpad Bug Tracker, 2020/09/25
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Christian Ehrhardt , 2020/09/25
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Robie Basak, 2020/09/29
- [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol, Christian Ehrhardt , 2020/09/30