[PATCH 1/2] hmp: Unbreak "change vnc"

Markus Armbruster posted 2 patches 4 years, 5 months ago
Maintainers: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
[PATCH 1/2] hmp: Unbreak "change vnc"
Posted by Markus Armbruster 4 years, 5 months ago
HMP command "change vnc" can take the password as argument, or prompt
for it:

    (qemu) change vnc password 123
    (qemu) change vnc password
    Password: ***
    (qemu)

This regressed in commit cfb5387a1d "hmp: remove "change vnc TARGET"
command", v6.0.0.

    (qemu) change vnc passwd 123
    Password: ***
    (qemu) change vnc passwd
    (qemu)

The latter passes NULL to qmp_change_vnc_password(), which is a no-no.
Looks like it puts the display into "password required, but none set"
state.

The logic error is easy to miss in review, but testing should've
caught it.

Fix the obvious way.

Fixes: cfb5387a1de2acda23fb5c97d2378b9e7ddf8025
Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 monitor/hmp-cmds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index e00255f7ee..a7e197a90b 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -1496,7 +1496,7 @@ void hmp_change(Monitor *mon, const QDict *qdict)
         }
         if (strcmp(target, "passwd") == 0 ||
             strcmp(target, "password") == 0) {
-            if (arg) {
+            if (!arg) {
                 MonitorHMP *hmp_mon = container_of(mon, MonitorHMP, common);
                 monitor_read_password(hmp_mon, hmp_change_read_arg, NULL);
                 return;
-- 
2.31.1


Re: [PATCH 1/2] hmp: Unbreak "change vnc"
Posted by Laurent Vivier 4 years, 4 months ago
Le 09/09/2021 à 10:12, Markus Armbruster a écrit :
> HMP command "change vnc" can take the password as argument, or prompt
> for it:
> 
>     (qemu) change vnc password 123
>     (qemu) change vnc password
>     Password: ***
>     (qemu)
> 
> This regressed in commit cfb5387a1d "hmp: remove "change vnc TARGET"
> command", v6.0.0.
> 
>     (qemu) change vnc passwd 123
>     Password: ***
>     (qemu) change vnc passwd
>     (qemu)
> 
> The latter passes NULL to qmp_change_vnc_password(), which is a no-no.
> Looks like it puts the display into "password required, but none set"
> state.
> 
> The logic error is easy to miss in review, but testing should've
> caught it.
> 
> Fix the obvious way.
> 
> Fixes: cfb5387a1de2acda23fb5c97d2378b9e7ddf8025
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  monitor/hmp-cmds.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index e00255f7ee..a7e197a90b 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -1496,7 +1496,7 @@ void hmp_change(Monitor *mon, const QDict *qdict)
>          }
>          if (strcmp(target, "passwd") == 0 ||
>              strcmp(target, "password") == 0) {
> -            if (arg) {
> +            if (!arg) {
>                  MonitorHMP *hmp_mon = container_of(mon, MonitorHMP, common);
>                  monitor_read_password(hmp_mon, hmp_change_read_arg, NULL);
>                  return;
> 

Applied to my trivial-patches branch.

Thanks,
Laurent


Re: [PATCH 1/2] hmp: Unbreak "change vnc"
Posted by Daniel P. Berrangé 4 years, 5 months ago
On Thu, Sep 09, 2021 at 10:12:18AM +0200, Markus Armbruster wrote:
> HMP command "change vnc" can take the password as argument, or prompt
> for it:
> 
>     (qemu) change vnc password 123
>     (qemu) change vnc password
>     Password: ***
>     (qemu)
> 
> This regressed in commit cfb5387a1d "hmp: remove "change vnc TARGET"
> command", v6.0.0.
> 
>     (qemu) change vnc passwd 123
>     Password: ***
>     (qemu) change vnc passwd
>     (qemu)
> 
> The latter passes NULL to qmp_change_vnc_password(), which is a no-no.
> Looks like it puts the display into "password required, but none set"
> state.
> 
> The logic error is easy to miss in review, but testing should've
> caught it.
> 
> Fix the obvious way.
> 
> Fixes: cfb5387a1de2acda23fb5c97d2378b9e7ddf8025
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  monitor/hmp-cmds.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|