ui: refactor code for populating SocketAddress from vnc_display_open
commit275e0d616bc36f5e0ffa4eb5e28069d66e8e2137
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 3 Feb 2017 12:06:45 +0000 (3 12:06 +0000)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 9 Feb 2017 16:28:45 +0000 (9 17:28 +0100)
tree8f6def99bff5dc2a32d01e5519038720c0a3a00e
parent4ee74fa7082a1a521dc5f7a4b61a62b61d1480b2
ui: refactor code for populating SocketAddress from vnc_display_open

The code which interprets the CLI args to populate the SocketAddress
objects for plain & websockets VNC is quite complex already and will
need further enhancements shortly. Refactor it into separate methods
to avoid vnc_display_open getting even larger. As a side effect of
the refactoring, it is now possible to specify a listen address for
the websocket server explicitly. e.g,

  -vnc localhost:5900,websockets=0.0.0.0:8080

will listen on localhost for the plain VNC server, but expose the
websockets VNC server on the public interface. This refactoring
also removes the restriction that prevents enabling websockets
when the plain VNC server is listening on a UNIX socket.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 20170203120649.15637-5-berrange@redhat.com

[ kraxel: squashed clang build fix ]

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qemu-options.hx
ui/vnc.c