[OpenWrt-Devel] [PATCH] mbedtls: update to 2.14.1 for 18.06
Stijn Segers
foss at volatilesystems.org
Sat Dec 22 05:16:17 EST 2018
Updates mbedtls to 2.14.1. This builds on the previous master commit 7849f74117ce83e4cfcd1448a22cc05dbf9b3486.
Fixes in 2.13.0:
* Fixed a security issue in the X.509 module which could lead to a buffer overread during certificate extensions parsing.
* Several bugfixes.
* Improvements for better support for DTLS on low-bandwidth, high latency networks with high packet loss.
Fixes in 2.14.1:
* CVE-2018-19608: Local timing attack on RSA decryption
Includes master commit 9e7c4702a1f4e49113d10bc736f50e8a06bdb8ba 'mbedtls: fix compilation on ARM < 6'.
Signed-off-by: Daniel Engberg <daniel.engberg.lists at pyret.net>
[Update to 2.14.1]
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
[Adapted and squashed for 18.06.1+]
Signed-off-by: Stijn Segers <foss at volatilesystems.org>
---
package/libs/mbedtls/Makefile | 4 +-
package/libs/mbedtls/patches/200-config.patch | 48 +++++++++----------
...optimized-MULADDC-code-only-on-ARM-6.patch | 27 +++++++++++
.../patches/300-soversion-compatibility.patch | 6 +--
4 files changed, 56 insertions(+), 29 deletions(-)
create mode 100644 package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch
diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile
index 659bf59d88..e265cac575 100644
--- a/package/libs/mbedtls/Makefile
+++ b/package/libs/mbedtls/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mbedtls
-PKG_VERSION:=2.12.0
+PKG_VERSION:=2.14.1
PKG_RELEASE:=1
PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz
PKG_SOURCE_URL:=https://tls.mbed.org/download/
-PKG_HASH:=8661d19a896a5a7a232ed01ac7f05cf0ec3514798f18076c2c9ef965fbeb5a28
+PKG_HASH:=baa1121952786f5b2c66c52226a8ca0e05126de920d1756266551df677915b7e
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPL-2.0+
diff --git a/package/libs/mbedtls/patches/200-config.patch b/package/libs/mbedtls/patches/200-config.patch
index ab16d4726c..a9cd62fc39 100644
--- a/package/libs/mbedtls/patches/200-config.patch
+++ b/package/libs/mbedtls/patches/200-config.patch
@@ -1,6 +1,6 @@
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
-@@ -548,14 +548,14 @@
+@@ -557,14 +557,14 @@
*
* Enable Output Feedback mode (OFB) for symmetric ciphers.
*/
@@ -17,7 +17,7 @@
/**
* \def MBEDTLS_CIPHER_NULL_CIPHER
-@@ -645,19 +645,19 @@
+@@ -654,19 +654,19 @@
*
* Comment macros to disable the curve and functions for it
*/
@@ -55,7 +55,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-@@ -735,7 +735,7 @@
+@@ -768,7 +768,7 @@
* See dhm.h for more details.
*
*/
@@ -64,7 +64,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-@@ -755,7 +755,7 @@
+@@ -788,7 +788,7 @@
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
*/
@@ -73,7 +73,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-@@ -780,7 +780,7 @@
+@@ -813,7 +813,7 @@
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/
@@ -82,7 +82,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-@@ -914,7 +914,7 @@
+@@ -947,7 +947,7 @@
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
*/
@@ -91,7 +91,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
-@@ -938,7 +938,7 @@
+@@ -971,7 +971,7 @@
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
*/
@@ -100,7 +100,7 @@
/**
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
-@@ -1042,7 +1042,7 @@
+@@ -1075,7 +1075,7 @@
* This option is only useful if both MBEDTLS_SHA256_C and
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
*/
@@ -109,7 +109,7 @@
/**
* \def MBEDTLS_ENTROPY_NV_SEED
-@@ -1137,14 +1137,14 @@
+@@ -1170,14 +1170,14 @@
* Uncomment this macro to disable the use of CRT in RSA.
*
*/
@@ -135,7 +135,7 @@
/**
* \def MBEDTLS_SSL_ALL_ALERT_MESSAGES
-@@ -1298,7 +1298,7 @@
+@@ -1331,7 +1331,7 @@
* configuration of this extension).
*
*/
@@ -144,7 +144,7 @@
/**
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
-@@ -1473,7 +1473,7 @@
+@@ -1506,7 +1506,7 @@
*
* Comment this macro to disable support for SSL session tickets
*/
@@ -153,7 +153,7 @@
/**
* \def MBEDTLS_SSL_EXPORT_KEYS
-@@ -1503,7 +1503,7 @@
+@@ -1536,7 +1536,7 @@
*
* Comment this macro to disable support for truncated HMAC in SSL
*/
@@ -162,7 +162,7 @@
/**
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
-@@ -1562,7 +1562,7 @@
+@@ -1595,7 +1595,7 @@
*
* Comment this to disable run-time checking and save ROM space
*/
@@ -171,7 +171,7 @@
/**
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
-@@ -1892,7 +1892,7 @@
+@@ -1925,7 +1925,7 @@
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
*/
@@ -180,7 +180,7 @@
/**
* \def MBEDTLS_ARIA_C
-@@ -1958,7 +1958,7 @@
+@@ -1991,7 +1991,7 @@
* This module enables the AES-CCM ciphersuites, if other requisites are
* enabled as well.
*/
@@ -189,7 +189,7 @@
/**
* \def MBEDTLS_CERTS_C
-@@ -1970,7 +1970,7 @@
+@@ -2003,7 +2003,7 @@
*
* This module is used for testing (ssl_client/server).
*/
@@ -216,7 +216,7 @@
/**
* \def MBEDTLS_CIPHER_C
-@@ -2043,7 +2043,7 @@
+@@ -2078,7 +2078,7 @@
*
* This module provides debugging functions.
*/
@@ -225,7 +225,7 @@
/**
* \def MBEDTLS_DES_C
-@@ -2072,7 +2072,7 @@
+@@ -2107,7 +2107,7 @@
* \warning DES is considered a weak cipher and its use constitutes a
* security risk. We recommend considering stronger ciphers instead.
*/
@@ -234,7 +234,7 @@
/**
* \def MBEDTLS_DHM_C
-@@ -2235,7 +2235,7 @@
+@@ -2270,7 +2270,7 @@
* This module adds support for the Hashed Message Authentication Code
* (HMAC)-based key derivation function (HKDF).
*/
@@ -252,7 +252,7 @@
/**
* \def MBEDTLS_NIST_KW_C
-@@ -2545,7 +2545,7 @@
+@@ -2580,7 +2580,7 @@
*
* This module enables abstraction of common (libc) functions.
*/
@@ -270,7 +270,7 @@
/**
* \def MBEDTLS_RIPEMD160_C
-@@ -2566,7 +2566,7 @@
+@@ -2601,7 +2601,7 @@
* Caller: library/md.c
*
*/
@@ -279,7 +279,7 @@
/**
* \def MBEDTLS_RSA_C
-@@ -2673,7 +2673,7 @@
+@@ -2708,7 +2708,7 @@
*
* Requires: MBEDTLS_CIPHER_C
*/
@@ -288,7 +288,7 @@
/**
* \def MBEDTLS_SSL_CLI_C
-@@ -2773,7 +2773,7 @@
+@@ -2808,7 +2808,7 @@
*
* This module provides run-time version information.
*/
@@ -297,7 +297,7 @@
/**
* \def MBEDTLS_X509_USE_C
-@@ -2883,7 +2883,7 @@
+@@ -2918,7 +2918,7 @@
* Module: library/xtea.c
* Caller:
*/
diff --git a/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch b/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch
new file mode 100644
index 0000000000..b6c60f0019
--- /dev/null
+++ b/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch
@@ -0,0 +1,27 @@
+From 7aff5a70f3580426865b6c86437a3e47546d13f7 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke at hauke-m.de>
+Date: Sun, 16 Dec 2018 13:02:49 +0100
+Subject: [PATCH] bn_mul.h: Use optimized MULADDC code only on ARM >= 6
+
+The optimized code uses umaal which was only introduced with ARMv6 and
+is not available on older versions.
+This broke compilation with arm926ej-s CPU for me.
+
+Fixes: 16b1bd89326 ("bn_mul.h: add ARM DSP optimized MULADDC code")
+Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
+---
+ include/mbedtls/bn_mul.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/include/mbedtls/bn_mul.h
++++ b/include/mbedtls/bn_mul.h
+@@ -638,7 +638,8 @@
+ "r6", "r7", "r8", "r9", "cc" \
+ );
+
+-#elif defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)
++#elif defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1) && \
++ __TARGET_ARCH_ARM >= 6
+
+ #define MULADDC_INIT \
+ asm(
diff --git a/package/libs/mbedtls/patches/300-soversion-compatibility.patch b/package/libs/mbedtls/patches/300-soversion-compatibility.patch
index a352b449f1..6445f5e5e0 100644
--- a/package/libs/mbedtls/patches/300-soversion-compatibility.patch
+++ b/package/libs/mbedtls/patches/300-soversion-compatibility.patch
@@ -4,7 +4,7 @@
if(USE_SHARED_MBEDTLS_LIBRARY)
add_library(mbedcrypto SHARED ${src_crypto})
-- set_target_properties(mbedcrypto PROPERTIES VERSION 2.12.0 SOVERSION 3)
+- set_target_properties(mbedcrypto PROPERTIES VERSION 2.14.1 SOVERSION 3)
+ set_target_properties(mbedcrypto PROPERTIES VERSION 2.12.0 SOVERSION 1)
target_link_libraries(mbedcrypto ${libs})
@@ -13,7 +13,7 @@
target_link_libraries(mbedx509 ${libs} mbedcrypto)
add_library(mbedtls SHARED ${src_tls})
-- set_target_properties(mbedtls PROPERTIES VERSION 2.12.0 SOVERSION 11)
+- set_target_properties(mbedtls PROPERTIES VERSION 2.14.1 SOVERSION 12)
+ set_target_properties(mbedtls PROPERTIES VERSION 2.12.0 SOVERSION 10)
target_link_libraries(mbedtls ${libs} mbedx509)
@@ -24,7 +24,7 @@
endif
endif
--SOEXT_TLS=so.11
+-SOEXT_TLS=so.12
+SOEXT_TLS=so.10
SOEXT_X509=so.0
-SOEXT_CRYPTO=so.3
--
2.19.2
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list