--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
-@@ -220,7 +220,7 @@
- *
- * Uncomment to get errors on using deprecated functions.
- */
--//#define MBEDTLS_DEPRECATED_REMOVED
-+#define MBEDTLS_DEPRECATED_REMOVED
-
- /* \} name SECTION: System support */
-
-@@ -539,17 +539,17 @@
+@@ -566,17 +566,17 @@
*
* Comment macros to disable the curve and functions for it
*/
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
/**
-@@ -574,8 +574,8 @@
+@@ -601,8 +601,8 @@
* Requires: MBEDTLS_HMAC_DRBG_C
*
* Comment this macro to disable deterministic ECDSA.
/**
* \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-@@ -621,7 +621,7 @@
- * MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
- * MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA
+@@ -655,7 +655,7 @@
+ * See dhm.h for more details.
+ *
*/
-#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
+//#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
/**
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-@@ -640,8 +640,8 @@
+@@ -674,8 +674,8 @@
* MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-@@ -666,7 +666,7 @@
+@@ -700,7 +700,7 @@
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/
/**
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-@@ -793,7 +793,7 @@
+@@ -834,7 +834,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
-@@ -817,7 +817,7 @@
+@@ -858,7 +858,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
-@@ -921,7 +921,7 @@
+@@ -962,7 +962,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
-@@ -1015,14 +1015,14 @@
+@@ -1056,14 +1056,14 @@
* Uncomment this macro to disable the use of CRT in RSA.
*
*/
/**
* \def MBEDTLS_SHA256_SMALLER
-@@ -1038,7 +1038,7 @@
+@@ -1079,7 +1079,7 @@
*
* Uncomment to enable the smaller implementation of SHA256.
*/
/**
* \def MBEDTLS_SSL_ALL_ALERT_MESSAGES
-@@ -1157,8 +1157,8 @@
- * misuse/misunderstand.
+@@ -1206,7 +1206,7 @@
+ * configuration of this extension).
*
- * Comment this to disable support for renegotiation.
-- */
- #define MBEDTLS_SSL_RENEGOTIATION
-+ */
+ */
+-#define MBEDTLS_SSL_RENEGOTIATION
++//#define MBEDTLS_SSL_RENEGOTIATION
/**
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
-@@ -1332,8 +1332,8 @@
+@@ -1380,8 +1380,8 @@
* callbacks are provided by MBEDTLS_SSL_TICKET_C.
*
* Comment this macro to disable support for SSL session tickets
/**
* \def MBEDTLS_SSL_EXPORT_KEYS
-@@ -1363,7 +1363,7 @@
+@@ -1411,7 +1411,7 @@
*
* Comment this macro to disable support for truncated HMAC in SSL
*/
/**
* \def MBEDTLS_THREADING_ALT
-@@ -1397,8 +1397,8 @@
+@@ -1445,8 +1445,8 @@
* Requires: MBEDTLS_VERSION_C
*
* Comment this to disable run-time checking and save ROM space
/**
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
-@@ -1719,7 +1719,7 @@
+@@ -1773,7 +1773,7 @@
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
*/
/**
* \def MBEDTLS_CCM_C
-@@ -1733,7 +1733,7 @@
+@@ -1787,7 +1787,7 @@
* This module enables the AES-CCM ciphersuites, if other requisites are
* enabled as well.
*/
/**
* \def MBEDTLS_CERTS_C
-@@ -1745,7 +1745,7 @@
+@@ -1799,7 +1799,7 @@
*
* This module is used for testing (ssl_client/server).
*/
/**
* \def MBEDTLS_CIPHER_C
-@@ -1798,7 +1798,7 @@
+@@ -1852,7 +1852,7 @@
*
* This module provides debugging functions.
*/
/**
* \def MBEDTLS_DES_C
-@@ -1823,8 +1823,8 @@
- * MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA
- *
- * PEM_PARSE uses DES/3DES for decrypting encrypted keys.
-- */
- #define MBEDTLS_DES_C
-+ */
+@@ -1881,7 +1881,7 @@
+ * \warning DES is considered a weak cipher and its use constitutes a
+ * security risk. We recommend considering stronger ciphers instead.
+ */
+-#define MBEDTLS_DES_C
++//#define MBEDTLS_DES_C
/**
* \def MBEDTLS_DHM_C
-@@ -1978,8 +1978,8 @@
+@@ -2042,8 +2042,8 @@
* Requires: MBEDTLS_MD_C
*
* Uncomment to enable the HMAC_DRBG random number geerator.
/**
* \def MBEDTLS_MD_C
-@@ -2256,7 +2256,7 @@
+@@ -2337,7 +2337,7 @@
* Caller: library/md.c
*
*/
/**
* \def MBEDTLS_RSA_C
-@@ -2334,8 +2334,8 @@
+@@ -2421,8 +2421,8 @@
* Caller:
*
* Requires: MBEDTLS_SSL_CACHE_C
/**
* \def MBEDTLS_SSL_COOKIE_C
-@@ -2356,8 +2356,8 @@
+@@ -2443,8 +2443,8 @@
* Caller:
*
* Requires: MBEDTLS_CIPHER_C
/**
* \def MBEDTLS_SSL_CLI_C
-@@ -2456,8 +2456,8 @@
+@@ -2543,8 +2543,8 @@
* Module: library/version.c
*
* This module provides run-time version information.
/**
* \def MBEDTLS_X509_USE_C
-@@ -2567,7 +2567,7 @@
+@@ -2654,7 +2654,7 @@
* Module: library/xtea.c
* Caller:
*/
--- /dev/null
+From b993d2cca536870ecdf3b4611de9f77215af8eb8 Mon Sep 17 00:00:00 2001
+From: Antoine Aubert <a.aubert@overkiz.com>
+Date: Fri, 20 Jan 2017 08:10:28 +0100
+Subject: [PATCH] vtls: fix mbedtls multi non blocking handshake.
+
+When using multi, mbedtls handshake is in non blocking mode.
+vtls must set wait for read/write flags for the socket.
+---
+ lib/vtls/vtls.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
+index fad9335bbf..871622fef1 100644
+--- a/lib/vtls/vtls.c
++++ b/lib/vtls/vtls.c
+@@ -485,8 +485,9 @@ void Curl_ssl_close_all(struct Curl_easy *data)
+ }
+
+ #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \
+- defined(USE_DARWINSSL) || defined(USE_NSS)
+-/* This function is for OpenSSL, GnuTLS, darwinssl, and schannel only. */
++ defined(USE_DARWINSSL) || defined(USE_NSS) || defined(USE_MBEDTLS)
++/* This function is for OpenSSL, GnuTLS, darwinssl, mbedtls, and schannel
++ only. */
+ int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks,
+ int numsocks)
+ {