From: Václav Slavík Date: Sat, 29 Oct 2016 16:08:35 +0000 (+0200) Subject: [PATCH] Don’t use http_client_config when not needed X-Git-Tag: archive/raspbian/3.1-1+rpi1^2^2^2^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5580916e52d062c35bb3278e9a2ce2d030b38e57;p=poedit.git [PATCH] Don’t use http_client_config when not needed Don’t pass default http_client_config to http_client if not needed, i.e. elsewhere than Windows. This fixes a crash in C++REST SDK reported by Debian. Cause is unknown, but related to http_client_config and when that is not used on Linux anyway, why make things harder for everybody. Gbp-Pq: Name e5d68f3851341c59c712763e69839042e630555a.patch --- diff --git a/src/http_client_casablanca.cpp b/src/http_client_casablanca.cpp index 056fc0a..a4d66e7 100644 --- a/src/http_client_casablanca.cpp +++ b/src/http_client_casablanca.cpp @@ -169,7 +169,14 @@ class http_client::impl { public: impl(http_client& owner, const std::string& url_prefix, int flags) - : m_owner(owner), m_native(sanitize_url(url_prefix, flags), get_client_config()) + : m_owner(owner), + m_native + ( + sanitize_url(url_prefix, flags) + #ifdef _WIN32 + , get_client_config() + #endif + ) { #define make_wide_str(x) make_wide_str_(x) #define make_wide_str_(x) L ## x @@ -361,11 +368,12 @@ private: return to_string_t(url); } +#ifdef _WIN32 // prepare WinHttp configuration static http::client::http_client_config get_client_config() { http::client::http_client_config c; - #ifdef _WIN32 + // WinHttp doesn't share WinInet/MSIE's proxy settings and has its own, // but many users don't have properly configured both. Adopting proxy // settings like this in desktop software is recommended behavior, see @@ -385,12 +393,9 @@ private: c.set_proxy(uri(L"//" + std::wstring(ieConfig.lpszProxy))); } } - #endif return c; } -private: -#ifdef _WIN32 static bool is_windows_xp() { OSVERSIONINFOEX info;