diff --git a/bin/tools/win32/arpaname.vcxproj.in b/bin/tools/win32/arpaname.vcxproj.in
index 585adb0d59..143c29288a 100644
--- a/bin/tools/win32/arpaname.vcxproj.in
+++ b/bin/tools/win32/arpaname.vcxproj.in
@@ -68,7 +68,7 @@
true
..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)
..\..\..\lib\isc\win32\$(Configuration);%(AdditionalLibraryDirectories)
- @OPENSSL_LIB@libisc.lib;%(AdditionalDependencies)
+ @OPENSSL_LIB@libisc.lib;ws2_32.lib;%(AdditionalDependencies)
diff --git a/bin/tools/win32/mdig.vcxproj.in b/bin/tools/win32/mdig.vcxproj.in
index af0413a2c7..3c745d28e8 100644
--- a/bin/tools/win32/mdig.vcxproj.in
+++ b/bin/tools/win32/mdig.vcxproj.in
@@ -68,7 +68,7 @@
true
..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)
..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)
- @OPENSSL_LIB@libisc.lib;libdns.lib;libbind9.lib;%(AdditionalDependencies)
+ @OPENSSL_LIB@libisc.lib;libdns.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)
diff --git a/bin/win32/BINDInstall/StdAfx.h b/bin/win32/BINDInstall/StdAfx.h
index 099ecb2c9e..7c5a272bc4 100644
--- a/bin/win32/BINDInstall/StdAfx.h
+++ b/bin/win32/BINDInstall/StdAfx.h
@@ -4,10 +4,10 @@
//
/*
- * Minimum version is Windows XP SP1
+ * Minimum version is Windows Vista and Windows Server 2008
*/
-#define _WIN32_WINNT 0x0501
-#define NTDDI_VERSION 0x05010100
+#define _WIN32_WINNT 0x0600
+#define NTDDI_VERSION 0x06000100
#ifndef _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_DEPRECATE 1
diff --git a/config.h.win32 b/config.h.win32
index 5ad82bc368..0595c543e1 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -43,19 +43,19 @@
#endif
/*
- * Minimum version is Windows XP
+ * Minimum version is Windows Vista and Windows Server 2008
*/
#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
+#define _WIN32_WINNT 0x0600
#endif
-#if _WIN32_WINNT < 0x0501
-#error Minimum Target environment is Windows XP and Windows Server 2003
+#if _WIN32_WINNT < 0x0600
+#error Minimum Target environment is Windows Vista and Windows Server 2008
#endif
#ifndef NTDDI_VERSION
-#define NTDDI_VERSION 0x05010100
+#define NTDDI_VERSION 0x06000100
#endif
-#if NTDDI_VERSION < 0x05010100
-#error Minimum Target environment is Windows XP SP1 and Windows Server 2003
+#if NTDDI_VERSION < 0x06000100
+#error Minimum Target environment is Windows Vista and Windows Server 2008
#endif
/* Define if you have the ANSI C header files. */
diff --git a/lib/dns/win32/libdns.def.in b/lib/dns/win32/libdns.def.in
index 0784b0359f..e8ac6af323 100644
--- a/lib/dns/win32/libdns.def.in
+++ b/lib/dns/win32/libdns.def.in
@@ -1073,7 +1073,6 @@ dns_view_iscacheshared
dns_view_isdelegationonly
dns_view_issecuredomain
dns_view_load
-dns_view_loadnew
dns_view_loadnta
dns_view_ntacovers
dns_view_restorekeyring
@@ -1207,7 +1206,6 @@ dns_zone_keydone
dns_zone_link
dns_zone_load
dns_zone_loadandthaw
-dns_zone_loadnew
dns_zone_log
dns_zone_logc
dns_zone_logv
@@ -1346,7 +1344,6 @@ dns_zt_find
dns_zt_flushanddetach
dns_zt_freezezones
dns_zt_load
-dns_zt_loadnew
dns_zt_mount
dns_zt_setviewcommit
dns_zt_setviewrevert
diff --git a/lib/irs/gai_strerror.c b/lib/irs/gai_strerror.c
index 144ed66ece..b922fa1019 100644
--- a/lib/irs/gai_strerror.c
+++ b/lib/irs/gai_strerror.c
@@ -73,7 +73,11 @@ static const char *gai_messages[] = {
* Returns an error message corresponding to an error code returned by
* getaddrinfo() and getnameinfo()
*/
+#if defined _WIN32
+char *
+#else
const char *
+#endif
gai_strerror(int ecode) {
union {
const char *const_ptr;
diff --git a/lib/isc/include/isc/strerr.h b/lib/isc/include/isc/strerr.h
index 40022ecd6d..e3e0304dab 100644
--- a/lib/isc/include/isc/strerr.h
+++ b/lib/isc/include/isc/strerr.h
@@ -17,7 +17,7 @@
#include
-#if _GNU_SOURCE
+#if defined(strerror_r)
#undef strerror_r
-#define strerror_r isc_string_strerror_r
#endif
+#define strerror_r isc_string_strerror_r
diff --git a/lib/isc/string.c b/lib/isc/string.c
index b1e42a0b57..46e5303166 100644
--- a/lib/isc/string.c
+++ b/lib/isc/string.c
@@ -44,8 +44,8 @@
#ifdef _GNU_SOURCE
#undef _GNU_SOURCE
-#include
#endif
+#include
#include "isc/string.h" // IWYU pragma: keep
@@ -109,5 +109,9 @@ isc_string_strlcat(char *dst, const char *src, size_t size)
int
isc_string_strerror_r(int errnum, char *buf, size_t buflen) {
+#if defined(_WIN32) || defined(_WIN64)
+ return (strerror_s(buf, buflen, errnum));
+#else
return (strerror_r(errnum, buf, buflen));
+#endif
}
diff --git a/lib/isc/win32/errno2result.c b/lib/isc/win32/errno2result.c
index d24a1268b1..d09fc2b233 100644
--- a/lib/isc/win32/errno2result.c
+++ b/lib/isc/win32/errno2result.c
@@ -17,6 +17,7 @@
#include "errno2result.h"
#include
+#include
#include
#include
diff --git a/lib/isc/win32/include/isc/platform.h.in b/lib/isc/win32/include/isc/platform.h.in
index eea970e6a9..a0fc5c644a 100644
--- a/lib/isc/win32/include/isc/platform.h.in
+++ b/lib/isc/win32/include/isc/platform.h.in
@@ -28,7 +28,6 @@
#if defined(_WIN32) || defined(_WIN64)
/* We are on Windows */
# define strtok_r strtok_s
-# define strerror_r(errnum, buf, buflen) strerror_s(buf, buflen, errnum)
#define ISC_STRERRORSIZE 128
diff --git a/lib/isc/win32/include/isc/stdatomic.h b/lib/isc/win32/include/isc/stdatomic.h
index 4eeb10f88e..69f01ba275 100644
--- a/lib/isc/win32/include/isc/stdatomic.h
+++ b/lib/isc/win32/include/isc/stdatomic.h
@@ -205,13 +205,13 @@ atomic_compare_exchange_strong_explicit64(atomic_int_fast64_t *obj,
REQUIRE(succ == fail);
switch (succ) {
case memory_order_relaxed:
- __v = InterlockedCompareExchange64NoFence((atomic_int_fast64_t *)obj, desired, *expected);
+ __v = InterlockedCompareExchangeNoFence64((atomic_int_fast64_t *)obj, desired, *expected);
break;
case memory_order_acquire:
- __v = InterlockedCompareExchange64Acquire((atomic_int_fast64_t *)obj, desired, *expected);
+ __v = InterlockedCompareExchangeAcquire64((atomic_int_fast64_t *)obj, desired, *expected);
break;
case memory_order_release:
- __v = InterlockedCompareExchange64Release((atomic_int_fast64_t *)obj, desired, *expected);
+ __v = InterlockedCompareExchangeRelease64((atomic_int_fast64_t *)obj, desired, *expected);
break;
default:
__v = InterlockedCompareExchange64((atomic_int_fast64_t *)obj, desired, *expected);
diff --git a/lib/isc/win32/interfaceiter.c b/lib/isc/win32/interfaceiter.c
index 3272c89ecf..da6d282b04 100644
--- a/lib/isc/win32/interfaceiter.c
+++ b/lib/isc/win32/interfaceiter.c
@@ -31,7 +31,6 @@
#include
#include
#include
-#include
#include
#include
diff --git a/lib/isc/win32/libisc.def.in b/lib/isc/win32/libisc.def.in
index 9c05ba59c7..049f5066ca 100644
--- a/lib/isc/win32/libisc.def.in
+++ b/lib/isc/win32/libisc.def.in
@@ -433,14 +433,12 @@ isc_net_disableipv6
isc_net_enableipv4
isc_net_enableipv6
isc_net_getudpportrange
-isc_net_ntop
isc_net_probe_ipv6only
isc_net_probe_ipv6pktinfo
isc_net_probedscp
isc_net_probeipv4
isc_net_probeipv6
isc_net_probeunix
-isc_net_pton
isc_netaddr_any
isc_netaddr_any6
isc_netaddr_eqprefix
diff --git a/lib/isc/win32/libisc.vcxproj.filters.in b/lib/isc/win32/libisc.vcxproj.filters.in
index ff1c035ac2..bce90661fe 100644
--- a/lib/isc/win32/libisc.vcxproj.filters.in
+++ b/lib/isc/win32/libisc.vcxproj.filters.in
@@ -449,9 +449,6 @@
Win32 Source Files
-
- Win32 Source Files
-
Win32 Source Files
@@ -538,12 +535,6 @@
Library Source Files
-
- Library Source Files
-
-
- Library Source Files
-
Library Source Files
diff --git a/lib/isc/win32/libisc.vcxproj.in b/lib/isc/win32/libisc.vcxproj.in
index 376ab0cf0c..c32f5c8be7 100644
--- a/lib/isc/win32/libisc.vcxproj.in
+++ b/lib/isc/win32/libisc.vcxproj.in
@@ -437,8 +437,6 @@ copy InstallFiles ..\Build\Release\
-
-
@@ -497,7 +495,6 @@ copy InstallFiles ..\Build\Release\
-
diff --git a/lib/isc/win32/net.c b/lib/isc/win32/net.c
index 7328f8e54c..3ae2e4c3e6 100644
--- a/lib/isc/win32/net.c
+++ b/lib/isc/win32/net.c
@@ -19,7 +19,7 @@
#include
#include
#include
-#include
+#include
#include
#include
diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c
index ffcc0cc9e1..9add374881 100644
--- a/lib/isc/win32/socket.c
+++ b/lib/isc/win32/socket.c
@@ -62,7 +62,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include