diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index e265cac575a9cb0bb16b24be04b68b46fa08d50f..f03ae71d0c43a0fe065af7ba660b7b0cbc0f60e2 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -8,18 +8,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mbedtls -PKG_VERSION:=2.14.1 -PKG_RELEASE:=1 +PKG_VERSION:=2.16.3 +PKG_RELEASE:=2 PKG_USE_MIPS16:=0 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz PKG_SOURCE_URL:=https://tls.mbed.org/download/ -PKG_HASH:=baa1121952786f5b2c66c52226a8ca0e05126de920d1756266551df677915b7e +PKG_HASH:=fd01fe4b289116df7781d05e1ef712b6c98823c5334f4a27404f13a8d066ef6a PKG_BUILD_PARALLEL:=1 PKG_LICENSE:=GPL-2.0+ PKG_CPE_ID:=cpe:/a:arm:mbed_tls +PKG_CONFIG_DEPENDS:=CONFIG_LIBMBEDTLS_HAVE_SSE2 + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk @@ -39,7 +41,23 @@ $(call Package/mbedtls/Default) CATEGORY:=Libraries SUBMENU:=SSL TITLE+= (library) - ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + ABI_VERSION:=12 +endef + +define Package/libmbedtls/config +config LIBMBEDTLS_HAVE_SSE2 + depends on PACKAGE_libmbedtls + bool + default y if x86_64 + prompt "Enable use of x86 SSE2 instructions" + depends on x86_64 + help + Use of SSE2 instructions greatly increase performance (up to + 3x faster) with a minimum (~0.2%, or 23KB) increase in package + size, but it will bring no benefit if your hardware does not + support them, such as Geode GX and LX. In this case you may + save 23KB by saying yes here. AMD Geode NX, and Intel + Pentium 4 and above support SSE2. endef define Package/mbedtls-util @@ -71,6 +89,17 @@ CMAKE_OPTIONS += \ -DENABLE_TESTING:Bool=OFF \ -DENABLE_PROGRAMS:Bool=ON +define Build/Configure + $(Build/Configure/Default) + + awk 'BEGIN { rc = 1 } \ + /#define MBEDTLS_HAVE_SSE2/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_HAVE_SSE2),,// )#define MBEDTLS_HAVE_SSE2"; rc = 0 } \ + { print } \ + END { exit(rc) }' $(PKG_BUILD_DIR)/include/mbedtls/config.h \ + >$(PKG_BUILD_DIR)/include/mbedtls/config.h.new && \ + mv $(PKG_BUILD_DIR)/include/mbedtls/config.h.new $(PKG_BUILD_DIR)/include/mbedtls/config.h +endef + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/mbedtls $(1)/usr/include/ @@ -81,7 +110,7 @@ endef define Package/libmbedtls/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/ endef define Package/mbedtls-util/install diff --git a/package/libs/mbedtls/patches/200-config.patch b/package/libs/mbedtls/patches/200-config.patch index 387d7ffc78e4652a336a55b49adb6037c7a2448c..a09cf1f49b87319b0149b55e346cd9d7e96e0ce2 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 -@@ -557,14 +557,14 @@ +@@ -633,14 +633,14 @@ * * Enable Output Feedback mode (OFB) for symmetric ciphers. */ @@ -17,7 +17,7 @@ /** * \def MBEDTLS_CIPHER_NULL_CIPHER -@@ -654,19 +654,19 @@ +@@ -750,19 +750,19 @@ * * Comment macros to disable the curve and functions for it */ @@ -46,7 +46,7 @@ /** * \def MBEDTLS_ECP_NIST_OPTIM -@@ -768,7 +768,7 @@ +@@ -864,7 +864,7 @@ * See dhm.h for more details. * */ @@ -55,7 +55,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED -@@ -788,7 +788,7 @@ +@@ -884,7 +884,7 @@ * MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA */ @@ -64,7 +64,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED -@@ -813,7 +813,7 @@ +@@ -909,7 +909,7 @@ * MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA */ @@ -73,7 +73,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED -@@ -947,7 +947,7 @@ +@@ -1043,7 +1043,7 @@ * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 */ @@ -82,7 +82,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED -@@ -971,7 +971,7 @@ +@@ -1067,7 +1067,7 @@ * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 */ @@ -91,7 +91,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED -@@ -1075,7 +1075,7 @@ +@@ -1171,7 +1171,7 @@ * This option is only useful if both MBEDTLS_SHA256_C and * MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used. */ @@ -100,7 +100,7 @@ /** * \def MBEDTLS_ENTROPY_NV_SEED -@@ -1170,14 +1170,14 @@ +@@ -1266,14 +1266,14 @@ * Uncomment this macro to disable the use of CRT in RSA. * */ @@ -117,7 +117,7 @@ /** * \def MBEDTLS_SHA256_SMALLER -@@ -1331,7 +1331,7 @@ +@@ -1427,7 +1427,7 @@ * configuration of this extension). * */ @@ -126,7 +126,7 @@ /** * \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO -@@ -1506,7 +1506,7 @@ +@@ -1602,7 +1602,7 @@ * * Comment this macro to disable support for SSL session tickets */ @@ -135,7 +135,7 @@ /** * \def MBEDTLS_SSL_EXPORT_KEYS -@@ -1536,7 +1536,7 @@ +@@ -1632,7 +1632,7 @@ * * Comment this macro to disable support for truncated HMAC in SSL */ @@ -144,7 +144,7 @@ /** * \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT -@@ -1595,7 +1595,7 @@ +@@ -1691,7 +1691,7 @@ * * Comment this to disable run-time checking and save ROM space */ @@ -153,7 +153,7 @@ /** * \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 -@@ -1925,7 +1925,7 @@ +@@ -2021,7 +2021,7 @@ * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 */ @@ -162,7 +162,7 @@ /** * \def MBEDTLS_ARIA_C -@@ -1991,7 +1991,7 @@ +@@ -2087,7 +2087,7 @@ * This module enables the AES-CCM ciphersuites, if other requisites are * enabled as well. */ @@ -171,7 +171,7 @@ /** * \def MBEDTLS_CERTS_C -@@ -2003,7 +2003,7 @@ +@@ -2099,7 +2099,7 @@ * * This module is used for testing (ssl_client/server). */ @@ -180,16 +180,7 @@ /** * \def MBEDTLS_CHACHA20_C -@@ -2078,7 +2078,7 @@ - * - * This module provides debugging functions. - */ --#define MBEDTLS_DEBUG_C -+//#define MBEDTLS_DEBUG_C - - /** - * \def MBEDTLS_DES_C -@@ -2107,7 +2107,7 @@ +@@ -2203,7 +2203,7 @@ * \warning DES is considered a weak cipher and its use constitutes a * security risk. We recommend considering stronger ciphers instead. */ @@ -198,7 +189,7 @@ /** * \def MBEDTLS_DHM_C -@@ -2270,7 +2270,7 @@ +@@ -2366,7 +2366,7 @@ * This module adds support for the Hashed Message Authentication Code * (HMAC)-based key derivation function (HKDF). */ @@ -207,7 +198,7 @@ /** * \def MBEDTLS_HMAC_DRBG_C -@@ -2580,7 +2580,7 @@ +@@ -2676,7 +2676,7 @@ * * This module enables abstraction of common (libc) functions. */ @@ -216,7 +207,7 @@ /** * \def MBEDTLS_POLY1305_C -@@ -2601,7 +2601,7 @@ +@@ -2697,7 +2697,7 @@ * Caller: library/md.c * */ @@ -225,7 +216,7 @@ /** * \def MBEDTLS_RSA_C -@@ -2708,7 +2708,7 @@ +@@ -2804,7 +2804,7 @@ * * Requires: MBEDTLS_CIPHER_C */ @@ -234,7 +225,7 @@ /** * \def MBEDTLS_SSL_CLI_C -@@ -2808,7 +2808,7 @@ +@@ -2904,7 +2904,7 @@ * * This module provides run-time version information. */ @@ -243,7 +234,7 @@ /** * \def MBEDTLS_X509_USE_C -@@ -2918,7 +2918,7 @@ +@@ -3014,7 +3014,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 deleted file mode 100644 index b6c60f0019de91a6125f4725efa3eeeda6bb8bfd..0000000000000000000000000000000000000000 --- a/package/libs/mbedtls/patches/300-bn_mul.h-Use-optimized-MULADDC-code-only-on-ARM-6.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7aff5a70f3580426865b6c86437a3e47546d13f7 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -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 ---- - 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(