qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Bug 1849644] [NEW] QEMU VNC websocket proxy requires non-standard 'binary' subprotocol
@ 2019-10-24 10:23 Samuel
  2019-10-24 17:15 ` [Bug 1849644] " Daniel Berrange
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Samuel @ 2019-10-24 10:23 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

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.

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
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:
  New

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


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-10-12  9:53 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-24 10:23 [Bug 1849644] [NEW] QEMU VNC websocket proxy requires non-standard 'binary' subprotocol Samuel
2019-10-24 17:15 ` [Bug 1849644] " Daniel Berrange
2019-10-28 12:36 ` Samuel
2019-11-23  3:48 ` yuchenlin
2020-01-02 10:41 ` Samuel
2020-01-15  1:43 ` yuchenlin
2020-01-27  8:27 ` Samuel
2020-02-10  9:52 ` Daniel Berrange
2020-03-10  9:08 ` Laurent Vivier
2020-04-30 13:36 ` Laurent Vivier
2020-09-24  9:25 ` Christian Ehrhardt 
2020-09-24 10:22 ` Christian Ehrhardt 
2020-09-24 13:15 ` Christian Ehrhardt 
2020-09-25  5:47 ` Christian Ehrhardt 
2020-09-25  6:07 ` Launchpad Bug Tracker
2020-09-25  6:09 ` Christian Ehrhardt 
2020-09-29 12:59 ` Robie Basak
2020-09-30  3:53 ` [Bug 1849644] Autopkgtest regression report (qemu/1:4.2-3ubuntu6.7) Ubuntu SRU Bot
2020-09-30  8:15 ` [Bug 1849644] Re: QEMU VNC websocket proxy requires non-standard 'binary' subprotocol Christian Ehrhardt 
2020-10-12  9:44 ` Launchpad Bug Tracker
2020-10-12  9:44 ` [Bug 1849644] Update Released Łukasz Zemczak

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).