From 52469c85056a5ca1956f68ace0317522b2d19406 Mon Sep 17 00:00:00 2001 From: Mahavir Jain Date: Thu, 2 Jul 2020 15:45:53 +0530 Subject: [PATCH] esp-tls: enable TLS renegotiation using explicit API call mbedTLS stack does not keep TLS renegotiation enabled even if relevant config option is turned on, it needs explicit API call `mbedtls_ssl_conf_renegotiation` to do so. This issue was observed in case of Azure IoT, where keys needs to be refreshed periodically to keep TLS connection intact. --- components/esp-tls/esp_tls_mbedtls.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/esp-tls/esp_tls_mbedtls.c b/components/esp-tls/esp_tls_mbedtls.c index 2b6e697b8..0a7a0fbc5 100644 --- a/components/esp-tls/esp_tls_mbedtls.c +++ b/components/esp-tls/esp_tls_mbedtls.c @@ -410,6 +410,9 @@ esp_err_t set_client_config(const char *hostname, size_t hostlen, esp_tls_cfg_t return ESP_ERR_MBEDTLS_SSL_CONFIG_DEFAULTS_FAILED; } +#ifdef CONFIG_MBEDTLS_SSL_RENEGOTIATION + mbedtls_ssl_conf_renegotiation(&tls->conf, MBEDTLS_SSL_RENEGOTIATION_ENABLED); +#endif if (cfg->alpn_protos) { #ifdef CONFIG_MBEDTLS_SSL_ALPN