qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 02/14] crypto: Reverse code blocks in random-


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v2 02/14] crypto: Reverse code blocks in random-platform.c
Date: Thu, 14 Mar 2019 22:38:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1

On 3/14/19 5:55 AM, Richard Henderson wrote:
> Use #ifdef _WIN32 instead of #ifndef _WIN32.
> This will make other tests easier to sequence.
> 
> Cc: Daniel P. Berrangé <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> ---
>  crypto/random-platform.c | 35 +++++++++++++++++------------------
>  1 file changed, 17 insertions(+), 18 deletions(-)
> 
> diff --git a/crypto/random-platform.c b/crypto/random-platform.c
> index 7541b4cae7..f995fc0ef1 100644
> --- a/crypto/random-platform.c
> +++ b/crypto/random-platform.c
> @@ -32,7 +32,14 @@ static int fd; /* a file handle to either /dev/urandom or 
> /dev/random */
>  
>  int qcrypto_random_init(Error **errp)
>  {
> -#ifndef _WIN32
> +#ifdef _WIN32
> +    if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL,
> +                             CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
> +        error_setg_win32(errp, GetLastError(),
> +                         "Unable to create cryptographic provider");
> +        return -1;
> +    }
> +#else
>      /* TBD perhaps also add support for BSD getentropy / Linux
>       * getrandom syscalls directly */
>      fd = open("/dev/urandom", O_RDONLY);
> @@ -44,15 +51,7 @@ int qcrypto_random_init(Error **errp)
>          error_setg(errp, "No /dev/urandom or /dev/random found");
>          return -1;
>      }
> -#else
> -    if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL,
> -                             CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
> -        error_setg_win32(errp, GetLastError(),
> -                         "Unable to create cryptographic provider");
> -        return -1;
> -    }
>  #endif
> -
>      return 0;
>  }
>  
> @@ -60,7 +59,15 @@ int qcrypto_random_bytes(uint8_t *buf G_GNUC_UNUSED,
>                           size_t buflen G_GNUC_UNUSED,
>                           Error **errp)
>  {
> -#ifndef _WIN32
> +#ifdef _WIN32
> +    if (!CryptGenRandom(hCryptProv, buflen, buf)) {
> +        error_setg_win32(errp, GetLastError(),
> +                         "Unable to read random bytes");
> +        return -1;
> +    }
> +
> +    return 0;
> +#else
>      int ret = -1;
>      int got;
>  
> @@ -82,13 +89,5 @@ int qcrypto_random_bytes(uint8_t *buf G_GNUC_UNUSED,
>      ret = 0;
>   cleanup:
>      return ret;
> -#else
> -    if (!CryptGenRandom(hCryptProv, buflen, buf)) {
> -        error_setg_win32(errp, GetLastError(),
> -                         "Unable to read random bytes");
> -        return -1;
> -    }
> -
> -    return 0;
>  #endif
>  }
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]