From 6aebc6b16b3e2e7058b8b5ab1ffa7f65920541ff Mon Sep 17 00:00:00 2001 From: Dirk Neukirchen Date: Thu, 19 May 2016 13:27:41 +0200 Subject: [PATCH] curl: update to 7.49 fixes: CVE-2016-3739: TLS certificate check bypass with mbedTLS/PolarSSL - remove crypto auth compile fix curl changelog of 7.46 states its fixed - fix mbedtls and cyassl usability #19621 : add path to certificate file (from Mozilla via curl) and provide this in a new package tested on ar71xx w. curl/mbedtls/wolfssl Signed-off-by: Dirk Neukirchen --- package/network/utils/curl/Makefile | 15 ++++++----- .../curl/patches/200-no_docs_tests.patch | 10 ++++---- .../patches/300-fix-disable-crypto-auth.patch | 25 ------------------- ...larssl-disable-runtime-version-check.patch | 4 +-- 4 files changed, 14 insertions(+), 40 deletions(-) delete mode 100644 package/network/utils/curl/patches/300-fix-disable-crypto-auth.patch diff --git a/package/network/utils/curl/Makefile b/package/network/utils/curl/Makefile index af38ed4aed..4b41ac33e9 100644 --- a/package/network/utils/curl/Makefile +++ b/package/network/utils/curl/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=curl -PKG_VERSION:=7.48.0 +PKG_VERSION:=7.49.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 @@ -18,7 +18,7 @@ PKG_SOURCE_URL:=http://curl.haxx.se/download/ \ ftp://ftp.planetmirror.com/pub/curl/ \ http://www.mirrormonster.com/curl/download/ \ http://curl.mirrors.cyberservers.net/download/ -PKG_MD5SUM:=d42e0fc34a5cace5739631cc040974fe +PKG_MD5SUM:=7416aaff4a9210b43edda7615ffa4169 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING @@ -109,7 +109,6 @@ CONFIGURE_ARGS += \ --enable-shared \ --enable-static \ --disable-manual \ - --without-ca-bundle \ --without-nss \ --without-libmetalink \ --without-librtmp \ @@ -117,11 +116,11 @@ CONFIGURE_ARGS += \ $(call autoconf_bool,CONFIG_IPV6,ipv6) \ \ $(if $(CONFIG_LIBCURL_AXTLS),--with-axtls="$(STAGING_DIR)/usr" --without-ca-path,--without-axtls) \ - $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr" --without-ca-path,--without-cyassl) \ - $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-gnutls) \ - $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-ssl) \ - $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-polarssl) \ - $(if $(CONFIG_LIBCURL_MBEDTLS),--with-mbedtls="$(STAGING_DIR)/usr" --without-ca-path,--without-mbedtls) \ + $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr" --without-ca-path --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt,--without-cyassl) \ + $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr" --without-ca-bundle --with-ca-path=/etc/ssl/certs,--without-gnutls) \ + $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr" --without-ca-bundle --with-ca-path=/etc/ssl/certs,--without-ssl) \ + $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr" --without-ca-bundle --with-ca-path=/etc/ssl/certs,--without-polarssl) \ + $(if $(CONFIG_LIBCURL_MBEDTLS),--with-mbedtls="$(STAGING_DIR)/usr" --without-ca-path --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt,--without-mbedtls) \ \ $(if $(CONFIG_LIBCURL_LIBIDN),--with-libidn="$(STAGING_DIR)/usr",--without-libidn) \ $(if $(CONFIG_LIBCURL_SSH2),--with-libssh2="$(STAGING_DIR)/usr",--without-libssh2) \ diff --git a/package/network/utils/curl/patches/200-no_docs_tests.patch b/package/network/utils/curl/patches/200-no_docs_tests.patch index 4ac5badf60..6f86d4c6cb 100644 --- a/package/network/utils/curl/patches/200-no_docs_tests.patch +++ b/package/network/utils/curl/patches/200-no_docs_tests.patch @@ -3,8 +3,8 @@ @@ -150,7 +150,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) bin_SCRIPTS = curl-config - SUBDIRS = lib src include scripts --DIST_SUBDIRS = $(SUBDIRS) tests packages docs + SUBDIRS = lib src include +-DIST_SUBDIRS = $(SUBDIRS) tests packages docs scripts +DIST_SUBDIRS = $(SUBDIRS) packages pkgconfigdir = $(libdir)/pkgconfig @@ -14,9 +14,9 @@ @@ -611,7 +611,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) bin_SCRIPTS = curl-config - SUBDIRS = lib src include scripts --DIST_SUBDIRS = $(SUBDIRS) tests packages docs + SUBDIRS = lib src include +-DIST_SUBDIRS = $(SUBDIRS) tests packages docs scripts +DIST_SUBDIRS = $(SUBDIRS) packages pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libcurl.pc - LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ + LIB_VAUTH_CFILES = vauth/vauth.c vauth/cleartext.c vauth/cram.c \ diff --git a/package/network/utils/curl/patches/300-fix-disable-crypto-auth.patch b/package/network/utils/curl/patches/300-fix-disable-crypto-auth.patch deleted file mode 100644 index 5c0a37e760..0000000000 --- a/package/network/utils/curl/patches/300-fix-disable-crypto-auth.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/lib/curl_ntlm_msgs.c -+++ b/lib/curl_ntlm_msgs.c -@@ -573,7 +573,7 @@ CURLcode Curl_sasl_create_ntlm_type3_mes - else - #endif - --#if USE_NTRESPONSES && USE_NTLM2SESSION -+#if USE_NTRESPONSES && USE_NTLM2SESSION && !defined(CURL_DISABLE_CRYPTO_AUTH) - /* We don't support NTLM2 if we don't have USE_NTRESPONSES */ - if(ntlm->flags & NTLMFLAG_NEGOTIATE_NTLM2_KEY) { - unsigned char ntbuffer[0x18]; ---- a/lib/vtls/vtls.c -+++ b/lib/vtls/vtls.c -@@ -921,9 +921,9 @@ CURLcode Curl_ssl_md5sum(unsigned char * - unsigned char *md5sum, /* output */ - size_t md5len) - { --#ifdef curlssl_md5sum -+#if defined(curlssl_md5sum) - curlssl_md5sum(tmp, tmplen, md5sum, md5len); --#else -+#elif !defined(CURL_DISABLE_CRYPTO_AUTH) - MD5_context *MD5pw; - - (void) md5len; diff --git a/package/network/utils/curl/patches/310-polarssl-disable-runtime-version-check.patch b/package/network/utils/curl/patches/310-polarssl-disable-runtime-version-check.patch index 7f7937b950..bb622ee78d 100644 --- a/package/network/utils/curl/patches/310-polarssl-disable-runtime-version-check.patch +++ b/package/network/utils/curl/patches/310-polarssl-disable-runtime-version-check.patch @@ -1,6 +1,6 @@ --- a/lib/vtls/polarssl.c +++ b/lib/vtls/polarssl.c -@@ -592,7 +592,7 @@ void Curl_polarssl_session_free(void *pt +@@ -653,7 +653,7 @@ void Curl_polarssl_session_free(void *pt size_t Curl_polarssl_version(char *buffer, size_t size) { @@ -11,7 +11,7 @@ version>>24, (version>>16)&0xff, (version>>8)&0xff); --- a/lib/vtls/mbedtls.c +++ b/lib/vtls/mbedtls.c -@@ -712,7 +712,7 @@ void Curl_mbedtls_session_free(void *ptr +@@ -701,7 +701,7 @@ void Curl_mbedtls_session_free(void *ptr size_t Curl_mbedtls_version(char *buffer, size_t size) { -- 2.30.2