2e3b166c41
It is confusing having many different pieces of code enabling and disabling commands, and it is not clear that they all have the same semantics, especially wrt prioritization of the block/allow lists. The code attempted to prevent the user from setting both the block and allow lists concurrently, however, the logic was flawed as it checked settings in the configuration file separately from the command line arguments. Thus it was possible to set a block list in the config file and an allow list via a command line argument. The --dump-conf option also creates a configuration file with both keys present, even if unset, which means it is creating a config that cannot actually be loaded again. Centralizing the code in a single method "ga_apply_command_filters" will provide a strong guarantee of consistency and clarify the intended behaviour. With this there is no compelling technical reason to prevent concurrent setting of both the allow and block lists, so this flawed restriction is removed. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com> Message-ID: <20240712132459.3974109-23-berrange@redhat.com> Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com> |
||
---|---|---|
.. | ||
installer | ||
vss-win32 | ||
channel-posix.c | ||
channel-win32.c | ||
channel.h | ||
commands-bsd.c | ||
commands-common-ssh.c | ||
commands-common-ssh.h | ||
commands-common.h | ||
commands-linux.c | ||
commands-posix-ssh.c | ||
commands-posix.c | ||
commands-win32.c | ||
commands-windows-ssh.c | ||
commands-windows-ssh.h | ||
commands.c | ||
cutils.c | ||
cutils.h | ||
guest-agent-command-state.c | ||
guest-agent-core.h | ||
main.c | ||
meson.build | ||
messages-win32.mc | ||
qapi-schema.json | ||
service-win32.c | ||
service-win32.h | ||
vss-win32.c | ||
vss-win32.h |