From 7d6976ef10b1037e5328bed8a31f80184d464a88 Mon Sep 17 00:00:00 2001 From: Dong Heng Date: Wed, 8 Jul 2020 17:23:28 +0800 Subject: [PATCH] fix(mbedtls): Fix dynamic buffer mbedtls handshake steps process return 0 when handshake fail --- .../mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h | 3 --- components/mbedtls/port/dynamic/esp_ssl_tls.c | 11 ++++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/components/mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h b/components/mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h index d831d073..4ceb24b2 100644 --- a/components/mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h +++ b/components/mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h @@ -33,9 +33,6 @@ \ if ((_ret = _fn) != 0) { \ ESP_LOGV(TAG, "\"%s\" result is -0x%x", # _fn, -_ret); \ - if (_ret == MBEDTLS_ERR_SSL_CONN_EOF) {\ - return 0; \ - } \ TRACE_CHECK(_fn, "fail"); \ return _ret; \ } \ diff --git a/components/mbedtls/port/dynamic/esp_ssl_tls.c b/components/mbedtls/port/dynamic/esp_ssl_tls.c index 7d037204..081e50af 100644 --- a/components/mbedtls/port/dynamic/esp_ssl_tls.c +++ b/components/mbedtls/port/dynamic/esp_ssl_tls.c @@ -85,7 +85,16 @@ int __wrap_mbedtls_ssl_read(mbedtls_ssl_context *ssl, unsigned char *buf, size_t { int ret; - CHECK_OK(esp_mbedtls_add_rx_buffer(ssl)); + ESP_LOGD(TAG, "add mbedtls RX buffer"); + ret = esp_mbedtls_add_rx_buffer(ssl); + if (ret == MBEDTLS_ERR_SSL_CONN_EOF) { + ESP_LOGD(TAG, "fail, the connection indicated an EOF"); + return 0; + } else if (ret < 0) { + ESP_LOGD(TAG, "fail, error=-0x%x", -ret); + return ret; + } + ESP_LOGD(TAG, "end"); ret = __real_mbedtls_ssl_read(ssl, buf, len);