From b44581858682c019e213c953e63aebe5be0a8622 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 9 Apr 2024 19:08:18 +0000 Subject: [PATCH] appveyor: make VS2010 job build-only, enable Schannel, fix compiler warnings Tests were consistently flaky for a while. Also fix compiler warnings in `CertOpenStore()` calls for old MSVC compilers: ``` C:/projects/curl/lib/vtls/schannel.c(688): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size C:/projects/curl/lib/vtls/schannel_verify.c(642): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size ``` Ref: https://ci.appveyor.com/project/curlorg/curl/builds/49580310/job/ywu2y44kymgc0nif#L106 Closes #13330 --- appveyor.yml | 8 ++++---- lib/vtls/schannel_int.h | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 647a7d0b68..0eacf37385 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -74,16 +74,16 @@ environment: TESTING: 'OFF' DISABLED_TESTS: '' # generated CMake-based Visual Studio Debug builds - - job_name: 'CMake, VS2010, Debug, x64, no SSL, Static' + - job_name: 'CMake, VS2010, Debug, x64, Schannel, Static, Build-only' APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' BUILD_SYSTEM: CMake PRJ_GEN: 'Visual Studio 10 2010 Win64' PRJ_CFG: Debug - SCHANNEL: 'OFF' + SCHANNEL: 'ON' ENABLE_UNICODE: 'OFF' HTTP_ONLY: 'OFF' - TESTING: 'ON' - DISABLED_TESTS: '!1139 !1501 !1177 !1477' + TESTING: 'OFF' + DISABLED_TESTS: '' - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode' APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022' BUILD_SYSTEM: CMake diff --git a/lib/vtls/schannel_int.h b/lib/vtls/schannel_int.h index fe7450d453..5e233a9d05 100644 --- a/lib/vtls/schannel_int.h +++ b/lib/vtls/schannel_int.h @@ -53,6 +53,16 @@ #define CERT_ALT_NAME_IP_ADDRESS 8 #endif +#if defined(_MSC_VER) && (_MSC_VER <= 1600) +/* Workaround for warning: + 'type cast' : conversion from 'int' to 'LPCSTR' of greater size */ +#undef CERT_STORE_PROV_MEMORY +#undef CERT_STORE_PROV_SYSTEM_A +#undef CERT_STORE_PROV_SYSTEM_W +#define CERT_STORE_PROV_MEMORY ((LPCSTR)(size_t)2) +#define CERT_STORE_PROV_SYSTEM_A ((LPCSTR)(size_t)9) +#define CERT_STORE_PROV_SYSTEM_W ((LPCSTR)(size_t)10) +#endif #ifndef SCH_CREDENTIALS_VERSION -- 2.47.2