On Wed, Jul 24, 2024 at 04:04:58PM -0500, Eric Blake wrote:
> On Tue, Jul 23, 2024 at 05:30:12PM GMT, Richard W.M. Jones wrote:
> > Print the full error from the server during handshaking.  This
> > modifies the contract of handle_reply_error so it calls set_error,
> > which can be overridden by callers or ignored completely.
> > ---
> >  generator/states-newstyle-opt-go.c           | 32 +---------
> >  generator/states-newstyle-opt-list.c         |  5 +-
> >  generator/states-newstyle-opt-meta-context.c |  8 +--
> >  generator/states-newstyle.c                  | 62 ++++++++++++++++++--
> >  4 files changed, 63 insertions(+), 44 deletions(-)
> 
> This refactoring makes sense to get at the server's message (qemu
> already sends such messages, and I see your other thread on teaching
> nbdkit to do the same). ACK series.

Thanks, I pushed this as 9d1a65d0e..474a4ae6c.

One problem with this is that we take the server's (ie. untrusted)
string and create an error message from it.  Most libnbd callers write
these errors to stderr directly.  Thus server output can be
interpreted by the terminal.

This is also a problem in current qemu actually:

$ nbdkit --log=null eval open=' printf "EPERM x\\r mess up the output mess up 
the output mess up the output"  >&2; exit 1 ' get_size=' echo 0 ' --run 
'qemu-img info "$uri"'
qemu-img: Could not open 'nbd+unix://?socket=/tmp/nbdkitUO2nYZ/socket': 
Requested export not available
 mess up the output mess up the output mess up the output

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
_______________________________________________
Libguestfs mailing list -- guestfs@lists.libguestfs.org
To unsubscribe send an email to guestfs-le...@lists.libguestfs.org

Reply via email to