From 1e95e18576749220f4226ea2f6e8612bd910e80e Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Mon, 4 Sep 2023 09:00:03 +0530 Subject: [PATCH] feat(esp_http_client): Added support for OTA using ds peripheral for TLS --- components/esp_http_client/esp_http_client.c | 8 +++++++- components/esp_http_client/include/esp_http_client.h | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/components/esp_http_client/esp_http_client.c b/components/esp_http_client/esp_http_client.c index d758dfc193..eed409afd8 100644 --- a/components/esp_http_client/esp_http_client.c +++ b/components/esp_http_client/esp_http_client.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -655,6 +655,12 @@ esp_http_client_handle_t esp_http_client_init(const esp_http_client_config_t *co } } +#if CONFIG_ESP_TLS_USE_DS_PERIPHERAL + if (config->ds_data != NULL) { + esp_transport_ssl_set_ds_data(ssl, config->ds_data); + } +#endif + if (config->client_key_pem) { if (!config->client_key_len) { esp_transport_ssl_set_client_key_data(ssl, config->client_key_pem, strlen(config->client_key_pem)); diff --git a/components/esp_http_client/include/esp_http_client.h b/components/esp_http_client/include/esp_http_client.h index c3846e1a00..5c7db325ed 100644 --- a/components/esp_http_client/include/esp_http_client.h +++ b/components/esp_http_client/include/esp_http_client.h @@ -136,6 +136,9 @@ typedef struct { int keep_alive_interval; /*!< Keep-alive interval time. Default is 5 (second) */ int keep_alive_count; /*!< Keep-alive packet retry send count. Default is 3 counts */ struct ifreq *if_name; /*!< The name of interface for data to go through. Use the default interface without setting */ +#if CONFIG_ESP_TLS_USE_DS_PERIPHERAL + void *ds_data; /*!< Pointer for digital signature peripheral context, see ESP-TLS Documentation for more details */ +#endif } esp_http_client_config_t; /**