[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
> }
>