Since the removal of the generic 'qmp_change' command, one can no longer replace the 'default' VNC display listen address at runtime (AFAIK). For our users who need to set up a secondary VNC access port, this means configuring a second VNC display (in addition to our standard one for web-access), but it turns out one cannot set a password on this second display at the moment, as the 'set_password' call only operates on the 'default' display.
Additionally, using secret objects, the password is only read once at startup. This could be considered a bug too, but is not touched in this series and left for a later date. v5 -> v6: * consider feedback from Markus' review, mainly: * fix crash bug in patch 1 (sorry, artifact of patch-splitting) * rely on '!has_param => param == NULL' to shorten code * add note to 'docs/about/deprecated.rst' and touch up comments a bit * go back to g_free instead of qapi_free_* since the latter apparently tries to free the passed in pointer which lives on the stack... * fix bug in HMP parsing (see patch 1) v4 -> v5: * add comment to patch 1 in "monitor-internal.h" * use qapi_free_SetPasswordOptions and friends, don't leak strdups * split QAPI change into 3 seperate patches v3 -> v4: * drop previously patch 1, this was fixed here instead: https://lists.gnu.org/archive/html/qemu-devel/2021-09/msg02529.html * patch 1: add Eric's R-b * patch 2: remove if-assignment, use 'deprecated' feature in schema v2 -> v3: * refactor QMP schema for set/expire_password as suggested by Eric Blake and Markus Armbruster v1 -> v2: * add Marc-André's R-b on patch 1 * use '-d' flag as suggested by Eric Blake and Gerd Hoffmann * I didn't see a way to do this yet, so I added a "flags with values" arg type Stefan Reiter (5): monitor/hmp: add support for flag argument with value qapi/monitor: refactor set/expire_password with enums qapi/monitor: allow VNC display id in set/expire_password qapi/monitor: only allow 'keep' SetPasswordAction for VNC and deprecate docs: add deprecation note about 'set_password' param 'connected' docs/about/deprecated.rst | 6 ++ hmp-commands.hx | 24 +++--- monitor/hmp-cmds.c | 54 ++++++++++++- monitor/hmp.c | 19 ++++- monitor/monitor-internal.h | 3 +- monitor/qmp-cmds.c | 54 ++++--------- qapi/ui.json | 156 ++++++++++++++++++++++++++++++++----- 7 files changed, 242 insertions(+), 74 deletions(-) -- 2.30.2