a37278169d
If no crypto library is included in the build, QEMU uses qcrypto_random_bytes() to generate random data. That function tried to open /dev/urandom or /dev/random and if opening both files failed it errored out. Those files obviously do not exist on windows, so there the code uses CryptGenRandom(). Furthermore there was some refactoring and a new function qcrypto_random_init() was introduced. If a proper crypto library (gnutls or libgcrypt) is included in the build, this function does nothing. If neither is included it initializes the (platform specific) handles that are used by qcrypto_random_bytes(). Either: * a handle to /dev/urandom | /dev/random on unix like systems * a handle to a cryptographic service provider on windows Signed-off-by: Geert Martin Ijewski <gm.ijewski@web.de> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> |
||
---|---|---|
.. | ||
aes.c | ||
afsplit.c | ||
block-luks.c | ||
block-luks.h | ||
block-qcow.c | ||
block-qcow.h | ||
block.c | ||
blockpriv.h | ||
cipher-builtin.c | ||
cipher-gcrypt.c | ||
cipher-nettle.c | ||
cipher.c | ||
desrfb.c | ||
hash-gcrypt.c | ||
hash-glib.c | ||
hash-nettle.c | ||
hash.c | ||
hmac-gcrypt.c | ||
hmac-glib.c | ||
hmac-nettle.c | ||
hmac.c | ||
hmac.h | ||
init.c | ||
ivgen-essiv.c | ||
ivgen-essiv.h | ||
ivgen-plain64.c | ||
ivgen-plain64.h | ||
ivgen-plain.c | ||
ivgen-plain.h | ||
ivgen.c | ||
ivgenpriv.h | ||
Makefile.objs | ||
pbkdf-gcrypt.c | ||
pbkdf-nettle.c | ||
pbkdf-stub.c | ||
pbkdf.c | ||
random-gcrypt.c | ||
random-gnutls.c | ||
random-platform.c | ||
secret.c | ||
tlscreds.c | ||
tlscredsanon.c | ||
tlscredspriv.h | ||
tlscredsx509.c | ||
tlssession.c | ||
trace-events | ||
xts.c |