aboutsummaryrefslogtreecommitdiff
path: root/src/randomenv.cpp
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-04-02 14:29:24 +0100
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-04-02 14:29:24 +0100
commit03b87a3e64305ba651e22a730e35271dea8fea64 (patch)
tree0bb9594d613288c6a3414c325e204e099a8d7e93 /src/randomenv.cpp
parent23ba39470c3d155a65f0616f8848ada730658301 (diff)
downloadbitcoin-03b87a3e64305ba651e22a730e35271dea8fea64.tar.xz
Drop Windows Socket dependency for `randomenv.cpp`
This change drops a dependency on the ws2_32 library for our libbitcoinkernel, which may not be desirable.
Diffstat (limited to 'src/randomenv.cpp')
-rw-r--r--src/randomenv.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/randomenv.cpp b/src/randomenv.cpp
index da81a61651..123b5cc06c 100644
--- a/src/randomenv.cpp
+++ b/src/randomenv.cpp
@@ -13,6 +13,7 @@
#include <compat/compat.h>
#include <compat/cpuid.h>
#include <crypto/sha512.h>
+#include <span.h>
#include <support/cleanse.h>
#include <util/time.h>
@@ -357,10 +358,19 @@ void RandAddStaticEnv(CSHA512& hasher)
hasher << &hasher << &RandAddStaticEnv << &malloc << &errno << &environ;
// 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];
if (gethostname(hname, 256) == 0) {
hasher.Write((const unsigned char*)hname, strnlen(hname, 256));
}
+#endif
#if HAVE_DECL_GETIFADDRS && HAVE_DECL_FREEIFADDRS
// Network interfaces