On Fri, Nov 20, 2015 at 03:09:25PM -0700, Eric Blake wrote: > On 11/20/2015 11:04 AM, Daniel P. Berrange wrote: > > + > > +static const char *base64_valid_chars = > > + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; > > + > > +static int > > +qcrypto_secret_validate_base64(const uint8_t *input, > > + size_t inputlen, > > + Error **errp) > > Don't we already have base64 utility methods available?
We normally use glib, g_base64_encode/decode. Unfortunately the decode method doesn't provide any usefull error reporting facility. It just silently skips any characters that are outside the valid set. So the only way I could get any kind of sensible error report was to do this validation myself against the set of permitted base64 characters. > > +++ b/qapi/crypto.json > > @@ -19,3 +19,17 @@ > > { 'enum': 'QCryptoTLSCredsEndpoint', > > 'prefix': 'QCRYPTO_TLS_CREDS_ENDPOINT', > > 'data': ['client', 'server']} > > + > > + > > +## > > +# QCryptoSecretFormat: > > +# > > +# The data format that the secret is provided in > > +# > > +# @raw: raw bytes. When encoded in JSON only valid UTF-8 sequences can be > > used > > +# @base64: arbitrary base64 encoded binary data > > +# Since: 2.5 > > You've missed 2.5. Probably need to tweak the whole series to call out 2.6. Yep. > > +## > > +{ 'enum': 'QCryptoSecretFormat', > > + 'prefix': 'QCRYPTO_SECRET_FORMAT', > > + 'data': ['raw', 'base64']} > > diff --git a/qemu-options.hx b/qemu-options.hx > > index 0eea4ee..dd3f7f8 100644 > > --- a/qemu-options.hx > > +++ b/qemu-options.hx > > @@ -3670,6 +3670,7 @@ queue @var{all|rx|tx} is an option that can be > > applied to any netfilter. > > @option{tx}: the filter is attached to the transmit queue of the netdev, > > where it will receive packets sent by the netdev. > > > > + > > @item -object > > filter-dump,id=@var{id},netdev=@var{dev},file=@var{filename}][,maxlen=@var{len}] > > Why the added blank line here? Rebase error I presume Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|