diff options
author | Mitya Selivanov <automainint@guattari.tech> | 2024-11-17 05:24:04 +0100 |
---|---|---|
committer | Mitya Selivanov <automainint@guattari.tech> | 2024-11-17 05:24:04 +0100 |
commit | d5a727a062e4d727491f4e7f047269d60a93a8cf (patch) | |
tree | 565aec155ab056f1bef8ddc7dc78d52e65aa76b7 /kit/secure_random.c | |
parent | 4ba961dcbf60f7c12f53f46baa261757e15d5931 (diff) | |
download | saw-d5a727a062e4d727491f4e7f047269d60a93a8cf.zip |
Remove lots of dependencies
Diffstat (limited to 'kit/secure_random.c')
-rw-r--r-- | kit/secure_random.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/kit/secure_random.c b/kit/secure_random.c deleted file mode 100644 index 2565f6f..0000000 --- a/kit/secure_random.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "secure_random.h" - -#include <assert.h> -#include <stdio.h> -#include <stdlib.h> - -#if defined(_WIN32) && !defined(__CYGWIN__) -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN 1 -# endif -# include <windows.h> -# include <wincrypt.h> -#else -# include <unistd.h> -#endif - -s32 kit_secure_random(i64 size, void *data) { - assert(size >= 0); - assert(data != NULL); - - if (size <= 0 || data == NULL) - return KIT_ERROR_INVALID_ARGUMENT; - -#if defined(_WIN32) && !defined(__CYGWIN__) - HCRYPTPROV prov = 0; - if (!CryptAcquireContextW(&prov, NULL, NULL, PROV_RSA_FULL, - CRYPT_VERIFYCONTEXT | CRYPT_SILENT) || - !CryptGenRandom(prov, (DWORD) size, (BYTE *) data) || - !CryptReleaseContext(prov, 0)) - return KIT_ERROR_RESOURCE_UNAVAILABLE; -#else - FILE *f = fopen("/dev/urandom", "rb"); - - if (f == NULL) - return KIT_ERROR_RESOURCE_UNAVAILABLE; - - i64 n = (i64) fread(data, 1, size, f); - fclose(f); - - if (n != size) - return KIT_ERROR_RESOURCE_UNAVAILABLE; -#endif - - return KIT_OK; -} |