include $(TOPDIR)/rules.mk
PKG_NAME:=mbedtls
-PKG_VERSION:=2.14.1
+PKG_VERSION:=2.16.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:=baa1121952786f5b2c66c52226a8ca0e05126de920d1756266551df677915b7e
+PKG_HASH:=7ab76eaefab0b02f26ca889230d553facb2598f3a8f077886c41ec1801d2131a
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPL-2.0+
PKG_CPE_ID:=cpe:/a:arm:mbed_tls
+PKG_CONFIG_DEPENDS:=CONFIG_LIBMBEDTLS_DEBUG_C
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
endef
+define Package/libmbedtls/config
+config LIBMBEDTLS_DEBUG_C
+ depends on PACKAGE_libmbedtls
+ bool "Enable debug functions"
+ default n
+ help
+ This option enables mbedtls library's debug functions.
+
+ It increases the uncompressed libmbedtls binary size
+ by around 60 KiB (for an ARMv5 platform).
+
+ Usually, you don't need this, so don't select this if you're unsure.
+endef
+
define Package/mbedtls-util
$(call Package/mbedtls/Default)
SECTION:=utils
-DENABLE_TESTING:Bool=OFF \
-DENABLE_PROGRAMS:Bool=ON
+define Build/Configure
+ $(Build/Configure/Default)
+
+ awk 'BEGIN { rc = 1 } \
+ /#define MBEDTLS_DEBUG_C/ { $$$$0 = "$(if $(CONFIG_LIBMBEDTLS_DEBUG_C),,// )#define MBEDTLS_DEBUG_C"; 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/
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
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
-@@ -557,14 +557,14 @@
+@@ -599,14 +599,14 @@
*
* Enable Output Feedback mode (OFB) for symmetric ciphers.
*/
/**
* \def MBEDTLS_CIPHER_NULL_CIPHER
-@@ -654,19 +654,19 @@
+@@ -716,19 +716,19 @@
*
* Comment macros to disable the curve and functions for it
*/
/**
* \def MBEDTLS_ECP_NIST_OPTIM
-@@ -768,7 +768,7 @@
+@@ -830,7 +830,7 @@
* See dhm.h for more details.
*
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-@@ -788,7 +788,7 @@
+@@ -850,7 +850,7 @@
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-@@ -813,7 +813,7 @@
+@@ -875,7 +875,7 @@
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-@@ -947,7 +947,7 @@
+@@ -1009,7 +1009,7 @@
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
-@@ -971,7 +971,7 @@
+@@ -1033,7 +1033,7 @@
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
-@@ -1075,7 +1075,7 @@
+@@ -1137,7 +1137,7 @@
* This option is only useful if both MBEDTLS_SHA256_C and
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
*/
/**
* \def MBEDTLS_ENTROPY_NV_SEED
-@@ -1170,14 +1170,14 @@
+@@ -1232,14 +1232,14 @@
* Uncomment this macro to disable the use of CRT in RSA.
*
*/
/**
* \def MBEDTLS_SHA256_SMALLER
-@@ -1331,7 +1331,7 @@
+@@ -1393,7 +1393,7 @@
* configuration of this extension).
*
*/
/**
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
-@@ -1506,7 +1506,7 @@
+@@ -1568,7 +1568,7 @@
*
* Comment this macro to disable support for SSL session tickets
*/
/**
* \def MBEDTLS_SSL_EXPORT_KEYS
-@@ -1536,7 +1536,7 @@
+@@ -1598,7 +1598,7 @@
*
* Comment this macro to disable support for truncated HMAC in SSL
*/
/**
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
-@@ -1595,7 +1595,7 @@
+@@ -1657,7 +1657,7 @@
*
* Comment this to disable run-time checking and save ROM space
*/
/**
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
-@@ -1925,7 +1925,7 @@
+@@ -1987,7 +1987,7 @@
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
*/
/**
* \def MBEDTLS_ARIA_C
-@@ -1991,7 +1991,7 @@
+@@ -2053,7 +2053,7 @@
* This module enables the AES-CCM ciphersuites, if other requisites are
* enabled as well.
*/
/**
* \def MBEDTLS_CERTS_C
-@@ -2003,7 +2003,7 @@
+@@ -2065,7 +2065,7 @@
*
* This module is used for testing (ssl_client/server).
*/
/**
* \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 @@
+@@ -2169,7 +2169,7 @@
* \warning DES is considered a weak cipher and its use constitutes a
* security risk. We recommend considering stronger ciphers instead.
*/
/**
* \def MBEDTLS_DHM_C
-@@ -2270,7 +2270,7 @@
+@@ -2332,7 +2332,7 @@
* This module adds support for the Hashed Message Authentication Code
* (HMAC)-based key derivation function (HKDF).
*/
/**
* \def MBEDTLS_HMAC_DRBG_C
-@@ -2580,7 +2580,7 @@
+@@ -2642,7 +2642,7 @@
*
* This module enables abstraction of common (libc) functions.
*/
/**
* \def MBEDTLS_POLY1305_C
-@@ -2601,7 +2601,7 @@
+@@ -2663,7 +2663,7 @@
* Caller: library/md.c
*
*/
/**
* \def MBEDTLS_RSA_C
-@@ -2708,7 +2708,7 @@
+@@ -2770,7 +2770,7 @@
*
* Requires: MBEDTLS_CIPHER_C
*/
/**
* \def MBEDTLS_SSL_CLI_C
-@@ -2808,7 +2808,7 @@
+@@ -2870,7 +2870,7 @@
*
* This module provides run-time version information.
*/
/**
* \def MBEDTLS_X509_USE_C
-@@ -2918,7 +2918,7 @@
+@@ -2980,7 +2980,7 @@
* Module: library/xtea.c
* Caller:
*/