{"push_id":908902691,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"c688084506cf2cf2eba4ba9df4e91abb6e3dab83","before":"de532ff1df75cc80f0fb30885524e54b014d4983","commits":[{"sha":"89bc0b6cae6e40e9247bf911162b0aee0c818c4c","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"util: add base64 decoding function\n\nThe standard glib provided g_base64_decode doesn't provide any\nkind of sensible error checking on its input. Add a QEMU custom\nwrapper qbase64_decode which can be used with untrustworthy\ninput that can contain invalid base64 characters, embedded\nNUL characters, or not be NUL terminated at all.\n\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/89bc0b6cae6e40e9247bf911162b0aee0c818c4c"},{"sha":"e9cf2fe07ff70e939f80c624b44c10a4442eef0b","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"qemu-char: convert to use error checked base64 decode\n\nSwitch from using g_base64_decode over to qbase64_decode\nin order to get error checking of the base64 input data.\n\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/e9cf2fe07ff70e939f80c624b44c10a4442eef0b"},{"sha":"920639cab0fe28d003c90b53bd8b66e8fb333bdd","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"qga: convert to use error checked base64 decode\n\nSwitch from using g_base64_decode over to qbase64_decode\nin order to get error checking of the base64 input data.\n\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/920639cab0fe28d003c90b53bd8b66e8fb333bdd"},{"sha":"ac1d88784907c9603b3849b2c3043259f75ed2a5","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"crypto: add QCryptoSecret object class for password/key handling\n\nIntroduce a new QCryptoSecret object class which will be used\nfor providing passwords and keys to other objects which need\nsensitive credentials.\n\nThe new object can provide secret values directly as properties,\nor indirectly via a file. The latter includes support for file\ndescriptor passing syntax on UNIX platforms. Ordinarily passing\nsecret values directly as properties is insecure, since they\nare visible in process listings, or in log files showing the\nCLI args / QMP commands. It is possible to use AES-256-CBC to\nencrypt the secret values though, in which case all that is\nvisible is the ciphertext.  For ad hoc developer testing though,\nit is fine to provide the secrets directly without encryption\nso this is not explicitly forbidden.\n\nThe anticipated scenario is that libvirtd will create a random\nmaster key per QEMU instance (eg /var/run/libvirt/qemu/$VMNAME.key)\nand will use that key to encrypt all passwords it provides to\nQEMU via '-object secret,....'.  This avoids the need for libvirt\n(or other mgmt apps) to worry about file descriptor passing.\n\nIt also makes life easier for people who are scripting the\nmanagement of QEMU, for whom FD passing is significantly more\ncomplex.\n\nProviding data inline (insecure, only for ad hoc dev testing)\n\n  $QEMU -object secret,id=sec0,data=letmein\n\nProviding data indirectly in raw format\n\n  printf \"letmein\" > mypasswd.txt\n  $QEMU -object secret,id=sec0,file=mypasswd.txt\n\nProviding data indirectly in base64 format\n\n  $QEMU -object secret,id=sec0,file=mykey.b64,format=base64\n\nProviding data with encryption\n\n  $QEMU -object secret,id=master0,file=mykey.b64,format=base64 \\\n        -object secret,id=sec0,data=[base64 ciphertext],\\\n\t           keyid=master0,iv=[base64 IV],format=base64\n\nNote that 'format' here refers to the format of the ciphertext\ndata. The decrypted data must always be in raw byte format.\n\nMore examples are shown in the updated docs.\n\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/ac1d88784907c9603b3849b2c3043259f75ed2a5"},{"sha":"1d7b5b4afdcd76e24ec3678d5418b29d4ff06ad9","author":{"email":"bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com","name":"Daniel P. Berrange"},"message":"crypto: add support for loading encrypted x509 keys\n\nMake use of the QCryptoSecret object to support loading of\nencrypted x509 keys. The optional 'passwordid' parameter\nto the tls-creds-x509 object type, provides the ID of a\nsecret object instance that holds the decryption password\nfor the PEM file.\n\n # printf \"123456\" > mypasswd.txt\n # $QEMU \\\n    -object secret,id=sec0,filename=mypasswd.txt \\\n    -object tls-creds-x509,passwordid=sec0,id=creds0,\\\n            dir=/home/berrange/.pki/qemu,endpoint=server \\\n    -vnc :1,tls-creds=creds0\n\nThis requires QEMU to be linked to GNUTLS >= 3.1.11. If\nGNUTLS is too old an error will be reported if an attempt\nis made to pass a decryption password.\n\nReviewed-by: Eric Blake <eblake@redhat.com>\nSigned-off-by: Daniel P. Berrange <berrange@redhat.com>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/1d7b5b4afdcd76e24ec3678d5418b29d4ff06ad9"},{"sha":"c688084506cf2cf2eba4ba9df4e91abb6e3dab83","author":{"email":"313afa09ce093b19ae1dd74f57c1ebd94508584c@linaro.org","name":"Peter Maydell"},"message":"Merge remote-tracking branch 'remotes/berrange/tags/pull-qcrypto-secrets-base-2015-12-18-1' into staging\n\nMerge QCryptoSecret object support\n\n# gpg: Signature made Fri 18 Dec 2015 16:51:21 GMT using RSA key ID 15104FDF\n# gpg: Good signature from \"Daniel P. Berrange <dan@berrange.com>\"\n# gpg:                 aka \"Daniel P. Berrange <berrange@redhat.com>\"\n\n* remotes/berrange/tags/pull-qcrypto-secrets-base-2015-12-18-1:\n  crypto: add support for loading encrypted x509 keys\n  crypto: add QCryptoSecret object class for password/key handling\n  qga: convert to use error checked base64 decode\n  qemu-char: convert to use error checked base64 decode\n  util: add base64 decoding function\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/qemu/qemu/commits/c688084506cf2cf2eba4ba9df4e91abb6e3dab83"}]}