mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
Merge bitcoin/bitcoin#29786: Drop Windows Socket dependency for randomenv.cpp
03b87a3e64
Drop Windows Socket dependency for `randomenv.cpp` (Hennadii Stepanov) Pull request description: This change drops a dependency on the ws2_32 library for our libbitcoinkernel by switching to [`GetComputerName`](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getcomputernamew) function. ACKs for top commit: sipsorcery: utACK03b87a3e64
. laanwj: Code review ACK03b87a3e64
. fanquake: ACK03b87a3e64
Tree-SHA512: a4abd5499176634d5f3fbf4e794a7504c40232fb73bd7f41955fbfb2cc7c44bc7ea4518c5203836e52f552c30414c6c3e1b24f0922641dbf1c8377981c0ffaf0
This commit is contained in:
commit
71f96c274f
@ -13,6 +13,7 @@
|
|||||||
#include <compat/compat.h>
|
#include <compat/compat.h>
|
||||||
#include <compat/cpuid.h>
|
#include <compat/cpuid.h>
|
||||||
#include <crypto/sha512.h>
|
#include <crypto/sha512.h>
|
||||||
|
#include <span.h>
|
||||||
#include <support/cleanse.h>
|
#include <support/cleanse.h>
|
||||||
#include <util/time.h>
|
#include <util/time.h>
|
||||||
|
|
||||||
@ -357,10 +358,19 @@ void RandAddStaticEnv(CSHA512& hasher)
|
|||||||
hasher << &hasher << &RandAddStaticEnv << &malloc << &errno << &environ;
|
hasher << &hasher << &RandAddStaticEnv << &malloc << &errno << &environ;
|
||||||
|
|
||||||
// Hostname
|
// Hostname
|
||||||
|
#ifdef WIN32
|
||||||
|
constexpr DWORD max_size = MAX_COMPUTERNAME_LENGTH + 1;
|
||||||
|
char hname[max_size];
|
||||||
|
DWORD size = max_size;
|
||||||
|
if (GetComputerNameA(hname, &size) != 0) {
|
||||||
|
hasher.Write(UCharCast(hname), size);
|
||||||
|
}
|
||||||
|
#else
|
||||||
char hname[256];
|
char hname[256];
|
||||||
if (gethostname(hname, 256) == 0) {
|
if (gethostname(hname, 256) == 0) {
|
||||||
hasher.Write((const unsigned char*)hname, strnlen(hname, 256));
|
hasher.Write((const unsigned char*)hname, strnlen(hname, 256));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_DECL_GETIFADDRS && HAVE_DECL_FREEIFADDRS
|
#if HAVE_DECL_GETIFADDRS && HAVE_DECL_FREEIFADDRS
|
||||||
// Network interfaces
|
// Network interfaces
|
||||||
|
Loading…
Reference in New Issue
Block a user