mirror of
https://github.com/curl/curl.git
synced 2026-07-26 07:17:16 +03:00
mingw: delete support for legacy mingw.org toolchain
Drop support for "old" / "legacy" / "classic" / "v1" / "mingw32" MinGW: https://en.wikipedia.org/wiki/MinGW, https://osdn.net/projects/mingw/ Its homepage used to be http://mingw.org/ [no HTTPS], and broken now. It supported the x86 CPU only and used a old Windows API header and implib set, often causing issues. It also misses most modern Windows features, offering old versions of both binutils and gcc (no llvm/clang support). It was last updated 2 years ago. curl now relies on toolchains based on the mingw-w64 project: https://www.mingw-w64.org/ https://sourceforge.net/projects/mingw-w64/ https://www.msys2.org/ https://github.com/msys2/msys2 https://github.com/mstorsjo/llvm-mingw (Also available via Linux and macOS package managers.) Closes #11625
This commit is contained in:
parent
65b563a96a
commit
38029101e2
19 changed files with 32 additions and 519 deletions
|
|
@ -237,12 +237,6 @@ stages:
|
|||
prepare: pacman -S --needed --noconfirm --noprogressbar libssh-devel mingw-w64-x86_64-libssh
|
||||
configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --with-libssh --with-openssl
|
||||
tests: "~571 ~614"
|
||||
v1_mingw:
|
||||
name: 32-bit (legacy)
|
||||
container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw:ltsc2019
|
||||
container_cmd: C:\MinGW\msys\1.0\bin\sh
|
||||
configure: --host=i686-pc-mingw32 --build=i686-pc-mingw32 --prefix=/mingw --enable-debug --without-ssl --with-mingw1-deprecated
|
||||
tests: "!203 !1143"
|
||||
v1_mingw32:
|
||||
name: 32-bit w/o zlib
|
||||
container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw32:ltsc2019
|
||||
|
|
@ -269,12 +263,6 @@ stages:
|
|||
prepare: pacman -S --needed --noconfirm --noprogressbar libssh2-devel mingw-w64-x86_64-libssh2
|
||||
configure: --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --prefix=/mingw64 --enable-debug --enable-werror --enable-sspi --with-schannel --with-winidn --with-libssh2
|
||||
tests: "~571"
|
||||
v1_mingw_schannel:
|
||||
name: 32-bit Schannel/SSPI/WinIDN (legacy)
|
||||
container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw:ltsc2019
|
||||
container_cmd: C:\MinGW\msys\1.0\bin\sh
|
||||
configure: --host=i686-pc-mingw32 --build=i686-pc-mingw32 --prefix=/mingw --enable-debug --enable-sspi --with-schannel --with-winidn --with-mingw1-deprecated
|
||||
tests: "!203 !305 !311 !312 !313 !404 !1143 !2033 !2035 !2038 !2041 !2042 !2048 !2070 !2079 !2087 !3023 !3024"
|
||||
v1_mingw32_schannel:
|
||||
name: 32-bit Schannel/SSPI/WinIDN w/o zlib
|
||||
container_img: ghcr.io/mback2k/curl-docker-winbuildenv/msys1-mingw32:ltsc2019
|
||||
|
|
|
|||
|
|
@ -385,19 +385,6 @@ if(WIN32)
|
|||
if(USE_LIBRTMP)
|
||||
list(APPEND CURL_LIBS "winmm")
|
||||
endif()
|
||||
|
||||
# Matching logic used for Curl_win32_random()
|
||||
if(MINGW)
|
||||
check_c_source_compiles("
|
||||
#include <_mingw.h>
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#error
|
||||
#endif
|
||||
int main(void) {
|
||||
return 0;
|
||||
}"
|
||||
HAVE_MINGW_ORIGINAL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# check SSL libraries
|
||||
|
|
@ -488,9 +475,7 @@ if(CURL_USE_OPENSSL)
|
|||
|
||||
if(WIN32)
|
||||
list(APPEND CURL_LIBS "ws2_32")
|
||||
if(NOT HAVE_MINGW_ORIGINAL)
|
||||
list(APPEND CURL_LIBS "bcrypt") # for OpenSSL/LibreSSL
|
||||
endif()
|
||||
list(APPEND CURL_LIBS "bcrypt") # for OpenSSL/LibreSSL
|
||||
endif()
|
||||
|
||||
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
||||
|
|
@ -595,9 +580,7 @@ macro(openssl_check_symbol_exists SYMBOL FILES VARIABLE)
|
|||
endif()
|
||||
if(WIN32)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "ws2_32")
|
||||
if(NOT HAVE_MINGW_ORIGINAL)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "bcrypt") # for OpenSSL/LibreSSL
|
||||
endif()
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "bcrypt") # for OpenSSL/LibreSSL
|
||||
endif()
|
||||
elseif(USE_WOLFSSL)
|
||||
set(CMAKE_REQUIRED_INCLUDES "${WolfSSL_INCLUDE_DIRS}")
|
||||
|
|
@ -1360,11 +1343,7 @@ if(WIN32)
|
|||
list(APPEND CURL_LIBS "advapi32" "crypt32")
|
||||
endif()
|
||||
|
||||
if(NOT HAVE_MINGW_ORIGINAL)
|
||||
list(APPEND CURL_LIBS "bcrypt")
|
||||
else()
|
||||
set(HAVE_FTRUNCATE OFF)
|
||||
endif()
|
||||
list(APPEND CURL_LIBS "bcrypt")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
|
|
|
|||
15
appveyor.yml
15
appveyor.yml
|
|
@ -188,21 +188,6 @@ environment:
|
|||
ADD_PATH: "C:\\mingw-w64\\i686-6.3.0-posix-dwarf-rt_v5-rev1\\mingw32\\bin;C:\\msys64\\usr\\bin"
|
||||
MSYS2_ARG_CONV_EXCL: "/*"
|
||||
BUILD_OPT: -k
|
||||
- job_name: "CMake, mingw, Debug x86, no SSL, Static"
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2022"
|
||||
BUILD_SYSTEM: CMake
|
||||
PRJ_GEN: "MSYS Makefiles"
|
||||
PRJ_CFG: Debug
|
||||
OPENSSL: OFF
|
||||
SCHANNEL: OFF
|
||||
ENABLE_UNICODE: OFF
|
||||
HTTP_ONLY: OFF
|
||||
TESTING: ON
|
||||
SHARED: OFF
|
||||
DISABLED_TESTS: "!1139 !1501"
|
||||
ADD_PATH: "C:\\MinGW\\bin;C:\\msys64\\usr\\bin"
|
||||
MSYS2_ARG_CONV_EXCL: "/*"
|
||||
BUILD_OPT: -k
|
||||
# winbuild-based builds
|
||||
- job_name: "winbuild, VS2015, Debug"
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
|
||||
|
|
|
|||
64
configure.ac
64
configure.ac
|
|
@ -579,67 +579,6 @@ else
|
|||
fi
|
||||
AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes)
|
||||
|
||||
# For original MinGW (ie not MinGW-w64) define the Windows minimum supported OS
|
||||
# version to Windows XP (0x501) if it hasn't already been defined by the user.
|
||||
# Without this override original MinGW defaults the version to Windows NT 4.0.
|
||||
# Note original MinGW sets _WIN32_WINNT if not defined to whatever WINVER is.
|
||||
case $host in
|
||||
*-*-mingw32*)
|
||||
AC_MSG_CHECKING([if MinGW minimum supported OS should be set to XP])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <_mingw.h>
|
||||
]],[[
|
||||
#if defined(__MINGW64_VERSION_MAJOR) || \
|
||||
defined(WINVER) || \
|
||||
defined(_WIN32_WINNT)
|
||||
#error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
CPPFLAGS="$CPPFLAGS -DWINVER=0x501"
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
;;
|
||||
esac
|
||||
|
||||
# Detect original MinGW (not MinGW-w64)
|
||||
curl_mingw_original=no
|
||||
case $host in
|
||||
*-*-mingw32*)
|
||||
AC_MSG_CHECKING([using original MinGW (not MinGW-w64)])
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <_mingw.h>
|
||||
]],[[
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#error
|
||||
#endif
|
||||
]])
|
||||
],[
|
||||
curl_mingw_original=yes
|
||||
curl_mingw_die=yes
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
AC_ARG_WITH(mingw1-deprecated,dnl
|
||||
AS_HELP_STRING([--with-mingw1-deprecated],[confirm you realize support for mingw v1 is dying]),
|
||||
if test X"$withval" != Xno; then
|
||||
curl_mingw_die=
|
||||
fi
|
||||
)
|
||||
|
||||
if test -n "$curl_mingw_die"; then
|
||||
AC_MSG_ERROR([support for mingw v1 is going away, enable temporarily with --with-mingw1-deprecated])
|
||||
fi
|
||||
|
||||
dnl **********************************************************************
|
||||
dnl Compilation based checks should not be done before this point.
|
||||
dnl **********************************************************************
|
||||
|
|
@ -2080,8 +2019,7 @@ if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then
|
|||
fi
|
||||
|
||||
dnl link bcrypt for BCryptGenRandom() (used when building for Vista or newer)
|
||||
if test "x$curl_cv_native_windows" = "xyes" &&
|
||||
test "x$curl_mingw_original" = "xno"; then
|
||||
if test "x$curl_cv_native_windows" = "xyes"; then
|
||||
LIBS="-lbcrypt $LIBS"
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -6,18 +6,6 @@ email the
|
|||
as soon as possible and explain to us why this is a problem for you and
|
||||
how your use case cannot be satisfied properly using a workaround.
|
||||
|
||||
## mingw v1
|
||||
|
||||
We remove support for building curl with the original legacy mingw version 1
|
||||
in September 2023.
|
||||
|
||||
During the deprecation period you can enable the support with the configure
|
||||
option `--with-mingw1-deprecated`.
|
||||
|
||||
mingw version 1 is old and deprecated software. There are much better and
|
||||
still support build environments to use to build curl and other software. For
|
||||
example [MinGW-w64](https://www.mingw-w64.org/).
|
||||
|
||||
## space-separated `NOPROXY` patterns
|
||||
|
||||
When specifying patterns/domain names for curl that should *not* go through a
|
||||
|
|
@ -46,3 +34,4 @@ curl will remove the support for space-separated names in July 2024.
|
|||
- Support for systems without 64 bit data types
|
||||
- NSS
|
||||
- gskit
|
||||
- mingw v1
|
||||
|
|
|
|||
|
|
@ -183,12 +183,12 @@ multi-threaded dynamic C runtime.
|
|||
|
||||
If you get linkage errors read section 5.7 of the FAQ document.
|
||||
|
||||
## MinGW32
|
||||
## mingw-w64
|
||||
|
||||
Make sure that MinGW32's bin directory is in the search path, for example:
|
||||
Make sure that mingw-w64's bin directory is in the search path, for example:
|
||||
|
||||
```cmd
|
||||
set PATH=c:\mingw32\bin;%PATH%
|
||||
set PATH=c:\mingw-w64\bin;%PATH%
|
||||
```
|
||||
|
||||
then run `mingw32-make mingw32` in the root dir. There are other
|
||||
|
|
@ -246,7 +246,7 @@ Requires DJGPP in the search path and pointing to the Watt-32 stack via
|
|||
|
||||
Run `make -f Makefile.dist djgpp` in the root curl dir.
|
||||
|
||||
For build configuration options, please see the MinGW32 section.
|
||||
For build configuration options, please see the mingw-w64 section.
|
||||
|
||||
Notes:
|
||||
|
||||
|
|
@ -261,7 +261,7 @@ Notes:
|
|||
|
||||
Run `make -f Makefile.dist amiga` in the root curl dir.
|
||||
|
||||
For build configuration options, please see the MinGW32 section.
|
||||
For build configuration options, please see the mingw-w64 section.
|
||||
|
||||
## Disabling Specific Protocols in Windows builds
|
||||
|
||||
|
|
|
|||
|
|
@ -39,15 +39,13 @@
|
|||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#if defined(__MINGW32__) || \
|
||||
(defined(_MSC_VER) && (_MSC_VER >= 1800))
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
|
||||
#define HAVE_INTTYPES_H 1
|
||||
#endif
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#if defined(__MINGW32__) || defined(__POCC__) || \
|
||||
(defined(_MSC_VER) && (_MSC_VER >= 1600)) || \
|
||||
(defined(__BORLANDC__) && (__BORLANDC__ >= 0x0582))
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(__MINGW32__) || \
|
||||
(defined(__BORLANDC__) && (__BORLANDC__ >= 0x0582)) || defined(__POCC__)
|
||||
#define HAVE_STDINT_H 1
|
||||
#endif
|
||||
|
||||
|
|
@ -72,8 +70,7 @@
|
|||
#define HAVE_SIGNAL_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdbool.h> header file. */
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || \
|
||||
defined(__MINGW64_VERSION_MAJOR)
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
|
||||
#define HAVE_STDBOOL_H 1
|
||||
#endif
|
||||
|
||||
|
|
@ -140,7 +137,7 @@
|
|||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have the <libgen.h> header file. */
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#if defined(__MINGW32__)
|
||||
#define HAVE_LIBGEN_H 1
|
||||
#endif
|
||||
|
||||
|
|
@ -155,8 +152,7 @@
|
|||
/* #define TIME_WITH_SYS_TIME 1 */
|
||||
|
||||
/* Define to 1 if bool is an available type. */
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || \
|
||||
defined(__MINGW64_VERSION_MAJOR)
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
|
||||
#define HAVE_BOOL_T 1
|
||||
#endif
|
||||
|
||||
|
|
@ -168,7 +164,7 @@
|
|||
#define HAVE_CLOSESOCKET 1
|
||||
|
||||
/* Define if you have the ftruncate function. */
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#if defined(__MINGW32__)
|
||||
#define HAVE_FTRUNCATE 1
|
||||
#endif
|
||||
|
||||
|
|
@ -203,7 +199,7 @@
|
|||
#define HAVE_SOCKET 1
|
||||
|
||||
/* Define if you have the strcasecmp function. */
|
||||
#ifdef __MINGW32__
|
||||
#if defined(__MINGW32__)
|
||||
#define HAVE_STRCASECMP 1
|
||||
#endif
|
||||
|
||||
|
|
@ -276,12 +272,12 @@
|
|||
#endif
|
||||
|
||||
/* Define to 1 if you have the `basename' function. */
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#if defined(__MINGW32__)
|
||||
#define HAVE_BASENAME 1
|
||||
#endif
|
||||
|
||||
/* Define to 1 if you have the strtok_r function. */
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#if defined(__MINGW32__)
|
||||
#define HAVE_STRTOK_R 1
|
||||
#endif
|
||||
|
||||
|
|
@ -411,11 +407,9 @@
|
|||
#define _CRT_NONSTDC_NO_DEPRECATE 1
|
||||
#endif
|
||||
|
||||
/* mingw-w64, mingw using >= MSVCR80, and visual studio >= 2005 (MSVCR80)
|
||||
/* mingw-w64 and visual studio >= 2005 (MSVCR80)
|
||||
all default to 64-bit time_t unless _USE_32BIT_TIME_T is defined */
|
||||
#if defined(__MINGW64_VERSION_MAJOR) || \
|
||||
(defined(__MINGW32__) && (__MSVCRT_VERSION__ >= 0x0800)) || \
|
||||
(defined(_MSC_VER) && (_MSC_VER >= 1400))
|
||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1400)) || defined(__MINGW32__)
|
||||
# ifndef _USE_32BIT_TIME_T
|
||||
# define SIZEOF_TIME_T 8
|
||||
# else
|
||||
|
|
@ -564,14 +558,14 @@ Vista
|
|||
#endif
|
||||
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
#if defined(USE_WIN32_LARGE_FILES) && defined(__MINGW64_VERSION_MAJOR)
|
||||
#if defined(USE_WIN32_LARGE_FILES) && defined(__MINGW32__)
|
||||
# ifndef _FILE_OFFSET_BITS
|
||||
# define _FILE_OFFSET_BITS 64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define to the size of `off_t', as computed by sizeof. */
|
||||
#if defined(__MINGW64_VERSION_MAJOR) && \
|
||||
#if defined(__MINGW32__) && \
|
||||
defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
|
||||
# define SIZEOF_OFF_T 8
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -28,11 +28,6 @@
|
|||
#define CURL_NO_OLDIES
|
||||
#endif
|
||||
|
||||
/* define mingw version macros, eg __MINGW{32,64}_{MINOR,MAJOR}_VERSION */
|
||||
#ifdef __MINGW32__
|
||||
#include <_mingw.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Disable Visual Studio warnings:
|
||||
* 4127 "conditional expression is constant"
|
||||
|
|
@ -830,9 +825,6 @@ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf,
|
|||
#endif
|
||||
|
||||
#if defined(USE_UNIX_SOCKETS) && defined(WIN32)
|
||||
# if defined(__MINGW32__) && !defined(LUP_SECURE)
|
||||
typedef u_short ADDRESS_FAMILY; /* Classic mingw, 11y+ old mingw-w64 */
|
||||
# endif
|
||||
# if !defined(UNIX_PATH_MAX)
|
||||
/* Replicating logic present in afunix.h
|
||||
(distributed with newer Windows 10 SDK versions only) */
|
||||
|
|
|
|||
245
lib/curl_sspi.h
245
lib/curl_sspi.h
|
|
@ -70,227 +70,6 @@ extern PSecurityFunctionTable s_pSecFn;
|
|||
#define ISC_REQ_USE_HTTP_STYLE 0x01000000
|
||||
#endif
|
||||
|
||||
#ifndef ISC_RET_REPLAY_DETECT
|
||||
#define ISC_RET_REPLAY_DETECT 0x00000004
|
||||
#endif
|
||||
|
||||
#ifndef ISC_RET_SEQUENCE_DETECT
|
||||
#define ISC_RET_SEQUENCE_DETECT 0x00000008
|
||||
#endif
|
||||
|
||||
#ifndef ISC_RET_CONFIDENTIALITY
|
||||
#define ISC_RET_CONFIDENTIALITY 0x00000010
|
||||
#endif
|
||||
|
||||
#ifndef ISC_RET_ALLOCATED_MEMORY
|
||||
#define ISC_RET_ALLOCATED_MEMORY 0x00000100
|
||||
#endif
|
||||
|
||||
#ifndef ISC_RET_STREAM
|
||||
#define ISC_RET_STREAM 0x00008000
|
||||
#endif
|
||||
|
||||
#ifndef SEC_E_INSUFFICIENT_MEMORY
|
||||
# define SEC_E_INSUFFICIENT_MEMORY ((HRESULT)0x80090300L)
|
||||
#endif
|
||||
#ifndef SEC_E_INVALID_HANDLE
|
||||
# define SEC_E_INVALID_HANDLE ((HRESULT)0x80090301L)
|
||||
#endif
|
||||
#ifndef SEC_E_UNSUPPORTED_FUNCTION
|
||||
# define SEC_E_UNSUPPORTED_FUNCTION ((HRESULT)0x80090302L)
|
||||
#endif
|
||||
#ifndef SEC_E_TARGET_UNKNOWN
|
||||
# define SEC_E_TARGET_UNKNOWN ((HRESULT)0x80090303L)
|
||||
#endif
|
||||
#ifndef SEC_E_INTERNAL_ERROR
|
||||
# define SEC_E_INTERNAL_ERROR ((HRESULT)0x80090304L)
|
||||
#endif
|
||||
#ifndef SEC_E_SECPKG_NOT_FOUND
|
||||
# define SEC_E_SECPKG_NOT_FOUND ((HRESULT)0x80090305L)
|
||||
#endif
|
||||
#ifndef SEC_E_NOT_OWNER
|
||||
# define SEC_E_NOT_OWNER ((HRESULT)0x80090306L)
|
||||
#endif
|
||||
#ifndef SEC_E_CANNOT_INSTALL
|
||||
# define SEC_E_CANNOT_INSTALL ((HRESULT)0x80090307L)
|
||||
#endif
|
||||
#ifndef SEC_E_INVALID_TOKEN
|
||||
# define SEC_E_INVALID_TOKEN ((HRESULT)0x80090308L)
|
||||
#endif
|
||||
#ifndef SEC_E_CANNOT_PACK
|
||||
# define SEC_E_CANNOT_PACK ((HRESULT)0x80090309L)
|
||||
#endif
|
||||
#ifndef SEC_E_QOP_NOT_SUPPORTED
|
||||
# define SEC_E_QOP_NOT_SUPPORTED ((HRESULT)0x8009030AL)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_IMPERSONATION
|
||||
# define SEC_E_NO_IMPERSONATION ((HRESULT)0x8009030BL)
|
||||
#endif
|
||||
#ifndef SEC_E_LOGON_DENIED
|
||||
# define SEC_E_LOGON_DENIED ((HRESULT)0x8009030CL)
|
||||
#endif
|
||||
#ifndef SEC_E_UNKNOWN_CREDENTIALS
|
||||
# define SEC_E_UNKNOWN_CREDENTIALS ((HRESULT)0x8009030DL)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_CREDENTIALS
|
||||
# define SEC_E_NO_CREDENTIALS ((HRESULT)0x8009030EL)
|
||||
#endif
|
||||
#ifndef SEC_E_MESSAGE_ALTERED
|
||||
# define SEC_E_MESSAGE_ALTERED ((HRESULT)0x8009030FL)
|
||||
#endif
|
||||
#ifndef SEC_E_OUT_OF_SEQUENCE
|
||||
# define SEC_E_OUT_OF_SEQUENCE ((HRESULT)0x80090310L)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_AUTHENTICATING_AUTHORITY
|
||||
# define SEC_E_NO_AUTHENTICATING_AUTHORITY ((HRESULT)0x80090311L)
|
||||
#endif
|
||||
#ifndef SEC_E_BAD_PKGID
|
||||
# define SEC_E_BAD_PKGID ((HRESULT)0x80090316L)
|
||||
#endif
|
||||
#ifndef SEC_E_CONTEXT_EXPIRED
|
||||
# define SEC_E_CONTEXT_EXPIRED ((HRESULT)0x80090317L)
|
||||
#endif
|
||||
#ifndef SEC_E_INCOMPLETE_MESSAGE
|
||||
# define SEC_E_INCOMPLETE_MESSAGE ((HRESULT)0x80090318L)
|
||||
#endif
|
||||
#ifndef SEC_E_INCOMPLETE_CREDENTIALS
|
||||
# define SEC_E_INCOMPLETE_CREDENTIALS ((HRESULT)0x80090320L)
|
||||
#endif
|
||||
#ifndef SEC_E_BUFFER_TOO_SMALL
|
||||
# define SEC_E_BUFFER_TOO_SMALL ((HRESULT)0x80090321L)
|
||||
#endif
|
||||
#ifndef SEC_E_WRONG_PRINCIPAL
|
||||
# define SEC_E_WRONG_PRINCIPAL ((HRESULT)0x80090322L)
|
||||
#endif
|
||||
#ifndef SEC_E_TIME_SKEW
|
||||
# define SEC_E_TIME_SKEW ((HRESULT)0x80090324L)
|
||||
#endif
|
||||
#ifndef SEC_E_UNTRUSTED_ROOT
|
||||
# define SEC_E_UNTRUSTED_ROOT ((HRESULT)0x80090325L)
|
||||
#endif
|
||||
#ifndef SEC_E_ILLEGAL_MESSAGE
|
||||
# define SEC_E_ILLEGAL_MESSAGE ((HRESULT)0x80090326L)
|
||||
#endif
|
||||
#ifndef SEC_E_CERT_UNKNOWN
|
||||
# define SEC_E_CERT_UNKNOWN ((HRESULT)0x80090327L)
|
||||
#endif
|
||||
#ifndef SEC_E_CERT_EXPIRED
|
||||
# define SEC_E_CERT_EXPIRED ((HRESULT)0x80090328L)
|
||||
#endif
|
||||
#ifndef SEC_E_ENCRYPT_FAILURE
|
||||
# define SEC_E_ENCRYPT_FAILURE ((HRESULT)0x80090329L)
|
||||
#endif
|
||||
#ifndef SEC_E_DECRYPT_FAILURE
|
||||
# define SEC_E_DECRYPT_FAILURE ((HRESULT)0x80090330L)
|
||||
#endif
|
||||
#ifndef SEC_E_ALGORITHM_MISMATCH
|
||||
# define SEC_E_ALGORITHM_MISMATCH ((HRESULT)0x80090331L)
|
||||
#endif
|
||||
#ifndef SEC_E_SECURITY_QOS_FAILED
|
||||
# define SEC_E_SECURITY_QOS_FAILED ((HRESULT)0x80090332L)
|
||||
#endif
|
||||
#ifndef SEC_E_UNFINISHED_CONTEXT_DELETED
|
||||
# define SEC_E_UNFINISHED_CONTEXT_DELETED ((HRESULT)0x80090333L)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_TGT_REPLY
|
||||
# define SEC_E_NO_TGT_REPLY ((HRESULT)0x80090334L)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_IP_ADDRESSES
|
||||
# define SEC_E_NO_IP_ADDRESSES ((HRESULT)0x80090335L)
|
||||
#endif
|
||||
#ifndef SEC_E_WRONG_CREDENTIAL_HANDLE
|
||||
# define SEC_E_WRONG_CREDENTIAL_HANDLE ((HRESULT)0x80090336L)
|
||||
#endif
|
||||
#ifndef SEC_E_CRYPTO_SYSTEM_INVALID
|
||||
# define SEC_E_CRYPTO_SYSTEM_INVALID ((HRESULT)0x80090337L)
|
||||
#endif
|
||||
#ifndef SEC_E_MAX_REFERRALS_EXCEEDED
|
||||
# define SEC_E_MAX_REFERRALS_EXCEEDED ((HRESULT)0x80090338L)
|
||||
#endif
|
||||
#ifndef SEC_E_MUST_BE_KDC
|
||||
# define SEC_E_MUST_BE_KDC ((HRESULT)0x80090339L)
|
||||
#endif
|
||||
#ifndef SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
|
||||
# define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED ((HRESULT)0x8009033AL)
|
||||
#endif
|
||||
#ifndef SEC_E_TOO_MANY_PRINCIPALS
|
||||
# define SEC_E_TOO_MANY_PRINCIPALS ((HRESULT)0x8009033BL)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_PA_DATA
|
||||
# define SEC_E_NO_PA_DATA ((HRESULT)0x8009033CL)
|
||||
#endif
|
||||
#ifndef SEC_E_PKINIT_NAME_MISMATCH
|
||||
# define SEC_E_PKINIT_NAME_MISMATCH ((HRESULT)0x8009033DL)
|
||||
#endif
|
||||
#ifndef SEC_E_SMARTCARD_LOGON_REQUIRED
|
||||
# define SEC_E_SMARTCARD_LOGON_REQUIRED ((HRESULT)0x8009033EL)
|
||||
#endif
|
||||
#ifndef SEC_E_SHUTDOWN_IN_PROGRESS
|
||||
# define SEC_E_SHUTDOWN_IN_PROGRESS ((HRESULT)0x8009033FL)
|
||||
#endif
|
||||
#ifndef SEC_E_KDC_INVALID_REQUEST
|
||||
# define SEC_E_KDC_INVALID_REQUEST ((HRESULT)0x80090340L)
|
||||
#endif
|
||||
#ifndef SEC_E_KDC_UNABLE_TO_REFER
|
||||
# define SEC_E_KDC_UNABLE_TO_REFER ((HRESULT)0x80090341L)
|
||||
#endif
|
||||
#ifndef SEC_E_KDC_UNKNOWN_ETYPE
|
||||
# define SEC_E_KDC_UNKNOWN_ETYPE ((HRESULT)0x80090342L)
|
||||
#endif
|
||||
#ifndef SEC_E_UNSUPPORTED_PREAUTH
|
||||
# define SEC_E_UNSUPPORTED_PREAUTH ((HRESULT)0x80090343L)
|
||||
#endif
|
||||
#ifndef SEC_E_DELEGATION_REQUIRED
|
||||
# define SEC_E_DELEGATION_REQUIRED ((HRESULT)0x80090345L)
|
||||
#endif
|
||||
#ifndef SEC_E_BAD_BINDINGS
|
||||
# define SEC_E_BAD_BINDINGS ((HRESULT)0x80090346L)
|
||||
#endif
|
||||
#ifndef SEC_E_MULTIPLE_ACCOUNTS
|
||||
# define SEC_E_MULTIPLE_ACCOUNTS ((HRESULT)0x80090347L)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_KERB_KEY
|
||||
# define SEC_E_NO_KERB_KEY ((HRESULT)0x80090348L)
|
||||
#endif
|
||||
#ifndef SEC_E_CERT_WRONG_USAGE
|
||||
# define SEC_E_CERT_WRONG_USAGE ((HRESULT)0x80090349L)
|
||||
#endif
|
||||
#ifndef SEC_E_DOWNGRADE_DETECTED
|
||||
# define SEC_E_DOWNGRADE_DETECTED ((HRESULT)0x80090350L)
|
||||
#endif
|
||||
#ifndef SEC_E_SMARTCARD_CERT_REVOKED
|
||||
# define SEC_E_SMARTCARD_CERT_REVOKED ((HRESULT)0x80090351L)
|
||||
#endif
|
||||
#ifndef SEC_E_ISSUING_CA_UNTRUSTED
|
||||
# define SEC_E_ISSUING_CA_UNTRUSTED ((HRESULT)0x80090352L)
|
||||
#endif
|
||||
#ifndef SEC_E_REVOCATION_OFFLINE_C
|
||||
# define SEC_E_REVOCATION_OFFLINE_C ((HRESULT)0x80090353L)
|
||||
#endif
|
||||
#ifndef SEC_E_PKINIT_CLIENT_FAILURE
|
||||
# define SEC_E_PKINIT_CLIENT_FAILURE ((HRESULT)0x80090354L)
|
||||
#endif
|
||||
#ifndef SEC_E_SMARTCARD_CERT_EXPIRED
|
||||
# define SEC_E_SMARTCARD_CERT_EXPIRED ((HRESULT)0x80090355L)
|
||||
#endif
|
||||
#ifndef SEC_E_NO_S4U_PROT_SUPPORT
|
||||
# define SEC_E_NO_S4U_PROT_SUPPORT ((HRESULT)0x80090356L)
|
||||
#endif
|
||||
#ifndef SEC_E_CROSSREALM_DELEGATION_FAILURE
|
||||
# define SEC_E_CROSSREALM_DELEGATION_FAILURE ((HRESULT)0x80090357L)
|
||||
#endif
|
||||
#ifndef SEC_E_REVOCATION_OFFLINE_KDC
|
||||
# define SEC_E_REVOCATION_OFFLINE_KDC ((HRESULT)0x80090358L)
|
||||
#endif
|
||||
#ifndef SEC_E_ISSUING_CA_UNTRUSTED_KDC
|
||||
# define SEC_E_ISSUING_CA_UNTRUSTED_KDC ((HRESULT)0x80090359L)
|
||||
#endif
|
||||
#ifndef SEC_E_KDC_CERT_EXPIRED
|
||||
# define SEC_E_KDC_CERT_EXPIRED ((HRESULT)0x8009035AL)
|
||||
#endif
|
||||
#ifndef SEC_E_KDC_CERT_REVOKED
|
||||
# define SEC_E_KDC_CERT_REVOKED ((HRESULT)0x8009035BL)
|
||||
#endif
|
||||
#ifndef SEC_E_INVALID_PARAMETER
|
||||
# define SEC_E_INVALID_PARAMETER ((HRESULT)0x8009035DL)
|
||||
#endif
|
||||
|
|
@ -301,30 +80,6 @@ extern PSecurityFunctionTable s_pSecFn;
|
|||
# define SEC_E_POLICY_NLTM_ONLY ((HRESULT)0x8009035FL)
|
||||
#endif
|
||||
|
||||
#ifndef SEC_I_CONTINUE_NEEDED
|
||||
# define SEC_I_CONTINUE_NEEDED ((HRESULT)0x00090312L)
|
||||
#endif
|
||||
#ifndef SEC_I_COMPLETE_NEEDED
|
||||
# define SEC_I_COMPLETE_NEEDED ((HRESULT)0x00090313L)
|
||||
#endif
|
||||
#ifndef SEC_I_COMPLETE_AND_CONTINUE
|
||||
# define SEC_I_COMPLETE_AND_CONTINUE ((HRESULT)0x00090314L)
|
||||
#endif
|
||||
#ifndef SEC_I_LOCAL_LOGON
|
||||
# define SEC_I_LOCAL_LOGON ((HRESULT)0x00090315L)
|
||||
#endif
|
||||
#ifndef SEC_I_CONTEXT_EXPIRED
|
||||
# define SEC_I_CONTEXT_EXPIRED ((HRESULT)0x00090317L)
|
||||
#endif
|
||||
#ifndef SEC_I_INCOMPLETE_CREDENTIALS
|
||||
# define SEC_I_INCOMPLETE_CREDENTIALS ((HRESULT)0x00090320L)
|
||||
#endif
|
||||
#ifndef SEC_I_RENEGOTIATE
|
||||
# define SEC_I_RENEGOTIATE ((HRESULT)0x00090321L)
|
||||
#endif
|
||||
#ifndef SEC_I_NO_LSA_CONTEXT
|
||||
# define SEC_I_NO_LSA_CONTEXT ((HRESULT)0x00090323L)
|
||||
#endif
|
||||
#ifndef SEC_I_SIGNATURE_NEEDED
|
||||
# define SEC_I_SIGNATURE_NEEDED ((HRESULT)0x0009035CL)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -106,8 +106,6 @@ curl_thread_t Curl_thread_create(unsigned int (CURL_STDCALL *func) (void *),
|
|||
{
|
||||
#ifdef _WIN32_WCE
|
||||
typedef HANDLE curl_win_thread_handle_t;
|
||||
#elif defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
typedef unsigned long curl_win_thread_handle_t;
|
||||
#else
|
||||
typedef uintptr_t curl_win_thread_handle_t;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@
|
|||
# define curl_thread_t HANDLE
|
||||
# define curl_thread_t_null (HANDLE)0
|
||||
# if !defined(_WIN32_WINNT) || !defined(_WIN32_WINNT_VISTA) || \
|
||||
(_WIN32_WINNT < _WIN32_WINNT_VISTA) || \
|
||||
(defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR))
|
||||
(_WIN32_WINNT < _WIN32_WINNT_VISTA)
|
||||
# define Curl_mutex_init(m) InitializeCriticalSection(m)
|
||||
# else
|
||||
# define Curl_mutex_init(m) InitializeCriticalSectionEx(m, 0, 1)
|
||||
|
|
|
|||
|
|
@ -31,13 +31,6 @@
|
|||
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#ifndef __MINGW64_VERSION_MAJOR
|
||||
#if (__MINGW32_MAJOR_VERSION < 5) || \
|
||||
(__MINGW32_MAJOR_VERSION == 5 && __MINGW32_MINOR_VERSION == 0)
|
||||
/* mingw >= 5.0.1 defines SRWLOCK, and slightly different from MS define */
|
||||
typedef PVOID SRWLOCK, *PSRWLOCK;
|
||||
#endif
|
||||
#endif
|
||||
#ifndef SRWLOCK_INIT
|
||||
#define SRWLOCK_INIT NULL
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -51,12 +51,7 @@ uint32_t arc4random(void);
|
|||
|
||||
#ifdef WIN32
|
||||
|
||||
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
# define HAVE_MINGW_ORIGINAL
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600 && \
|
||||
!defined(HAVE_MINGW_ORIGINAL)
|
||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600
|
||||
# define HAVE_WIN_BCRYPTGENRANDOM
|
||||
# include <bcrypt.h>
|
||||
# ifdef _MSC_VER
|
||||
|
|
|
|||
|
|
@ -1551,11 +1551,9 @@ fail:
|
|||
UI_method_set_closer(ui_method, UI_method_get_closer(UI_OpenSSL()));
|
||||
UI_method_set_reader(ui_method, ssl_ui_reader);
|
||||
UI_method_set_writer(ui_method, ssl_ui_writer);
|
||||
/* the typecast below was added to please mingw32 */
|
||||
priv_key = (EVP_PKEY *)
|
||||
ENGINE_load_private_key(data->state.engine, key_file,
|
||||
ui_method,
|
||||
key_passwd);
|
||||
priv_key = ENGINE_load_private_key(data->state.engine, key_file,
|
||||
ui_method,
|
||||
key_passwd);
|
||||
UI_destroy_method(ui_method);
|
||||
if(!priv_key) {
|
||||
failf(data, "failed to load private key from crypto engine");
|
||||
|
|
|
|||
|
|
@ -68,22 +68,6 @@
|
|||
# define HAS_ALPN 1
|
||||
#endif
|
||||
|
||||
#ifndef UNISP_NAME_A
|
||||
#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
|
||||
#endif
|
||||
|
||||
#ifndef UNISP_NAME_W
|
||||
#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
|
||||
#endif
|
||||
|
||||
#ifndef UNISP_NAME
|
||||
#ifdef UNICODE
|
||||
#define UNISP_NAME UNISP_NAME_W
|
||||
#else
|
||||
#define UNISP_NAME UNISP_NAME_A
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BCRYPT_CHACHA20_POLY1305_ALGORITHM
|
||||
#define BCRYPT_CHACHA20_POLY1305_ALGORITHM L"CHACHA20_POLY1305"
|
||||
#endif
|
||||
|
|
@ -108,13 +92,6 @@
|
|||
#define BCRYPT_SHA384_ALGORITHM L"SHA384"
|
||||
#endif
|
||||
|
||||
/* Workaround broken compilers like MinGW.
|
||||
Return the number of elements in a statically sized array.
|
||||
*/
|
||||
#ifndef ARRAYSIZE
|
||||
#define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0]))
|
||||
#endif
|
||||
|
||||
#ifdef HAS_CLIENT_CERT_PATH
|
||||
#ifdef UNICODE
|
||||
#define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W
|
||||
|
|
@ -123,18 +100,6 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef SP_PROT_SSL2_CLIENT
|
||||
#define SP_PROT_SSL2_CLIENT 0x00000008
|
||||
#endif
|
||||
|
||||
#ifndef SP_PROT_SSL3_CLIENT
|
||||
#define SP_PROT_SSL3_CLIENT 0x00000008
|
||||
#endif
|
||||
|
||||
#ifndef SP_PROT_TLS1_CLIENT
|
||||
#define SP_PROT_TLS1_CLIENT 0x00000080
|
||||
#endif
|
||||
|
||||
#ifndef SP_PROT_TLS1_0_CLIENT
|
||||
#define SP_PROT_TLS1_0_CLIENT SP_PROT_TLS1_CLIENT
|
||||
#endif
|
||||
|
|
@ -175,12 +140,6 @@
|
|||
# define CALG_SHA_256 0x0000800c
|
||||
#endif
|
||||
|
||||
/* Work around typo in classic MinGW's w32api up to version 5.0,
|
||||
see https://osdn.net/projects/mingw/ticket/38391 */
|
||||
#if !defined(ALG_CLASS_DHASH) && defined(ALG_CLASS_HASH)
|
||||
#define ALG_CLASS_DHASH ALG_CLASS_HASH
|
||||
#endif
|
||||
|
||||
#ifndef PKCS12_NO_PERSIST_KEY
|
||||
#define PKCS12_NO_PERSIST_KEY 0x00008000
|
||||
#endif
|
||||
|
|
@ -2752,8 +2711,7 @@ static void schannel_checksum(const unsigned char *input,
|
|||
if(!CryptCreateHash(hProv, algId, 0, 0, &hHash))
|
||||
break; /* failed */
|
||||
|
||||
/* workaround for original MinGW, should be (const BYTE*) */
|
||||
if(!CryptHashData(hHash, (BYTE*)input, (DWORD)inputlen, 0))
|
||||
if(!CryptHashData(hHash, input, (DWORD)inputlen, 0))
|
||||
break; /* failed */
|
||||
|
||||
/* get hash size */
|
||||
|
|
|
|||
|
|
@ -28,15 +28,9 @@
|
|||
|
||||
#ifdef USE_SCHANNEL
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#ifdef __MINGW64_VERSION_MAJOR
|
||||
#if defined(__MINGW32__) || defined(CERT_CHAIN_REVOCATION_CHECK_CHAIN)
|
||||
#define HAS_MANUAL_VERIFY_API
|
||||
#endif
|
||||
#else
|
||||
#ifdef CERT_CHAIN_REVOCATION_CHECK_CHAIN
|
||||
#define HAS_MANUAL_VERIFY_API
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CryptStringToBinary) && defined(CRYPT_STRING_HEX) \
|
||||
&& !defined(DISABLE_SCHANNEL_CLIENT_CERT)
|
||||
|
|
@ -60,41 +54,6 @@
|
|||
#endif
|
||||
|
||||
|
||||
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
/* Original mingw is missing CERT structs or they're disabled.
|
||||
Refer to w32api-5.0.2-mingw32-dev\include\wincrypt.h. */
|
||||
|
||||
/* !checksrc! disable TYPEDEFSTRUCT 4 */
|
||||
typedef struct _CERT_OTHER_NAME {
|
||||
LPSTR pszObjId;
|
||||
CRYPT_OBJID_BLOB Value;
|
||||
} CERT_OTHER_NAME, *PCERT_OTHER_NAME;
|
||||
|
||||
typedef struct _CERT_ALT_NAME_ENTRY {
|
||||
DWORD dwAltNameChoice;
|
||||
union {
|
||||
PCERT_OTHER_NAME pOtherName;
|
||||
LPWSTR pwszRfc822Name;
|
||||
LPWSTR pwszDNSName;
|
||||
CERT_NAME_BLOB DirectoryName;
|
||||
LPWSTR pwszURL;
|
||||
CRYPT_DATA_BLOB IPAddress;
|
||||
LPSTR pszRegisteredID;
|
||||
};
|
||||
} CERT_ALT_NAME_ENTRY, *PCERT_ALT_NAME_ENTRY;
|
||||
|
||||
typedef struct _CERT_ALT_NAME_INFO {
|
||||
DWORD cAltEntry;
|
||||
PCERT_ALT_NAME_ENTRY rgAltEntry;
|
||||
} CERT_ALT_NAME_INFO, *PCERT_ALT_NAME_INFO;
|
||||
|
||||
typedef struct _CRYPT_DECODE_PARA {
|
||||
DWORD cbSize;
|
||||
PFN_CRYPT_ALLOC pfnAlloc;
|
||||
PFN_CRYPT_FREE pfnFree;
|
||||
} CRYPT_DECODE_PARA, *PCRYPT_DECODE_PARA;
|
||||
#endif
|
||||
|
||||
#ifndef SCH_CREDENTIALS_VERSION
|
||||
|
||||
#define SCH_CREDENTIALS_VERSION 0x00000005
|
||||
|
|
|
|||
|
|
@ -49,8 +49,6 @@ int test(char *URL)
|
|||
{
|
||||
#ifdef _WIN32_WCE
|
||||
typedef HANDLE curl_win_thread_handle_t;
|
||||
#elif defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
typedef unsigned long curl_win_thread_handle_t;
|
||||
#else
|
||||
typedef uintptr_t curl_win_thread_handle_t;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -556,8 +556,6 @@ static HANDLE select_ws_wait(HANDLE handle, HANDLE signal, HANDLE abort)
|
|||
{
|
||||
#ifdef _WIN32_WCE
|
||||
typedef HANDLE curl_win_thread_handle_t;
|
||||
#elif defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
typedef unsigned long curl_win_thread_handle_t;
|
||||
#else
|
||||
typedef uintptr_t curl_win_thread_handle_t;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -395,8 +395,7 @@ static struct timeval tvnow(void)
|
|||
** is typically in the range of 10 milliseconds to 16 milliseconds.
|
||||
*/
|
||||
struct timeval now;
|
||||
#if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) && \
|
||||
(!defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR))
|
||||
#if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
|
||||
ULONGLONG milliseconds = GetTickCount64();
|
||||
#else
|
||||
DWORD milliseconds = GetTickCount();
|
||||
|
|
@ -704,8 +703,6 @@ void install_signal_handlers(bool keep_sigalrm)
|
|||
#ifdef WIN32
|
||||
#ifdef _WIN32_WCE
|
||||
typedef HANDLE curl_win_thread_handle_t;
|
||||
#elif defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
|
||||
typedef unsigned long curl_win_thread_handle_t;
|
||||
#else
|
||||
typedef uintptr_t curl_win_thread_handle_t;
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue