From fcc9d45f4199e175219b9f2016358288387593d7 Mon Sep 17 00:00:00 2001 From: Sebastian Messmer Date: Sat, 22 Dec 2018 10:25:47 +0100 Subject: [PATCH] Apply a fix for Win 7 --- src/cpp-utils/network/WinHttpClient.cpp | 4 +++- src/cryfs-cli/main.cpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cpp-utils/network/WinHttpClient.cpp b/src/cpp-utils/network/WinHttpClient.cpp index 8f26ab94..14458e5c 100644 --- a/src/cpp-utils/network/WinHttpClient.cpp +++ b/src/cpp-utils/network/WinHttpClient.cpp @@ -8,6 +8,7 @@ #include #include #include +#include using boost::none; using boost::optional; @@ -212,7 +213,8 @@ namespace cpputils { namespace { cpputils::unique_ref create_session() { - HttpHandleRAII session_handle = WinHttpOpen(L"cpputils::HttpClient", WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0); + const DWORD dwAccessType = IsWindows8Point1OrGreater() ? WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY : WINHTTP_ACCESS_TYPE_DEFAULT_PROXY; + HttpHandleRAII session_handle = WinHttpOpen(L"cpputils::HttpClient", dwAccessType, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0); if(nullptr == session_handle.handle) { throw std::runtime_error("Error calling WinHttpOpen. Error code: " + std::to_string(GetLastError())); } diff --git a/src/cryfs-cli/main.cpp b/src/cryfs-cli/main.cpp index 42287cbd..d5831aea 100644 --- a/src/cryfs-cli/main.cpp +++ b/src/cryfs-cli/main.cpp @@ -20,8 +20,8 @@ using std::cerr; int main(int argc, const char *argv[]) { #if defined(_MSC_VER) - if (!IsWindows10OrGreater()) { - std::cerr << "CryFS is currently only supported on Windows 10 (or later)." << std::endl; + if (!IsWindows7SP1OrGreater()) { + std::cerr << "CryFS is currently only supported on Windows 7 SP1 (or later)." << std::endl; exit(1); } #endif