[Libguestfs] [PATCH nbdkit] vddk: Disallow password=-
Eric Blake
eblake at redhat.com
Mon Jun 1 17:13:13 UTC 2020
On 6/1/20 11:07 AM, Richard W.M. Jones wrote:
> This has been broken since we added the reexec code
> (commit 155af3107292c351d54ed42c732f4a67bb9aa910) because it
> tried to read the password twice (before and after the reexec) failing
> the second time because stdin had already been reopened on /dev/null.
>
> Virt-v2v used this feature, but I will change virt-v2v instead.
> ---
> plugins/vddk/nbdkit-vddk-plugin.pod | 7 +------
> plugins/vddk/vddk.c | 4 ++++
> 2 files changed, 5 insertions(+), 6 deletions(-)
This is the simplest "fix", by avoiding the problem. It may still be
possible to come up with something more robust, where (since we are
already special-casing for "-" as the password value) we read the
password prior to re-exec, and rewrite the command line of the re-exec
to instead consume a temporary file. But that's more complex, and
doesn't stop us from pushing this now; if we ever do implement the more
complex patch, we can roll back the documentation change.
And I already see that you have the counterpart v2v patch that hoists
the reading of the password into v2v instead of worrying about vddk; the
v2v hack of using a temporary file "works" in spite of our re-exec
reading it twice, even if we want to eventually reach the point where a
more complex patch in the vddk plugin would only read the password once
before re-exec.
ACK.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
More information about the Libguestfs
mailing list