Currently, the captured output (via `capture-output`) is segregated into
separate GuestExecStatus fields (`out-data` and `err-data`). This means
that downstream consumers have no way to reassemble the captured data
back into the original stream.
This is relevant for chatty and semi-interactive (ie. read only) CLI
tools. Such tools may deliberately interleave stdout and stderr for
visual effect. If segregated, the output becomes harder to visually
understand.
This patchset adds support for merging stderr and stdout output streams
via a new QAPI flag.
Changes from v2:
* Error out if `merge-output` on windows guests
* Add FIXMEs for when glib is updated
* Fix memory leaks in qemu-keymap
Changes from v1:
* Drop invalid test fix
* Do not support `merge-output` on windows guests
* Fix a UAF in tests
Daniel Xu (4):
crypto/luks: Initialize stack variable to silence warning
qemu-keymap: Fix memory leaks
qga: Add optional `merge-output` flag to guest-exec qapi
qga: test: Add tests for `merge-output` flag
crypto/block-luks.c | 2 +-
qemu-keymap.c | 5 ++
qga/commands.c | 28 +++++++-
qga/qapi-schema.json | 6 +-
tests/unit/test-qga.c | 157 +++++++++++++++++++++++++++++++++++++-----
5 files changed, 177 insertions(+), 21 deletions(-)
--
2.39.1