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>
This commit is contained in:
Vladimir Sementsov-Ogievskiy 2022-04-01 17:39:35 +03:00 committed by Gerd Hoffmann
parent d708f99d85
commit abea19468e
5 changed files with 106 additions and 1 deletions

View file

@ -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)
{