summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2017-01-23 15:32:36 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-05-22 12:47:27 +0200
commit7952f5384a40a5836444ceea890aa52dad661cb4 (patch)
tree369035d152054ce0c93f674e8cf60e32536eb954
parent57576e2250e3b706315d74803560b406b07e0172 (diff)
curl: upgrade to version 7.52.1
- fixes some four CVEs - and a ton of other fixes & improvements Change-Id: I2312f30f72c914c7e930c59ddbe44fb8a282c0a5 Reviewed-on: https://gerrit.libreoffice.org/33471 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r--download.lst4
-rw-r--r--external/curl/curl-7.26.0_win-proxy.patch117
-rw-r--r--external/curl/curl-msvc.patch.18
3 files changed, 2 insertions, 127 deletions
diff --git a/download.lst b/download.lst
index dc3fc400014c..520582ceada8 100644
--- a/download.lst
+++ b/download.lst
@@ -2,8 +2,8 @@ ABW_MD5SUM := 40fa48e03b1e28ae0325cc34b35bc46d
export ABW_TARBALL := libabw-0.0.2.tar.bz2
CDR_MD5SUM := fbcd8619fc6646f41d527c1329102998
export CDR_TARBALL := libcdr-0.0.15.tar.bz2
-CURL_MD5SUM := 490e19a8ccd1f4a244b50338a0eb9456
-export CURL_TARBALL := curl-7.51.0.tar.gz
+CURL_MD5SUM := 4e1ef056e117b4d25f4ec42ac609c0d4
+export CURL_TARBALL := curl-7.52.1.tar.gz
EBOOK_MD5SUM := 2f1ceaf2ac8752ed278e175447d9b978
export EBOOK_TARBALL := libe-book-0.0.3.tar.bz2
ETONYEK_MD5SUM := 3c50bc60394d1f2675fbf9bd22581363
diff --git a/external/curl/curl-7.26.0_win-proxy.patch b/external/curl/curl-7.26.0_win-proxy.patch
index a7983b967071..5392d32ed0d1 100644
--- a/external/curl/curl-7.26.0_win-proxy.patch
+++ b/external/curl/curl-7.26.0_win-proxy.patch
@@ -9,120 +9,3 @@
CFLAGS = $(CFLAGS) $(EXCFLAGS)
CFGSET = FALSE
---- curl-7.26.0/lib/url.c
-+++ misc/build/curl-7.26.0/lib/url.c
-@@ -80,6 +80,10 @@ void idn_free (void *ptr);
- int curl_win32_idn_to_ascii(const char *in, char **out);
- #endif /* USE_LIBIDN */
-
-+#ifdef WIN32
-+#include <WinHttp.h>
-+#endif
-+
- #include "urldata.h"
- #include "netrc.h"
-
-@@ -4111,6 +4115,21 @@ static bool check_noproxy(const char* name, const char* no_proxy)
- return FALSE;
- }
-
-+#ifdef WIN32
-+static char* wstrToCstr( LPWSTR wStr )
-+{
-+ int bufSize;
-+ char* out = NULL;
-+ if(wStr != NULL) {
-+ bufSize = WideCharToMultiByte(
-+ CP_ACP, 0, wStr, -1, NULL, 0, NULL, NULL );
-+ out = ( char* )malloc( bufSize * sizeof(char));
-+ WideCharToMultiByte( CP_ACP, 0, wStr, -1, out, bufSize, NULL, NULL );
-+ }
-+ return out;
-+}
-+#endif
-+
- /****************************************************************
- * Detect what (if any) proxy to use. Remember that this selects a host
- * name and is not limited to HTTP proxies only.
-@@ -4119,6 +4138,7 @@ static bool check_noproxy(const char* name, const char* no_proxy)
- static char *detect_proxy(struct connectdata *conn)
- {
- char *proxy = NULL;
-+ char *no_proxy=NULL;
-
- #ifndef CURL_DISABLE_HTTP
- /* If proxy was not specified, we check for default proxy environment
-@@ -4138,7 +4158,63 @@ static char *detect_proxy(struct connectdata *conn)
- * For compatibility, the all-uppercase versions of these variables are
- * checked if the lowercase versions don't exist.
- */
-- char *no_proxy=NULL;
-+#ifdef WIN32
-+ WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *ieProxyConfig;
-+ ieProxyConfig = (WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*)
-+ malloc(sizeof(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG));
-+ if(WinHttpGetIEProxyConfigForCurrentUser(ieProxyConfig)) {
-+ if(!ieProxyConfig->fAutoDetect) {
-+ char *ieProxy;
-+ char *ieNoProxy;
-+ char* pos;
-+
-+ ieProxy = wstrToCstr(ieProxyConfig->lpszProxy);
-+ ieNoProxy = wstrToCstr(ieProxyConfig->lpszProxyBypass);
-+
-+ /* Convert the ieNoProxy into a proper no_proxy value */
-+ if(NULL != ieNoProxy) {
-+ no_proxy = strdup(ieNoProxy);
-+ pos = strpbrk(no_proxy, "; ");
-+ while(NULL != pos) {
-+ no_proxy[pos-no_proxy] = ',';
-+ pos = strpbrk(no_proxy, "; ");
-+ }
-+ }
-+
-+ if(!check_noproxy(conn->host.name, no_proxy)) {
-+ /* Look for the http proxy setting */
-+ char* tok;
-+ char *saveptr;
-+
-+ if(NULL != ieProxy) {
-+ tok = strtok_s(ieProxy, ";", &saveptr);
-+ if(strchr(tok, '=') == NULL) {
-+ proxy = strdup(ieProxy);
-+ }
-+ else {
-+ do {
-+ if(strncmp(tok, "http=", 5) == 0) {
-+ /* We found HTTP proxy value, then use it */
-+ proxy = strdup( tok + 5 );
-+ }
-+ tok = strtok_s(NULL, ";", &saveptr);
-+ }
-+ while(NULL != tok);
-+ }
-+ }
-+ }
-+
-+ free(ieProxy);
-+ free(ieNoProxy);
-+ }
-+ else {
-+ /* TODO Handle the Proxy config Auto Detection case */
-+ }
-+
-+ GlobalFree( ieProxyConfig->lpszAutoConfigUrl );
-+ GlobalFree( ieProxyConfig->lpszProxy );
-+ GlobalFree( ieProxyConfig->lpszProxyBypass );
-+ }
-+#else /* !WIN32 */
- char proxy_env[128];
-
- no_proxy=curl_getenv("no_proxy");
-@@ -4189,6 +4265,7 @@ static char *detect_proxy(struct connectdata *conn)
- }
- } /* if(!check_noproxy(conn->host.name, no_proxy)) - it wasn't specified
- non-proxy */
-+#endif /* WIN32 */
- free(no_proxy);
-
- #else /* !CURL_DISABLE_HTTP */
diff --git a/external/curl/curl-msvc.patch.1 b/external/curl/curl-msvc.patch.1
index 88ced0a75493..57a292bb69a3 100644
--- a/external/curl/curl-msvc.patch.1
+++ b/external/curl/curl-msvc.patch.1
@@ -11,14 +11,6 @@ MSVC: using SOLARINC and EXCFLAGS
CFGSET = FALSE
-@@ -632,7 +632,6 @@
- $(DIROBJ)\vtls.obj \
- $(DIROBJ)\openssl.obj \
- $(DIROBJ)\strdup.obj \
-- $(DIROBJ)\strequal.obj \
- $(DIROBJ)\strerror.obj \
- $(DIROBJ)\strtok.obj \
- $(DIROBJ)\strtoofft.obj \
@@ -620,11 +620,11 @@
debug-dll-ssl-dll\libcurl.res \
debug-dll-zlib-dll\libcurl.res \