Package: poedit / 1.8.11-3

e5d68f3851341c59c712763e69839042e630555a.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
From e5d68f3851341c59c712763e69839042e630555a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Va=CC=81clav=20Slavi=CC=81k?= <vaclav@slavik.io>
Date: Sat, 29 Oct 2016 18:08:35 +0200
Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20use=20http=5Fclient=5Fconfig=20?=
 =?UTF-8?q?when=20not=20needed?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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.
---
 src/http_client_casablanca.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

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 @@ class http_client::impl
         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 @@ class http_client::impl
                 c.set_proxy(uri(L"//" + std::wstring(ieConfig.lpszProxy)));
             }
         }
-    #endif
         return c;
     }
 
-private:
-#ifdef _WIN32
     static bool is_windows_xp()
     {
         OSVERSIONINFOEX info;