• Geert Martin Ijewski's avatar
    crypto: qcrypto_random_bytes() now works on windows w/o any other crypto libs · a3727816
    Geert Martin Ijewski authored
    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: 's avatarGeert Martin Ijewski <gm.ijewski@web.de>
    Signed-off-by: 's avatarDaniel P. Berrange <berrange@redhat.com>
    a3727816
random-gnutls.c 1.26 KB