From: Eric Blake <eblake@redhat.com>
To: Stefan Reiter <s.reiter@proxmox.com>
Cc: "Wolfgang Bumiller" <w.bumiller@proxmox.com>,
qemu-devel@nongnu.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Thomas Lamprecht" <t.lamprecht@proxmox.com>
Subject: Re: [PATCH v2 3/3] monitor: allow VNC related QMP and HMP commands to take a display ID
Date: Fri, 3 Sep 2021 14:02:21 -0500 [thread overview]
Message-ID: <20210903190221.6hik7knycpj6xeqs@redhat.com> (raw)
In-Reply-To: <20210901151748.1712048-4-s.reiter@proxmox.com>
On Wed, Sep 01, 2021 at 05:17:48PM +0200, Stefan Reiter wrote:
> It is possible to specify more than one VNC server on the command line,
> either with an explicit ID or the auto-generated ones à la "default",
> "vnc2", "vnc3", ...
>
> It is not possible to change the password on one of these extra VNC
> displays though. Fix this by adding a "display" parameter to the
> "set_password" and "expire_password" QMP and HMP commands.
>
> For HMP, the display is specified using the "-d" value flag.
>
> Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
> ---
QMP review:
> +++ b/qapi/ui.json
> @@ -25,6 +25,9 @@
> # 'disconnect' to disconnect existing clients
> # 'keep' to maintain existing clients
> #
> +# @display: In case of VNC, the id of the display where the password
> +# should be changed. Defaults to the first.
> +#
> # Returns: - Nothing on success
> # - If Spice is not enabled, DeviceNotFound
> #
> @@ -38,7 +41,8 @@
> #
> ##
> { 'command': 'set_password',
> - 'data': {'protocol': 'str', 'password': 'str', '*connected': 'str'} }
> + 'data': {'protocol': 'str', 'password': 'str', '*connected': 'str',
Pre-existing, but given the documentation that protocol is either
'vnc' or 'spice', this feels like set_password should take a
discriminated union type with 'protocol' as an enum type,...
> + '*display': 'str'} }
...so that you only add the optional 'display' member to 'vnc'. This
would keep the status quo of rejecting it as invalid when protocol is
'spice', and make it easier to introspect that no other protocols are
supported.
Markus may have better advice on whether cleaning this up is worth it.
>
> ##
> # @expire_password:
> @@ -54,6 +58,9 @@
> # - '+INT' where INT is the number of seconds from now (integer)
> # - 'INT' where INT is the absolute time in seconds
> #
> +# @display: In case of VNC, the id of the display where the password
> +# should be set to expire. Defaults to the first.
> +#
> # Returns: - Nothing on success
> # - If @protocol is 'spice' and Spice is not active, DeviceNotFound
> #
> @@ -71,7 +78,8 @@
> # <- { "return": {} }
> #
> ##
> -{ 'command': 'expire_password', 'data': {'protocol': 'str', 'time': 'str'} }
> +{ 'command': 'expire_password',
> + 'data': {'protocol': 'str', 'time': 'str', '*display': 'str'} }
This would benefit from the same treatment, if we decide to use a QAPI
enum type and discriminated union.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
next prev parent reply other threads:[~2021-09-03 19:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-01 15:17 [PATCH v2 0/3] VNC-related HMP/QMP fixes Stefan Reiter
2021-09-01 15:17 ` [PATCH v2 1/3] monitor/hmp: correctly invert password argument detection again Stefan Reiter
2021-09-01 15:17 ` [PATCH v2 2/3] monitor/hmp: add support for flag argument with value Stefan Reiter
2021-09-01 15:17 ` [PATCH v2 3/3] monitor: allow VNC related QMP and HMP commands to take a display ID Stefan Reiter
2021-09-03 19:02 ` Eric Blake [this message]
2021-09-04 6:08 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210903190221.6hik7knycpj6xeqs@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=s.reiter@proxmox.com \
--cc=t.lamprecht@proxmox.com \
--cc=w.bumiller@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).