mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-28 11:43:50 +00:00
fix issue of SystemFunction036 not found at advapi32 when build libsodium .
This commit is contained in:
@@ -30,9 +30,13 @@
|
||||
# if defined(__cplusplus)
|
||||
extern "C"
|
||||
# endif
|
||||
#if defined(__MINGW32__)
|
||||
BOOLEAN (APIENTRY *RtlGenRandom)(PVOID, ULONG);
|
||||
#else
|
||||
BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength);
|
||||
# pragma comment(lib, "advapi32.lib")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define SALSA20_RANDOM_BLOCK_SIZE crypto_core_salsa20_OUTPUTBYTES
|
||||
#define SHA512_BLOCK_SIZE 128U
|
||||
@@ -189,6 +193,10 @@ randombytes_salsa20_random_stir(void)
|
||||
abort(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
#else /* _WIN32 */
|
||||
#if defined (__MINGW32__)
|
||||
HMODULE lib = LoadLibraryW (L"advapi32.dll");
|
||||
RtlGenRandom = (BOOLEAN(APIENTRY*)(PVOID,ULONG))GetProcAddress (lib,"SystemFunction036");
|
||||
#endif
|
||||
if (! RtlGenRandom((PVOID) m0, (ULONG) sizeof m0)) {
|
||||
abort(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
@@ -26,9 +26,13 @@
|
||||
# if defined(__cplusplus)
|
||||
extern "C"
|
||||
# endif
|
||||
#if defined(__MINGW32__)
|
||||
BOOLEAN (APIENTRY *RtlGenRandom)(PVOID, ULONG);
|
||||
#else
|
||||
BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength);
|
||||
# pragma comment(lib, "advapi32.lib")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
|
||||
@@ -211,6 +215,10 @@ randombytes_sysrandom_buf(void * const buf, const size_t size)
|
||||
if (size > (size_t) 0xffffffff) {
|
||||
abort(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
#if defined (__MINGW32__)
|
||||
HMODULE lib = LoadLibraryW (L"advapi32.dll");
|
||||
RtlGenRandom = (BOOLEAN(APIENTRY*)(PVOID,ULONG))GetProcAddress (lib,"SystemFunction036");
|
||||
#endif
|
||||
if (! RtlGenRandom((PVOID) buf, (ULONG) size)) {
|
||||
abort(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user