diff options
author | Markus Armbruster <armbru@redhat.com> | 2020-11-13 09:26:20 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2020-12-10 17:16:44 +0100 |
commit | 9272186d3dbfc770993195f480422fdf058896c5 (patch) | |
tree | c4822e9577ce5dcd78644bdbd41be77d807c9227 /monitor | |
parent | b0d7be2a62eecade217fa45521be18149346eaa1 (diff) |
ui: Improve some set_passwd, expire_password error messages
set_passwd and expire_password reject invalid "protocol" with "Invalid
parameter 'protocol'". Misleading; the parameter is valid, its value
isn't. Improve to "Parameter 'protocol' expects 'vnc' or 'spice'".
expire_password fails with "Could not set password". Misleading;
improve to "Could not set password expire time".
QERR_SET_PASSWD_FAILED is now unused. Drop.
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201113082626.2725812-5-armbru@redhat.com>
Diffstat (limited to 'monitor')
-rw-r--r-- | monitor/qmp-cmds.c | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index a08143b323..ffbf948d55 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -199,13 +199,7 @@ void qmp_set_password(const char *protocol, const char *password, } rc = qemu_spice.set_passwd(password, fail_if_connected, disconnect_if_connected); - if (rc != 0) { - error_setg(errp, QERR_SET_PASSWD_FAILED); - } - return; - } - - if (strcmp(protocol, "vnc") == 0) { + } else if (strcmp(protocol, "vnc") == 0) { if (fail_if_connected || disconnect_if_connected) { /* vnc supports "connected=keep" only */ error_setg(errp, QERR_INVALID_PARAMETER, "connected"); @@ -214,13 +208,15 @@ void qmp_set_password(const char *protocol, const char *password, /* Note that setting an empty password will not disable login through * this interface. */ rc = vnc_display_password(NULL, password); - if (rc < 0) { - error_setg(errp, QERR_SET_PASSWD_FAILED); - } + } else { + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", + "'vnc' or 'spice'"); return; } - error_setg(errp, QERR_INVALID_PARAMETER, "protocol"); + if (rc != 0) { + error_setg(errp, "Could not set password"); + } } void qmp_expire_password(const char *protocol, const char *whenstr, @@ -244,28 +240,24 @@ void qmp_expire_password(const char *protocol, const char *whenstr, return; } rc = qemu_spice.set_pw_expire(when); - if (rc != 0) { - error_setg(errp, QERR_SET_PASSWD_FAILED); - } - return; - } - - if (strcmp(protocol, "vnc") == 0) { + } else if (strcmp(protocol, "vnc") == 0) { rc = vnc_display_pw_expire(NULL, when); - if (rc != 0) { - error_setg(errp, QERR_SET_PASSWD_FAILED); - } + } else { + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "protocol", + "'vnc' or 'spice'"); return; } - error_setg(errp, QERR_INVALID_PARAMETER, "protocol"); + if (rc != 0) { + error_setg(errp, "Could not set password expire time"); + } } #ifdef CONFIG_VNC void qmp_change_vnc_password(const char *password, Error **errp) { if (vnc_display_password(NULL, password) < 0) { - error_setg(errp, QERR_SET_PASSWD_FAILED); + error_setg(errp, "Could not set password"); } } |