Home
last modified time | relevance | path

Searched hist:"05 eb4a25" (Results 1 – 3 of 3) sorted by relevance

/openbmc/qemu/qapi/
H A Dui.json05eb4a25 Tue Jul 03 10:56:47 CDT 2018 Marc-André Lureau <marcandre.lureau@redhat.com> qapi: add conditions to VNC type/commands/events on the schema

Add #if defined(CONFIG_VNC) in generated code, and adjust the
qmp/hmp code accordingly.

query-qmp-schema no longer reports the command/events etc as
available when disabled at compile.

Commands made conditional:

* query-vnc, query-vnc-servers, change-vnc-password

Before the patch, the commands for !CONFIG_VNC are stubs that fail
like this:

{"error": {"class": "GenericError",
"desc": "The feature 'vnc' is not enabled"}}

Afterwards, they fail like this:

{"error": {"class": "CommandNotFound",
"desc": "The command FOO has not been found"}}

I call that an improvement, because it lets clients distinguish
between command unavailable (class CommandNotFound) and command failed
(class GenericError).

Events made conditional:

* VNC_CONNECTED, VNC_INITIALIZED, VNC_DISCONNECTED

HMP change:

* info vnc

Will return "unknown command: 'info vnc'" when VNC is compiled
out (same as error for spice when --disable-spice)

Occurrences of VNC (case insensitive) in the schema that aren't
covered by this change:

* add_client

Command has other uses, including "socket bases character devices".
These are unconditional as far as I can tell.

* set_password, expire_password

In theory, these commands could be used for managing any service's
password. In practice, they're used for VNC and SPICE services.
They're documented for "remote display session" / "remote display
server".

The service is selected by argument @protocol. The code special-cases
protocol-specific argument checking, then calls a protocol-specific
function to do the work. If it fails, the command fails with "Could
not set password". It does when the service isn't compiled in (it's a
stub then).

We could make these commands conditional on the conjunction of all
services [currently: defined(CONFIG_VNC) || defined(CONFIG_SPICE)],
but I doubt it's worthwhile.

* change

Command has other uses, namely changing media.
This patch inlines a stub; no functional change.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20180703155648.11933-14-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
/openbmc/qemu/
H A Dhmp-commands-info.hx05eb4a25 Tue Jul 03 10:56:47 CDT 2018 Marc-André Lureau <marcandre.lureau@redhat.com> qapi: add conditions to VNC type/commands/events on the schema

Add #if defined(CONFIG_VNC) in generated code, and adjust the
qmp/hmp code accordingly.

query-qmp-schema no longer reports the command/events etc as
available when disabled at compile.

Commands made conditional:

* query-vnc, query-vnc-servers, change-vnc-password

Before the patch, the commands for !CONFIG_VNC are stubs that fail
like this:

{"error": {"class": "GenericError",
"desc": "The feature 'vnc' is not enabled"}}

Afterwards, they fail like this:

{"error": {"class": "CommandNotFound",
"desc": "The command FOO has not been found"}}

I call that an improvement, because it lets clients distinguish
between command unavailable (class CommandNotFound) and command failed
(class GenericError).

Events made conditional:

* VNC_CONNECTED, VNC_INITIALIZED, VNC_DISCONNECTED

HMP change:

* info vnc

Will return "unknown command: 'info vnc'" when VNC is compiled
out (same as error for spice when --disable-spice)

Occurrences of VNC (case insensitive) in the schema that aren't
covered by this change:

* add_client

Command has other uses, including "socket bases character devices".
These are unconditional as far as I can tell.

* set_password, expire_password

In theory, these commands could be used for managing any service's
password. In practice, they're used for VNC and SPICE services.
They're documented for "remote display session" / "remote display
server".

The service is selected by argument @protocol. The code special-cases
protocol-specific argument checking, then calls a protocol-specific
function to do the work. If it fails, the command fails with "Could
not set password". It does when the service isn't compiled in (it's a
stub then).

We could make these commands conditional on the conjunction of all
services [currently: defined(CONFIG_VNC) || defined(CONFIG_SPICE)],
but I doubt it's worthwhile.

* change

Command has other uses, namely changing media.
This patch inlines a stub; no functional change.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20180703155648.11933-14-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
/openbmc/qemu/ui/
H A Dvnc.h05eb4a25 Tue Jul 03 10:56:47 CDT 2018 Marc-André Lureau <marcandre.lureau@redhat.com> qapi: add conditions to VNC type/commands/events on the schema

Add #if defined(CONFIG_VNC) in generated code, and adjust the
qmp/hmp code accordingly.

query-qmp-schema no longer reports the command/events etc as
available when disabled at compile.

Commands made conditional:

* query-vnc, query-vnc-servers, change-vnc-password

Before the patch, the commands for !CONFIG_VNC are stubs that fail
like this:

{"error": {"class": "GenericError",
"desc": "The feature 'vnc' is not enabled"}}

Afterwards, they fail like this:

{"error": {"class": "CommandNotFound",
"desc": "The command FOO has not been found"}}

I call that an improvement, because it lets clients distinguish
between command unavailable (class CommandNotFound) and command failed
(class GenericError).

Events made conditional:

* VNC_CONNECTED, VNC_INITIALIZED, VNC_DISCONNECTED

HMP change:

* info vnc

Will return "unknown command: 'info vnc'" when VNC is compiled
out (same as error for spice when --disable-spice)

Occurrences of VNC (case insensitive) in the schema that aren't
covered by this change:

* add_client

Command has other uses, including "socket bases character devices".
These are unconditional as far as I can tell.

* set_password, expire_password

In theory, these commands could be used for managing any service's
password. In practice, they're used for VNC and SPICE services.
They're documented for "remote display session" / "remote display
server".

The service is selected by argument @protocol. The code special-cases
protocol-specific argument checking, then calls a protocol-specific
function to do the work. If it fails, the command fails with "Could
not set password". It does when the service isn't compiled in (it's a
stub then).

We could make these commands conditional on the conjunction of all
services [currently: defined(CONFIG_VNC) || defined(CONFIG_SPICE)],
but I doubt it's worthwhile.

* change

Command has other uses, namely changing media.
This patch inlines a stub; no functional change.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20180703155648.11933-14-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>