diff options
author | Vladimir Sementsov-Ogievskiy <vladimir.sementsov-ogievskiy@openvz.org> | 2022-04-01 17:39:35 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2022-04-27 07:51:01 +0200 |
commit | abea19468e94821d098e546f0cafc9da759bc929 (patch) | |
tree | 4e896db7c8df22c6e9c42b142985354d55bd332e /ui/vnc.c | |
parent | d708f99d8508ca6de2ff07cf9723334e6c8ecacd (diff) |
qapi/ui: add 'display-update' command for changing listen address
Add possibility to change addresses where VNC server listens for new
connections. Prior to 6.0 this functionality was available through
'change' qmp command which was deleted.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220401143936.356460-3-vsementsov@openvz.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/vnc.c')
-rw-r--r-- | ui/vnc.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -3981,6 +3981,29 @@ static int vnc_display_listen(VncDisplay *vd, return 0; } +bool vnc_display_update(DisplayUpdateOptionsVNC *arg, Error **errp) +{ + VncDisplay *vd = vnc_display_find(NULL); + + if (!vd) { + error_setg(errp, "Can not find vnc display"); + return false; + } + + if (arg->has_addresses) { + if (vd->listener) { + qio_net_listener_disconnect(vd->listener); + object_unref(OBJECT(vd->listener)); + vd->listener = NULL; + } + + if (vnc_display_listen(vd, arg->addresses, NULL, errp) < 0) { + return false; + } + } + + return true; +} void vnc_display_open(const char *id, Error **errp) { |