Commit Graph
100 Commits
Author SHA1 Message Date
nilesh.kale 446c4fb6c3 fix(bootloader_support): enable XTS-AES pseudo rounds for ESP32-P4
Burn XTS_DPA_PSEUDO_LEVEL efuse on P4 (rev >= 3.0) as done for other targets.
2026-07-17 15:15:50 +05:30
nilesh.kale 7ef8b58873 fix(bootloader_support): set SECURE_BOOT_SHA384_EN eFuse on ESP32-P4
Set SECURE_BOOT_SHA384_EN when enabling ECDSA-P384 Secure Boot V2 on
ESP32-P4, as done on C5/H4/S31, so that ROM verifies the bootloader
using the SHA-384 scheme. The eFuse exists only on the rev >= v3.0
eFuse table, so the Kconfig option is gated on rev >= v3.0.
2026-07-17 15:15:50 +05:30
nilesh.kale 3aea82e4b3 fix(esp_rom): correct ESP32-P4 secure boot signature block layout 2026-07-17 15:15:50 +05:30
nilesh.kale c9e90831b8 feat: enable AES GCM support for ESP32-S31 2026-07-06 15:08:38 +05:30
nilesh.kale 7cb0e4c70a feat: added call to aquire clock source for H4 and H21 AES crypto 2026-07-06 15:08:02 +05:30
nilesh.kale 6cf7191e1d feat: update docs for ESP32H4 security chapters 2026-07-06 15:08:02 +05:30
nilesh.kale 9b243dcf26 fix(esp_hw_support): Keep D-ROM PMP entry so newer apps boot on old bootloaders
ESP32-C6/H2 bootloaders <= v5.2.1 configure and lock PMP entries 3-4 as their
D-ROM region; a locked PMP entry cannot be reconfigured until CPU reset.
Commit 366e4ee944 ("Remove redundant PMP entry for ROM region") dropped the
D-ROM entry, and commit d4167fea60 (which also restructured C6/H2 PMP setup)
then renumbered the regions down, placing the application IRAM/DRAM split on
entries 3-4. On an already-deployed older bootloader those entries are locked,
so IRAM never gains execute permission and the chip resets before app_main()
(GitHub issue #18769).

Restore the separate (redundant) D-ROM PMP entry on indices 3-4 so the
application IRAM/DRAM split stays on entries 5-7, clear of the locked range.
This keeps newer applications bootable on older bootloaders.

Closes https://github.com/espressif/esp-idf/issues/18769
2026-07-03 20:57:04 +05:30
nilesh.kale a946ca2aa5 fix: handle return code 304 during HTTP HEAD request in partial OTA 2026-06-17 14:21:48 +05:30
nilesh.kale 6b6e99be49 fix(secure_boot_v2): select correct secure boot algorithm based on key 2026-06-02 13:09:45 +05:30
nilesh.kale ae1ec76e82 feat: enable Secure Boot, Flash Encryption and Key Manager support for S31 2026-06-02 13:09:44 +05:30
Nilesh Kale 2fa9fba978 Merge branch 'feat/add_flash_encryption_support_for_esp32h4' into 'master'
feat: enable flash encryption support in ESP32H4

Closes IDF-12261, IDF-12969, and IDF-12506

See merge request espressif/esp-idf!45613
2026-05-20 17:45:13 +08:00
Nilesh Kale d8dbc83e7e Merge branch 'feat/enable_ds_hmac_ecdsa_support_for_esp32s31' into 'master'
feat(hal): add ECDSA,  HMAC and Digital Signature support for esp32s31

Closes IDF-14623, IDF-14624, IDF-14621, and IDF-13062

See merge request espressif/esp-idf!48134
2026-05-20 17:44:14 +08:00
nilesh.kale 34e24e1ed3 fix: disable Key Manager and ECDSA TRNG tests for S31 temporarily 2026-05-20 10:17:34 +05:30
nilesh.kale a530aab0a6 feat: enable key manager and HUK support for S31 2026-05-20 10:17:34 +05:30
nilesh.kale 36fdf38ad4 fix: cleanup xts_aes_reg.h dependency for H21, C61 and H4 2026-05-20 09:29:20 +05:30
nilesh.kale cae147af08 feat: enable flash encryption for ESP32-H4 2026-05-20 09:29:20 +05:30
nilesh.kale f400c78d42 feat(hal): enable ecdsa support in esp32h4 2026-05-12 15:26:17 +05:30
nilesh.kale b9a394e75e feat(hal): enabled ecc p-384 support for esp32h4 2026-05-12 15:19:32 +05:30
nilesh.kale 76e2e6d53f feat: enable support for secure boot in esp32h4 2026-05-11 16:26:01 +05:30
nilesh.kale c3a413a8a5 fix(esp_http_client): implement chunked transfer encoding in before tranport write
Closes https://github.com/espressif/esp-idf/issues/17685
2026-04-15 16:10:16 +05:30
nilesh.kale a6a2696972 fix(cpu_region_protect): set DROM mask PMP entry to read-only
PMP entry 3 (SOC_DROM_MASK_HIGH, TOR mode) in the memprot path
was incorrectly granted RW permission on esp32h21 and esp32c61.
The mask ROM data region is inherently read-only; remove the W bit.

Also added necessary tests to check voilations and re-enabled
tests for ESP32P4
2026-04-13 10:27:58 +05:30
nilesh.kale b3243dc6de feat: enable HMAC peripheral support for ESP32-H4 2026-04-09 14:29:57 +05:30
nilesh.kale f43d0dbadc docs: added guide to transit from dev mode to release mode of FE 2026-04-01 13:55:12 +05:30
nilesh.kale 85b5e6a231 fix: added reference to example security/security_features_app in docs 2026-04-01 13:54:34 +05:30
nilesh.kale 31c88b7a4d fix(mbedtls): disable cert bundle tests in FPGA env 2026-03-23 13:53:54 +08:00
nilesh.kale 7647d54271 fix: solve OTA resumption CI failures
This commit started threaded server to serve multiple clients
simultaneouly in individual thread.
2026-03-18 12:16:01 +05:30
nilesh.kale 8a37408fa7 fix(tcp_transport): reset state on async TLS connect failure to avoid use-after-free 2026-03-18 11:56:29 +05:30
nilesh.kale 10cbacfb19 fix(bootloader_support): added ecdsa curve validation during secure boot
This commit added ECDSA key curve validation between
curve selected in menuconfig and key provided.
2026-03-03 12:53:27 +05:30
nilesh.kale 33eb81d2b2 fix: Remove CI test esp32.test_examples_protocol_esp_http_client 2026-02-25 12:06:44 +08:00
nilesh.kale 0fd1a4c9f8 test(esp_security): re-enable crypto drivers test app for ESP32P4
Also remove common_components dep for security-related tests
2026-02-10 17:48:55 +05:30
nilesh.kale 97dba09392 fix(mbedtls): Revised ECDSA verify HW config check 2026-02-10 12:36:30 +05:30
nilesh.kale ba308b6d76 fix(esp_https_ota): handle ota resumption if server dosent support range requests
This commit added check to see if server supports range requets,
and fallback to OTA without resumption accordingly.

Closes https://github.com/espressif/esp-idf/pull/17960
2026-02-09 13:48:48 +05:30
nilesh.kale 5f80b77b55 fix: Add conflict detection for concurrent OTA operations on same partition
This change adds conflict detection to prevent multiple OTA operations from
being initiated on the same partition simultaneously.

Closes https://github.com/espressif/esp-idf/issues/18127
2026-02-04 12:04:50 +05:30
nilesh.kale 93fcdda9f4 feat: add demo to receive websocket frame in chunks
This commit added demo to receive websocket single frame in chunks
using newly added API httpd_ws_recv_frame_part() with optimized memory.

closes https://github.com/espressif/esp-idf/pull/15622
2026-01-07 15:25:19 +05:30
nilesh.kale 5e94bc0942 feat: enable support for aes and sha peripheral in esp32h4 2026-01-07 12:41:21 +05:30
nilesh.kale f2068bb34f fix: remove reference to closed JIRA tracker IDF-10694 2026-01-07 12:05:53 +05:30
nilesh.kale f42e35bb68 feat: added support for pseudo round xts aes in esp32p4 eco5 2026-01-07 13:20:55 +08:00
nilesh.kale dfc07d30b7 feat(esp_hw_support): protect I/D ROM memory split for ESP32-H21 2026-01-07 13:20:29 +08:00
nilesh.kale ef05ff039e fix(docs): alter the warning sequence for structs 2025-12-16 11:48:06 +05:30
nilesh.kale 2267558b15 feat: enabled ECDSA peripheral support for ESSP32-P4 2025-12-16 11:48:06 +05:30
nilesh.kale 361ab5d0c7 fix(hal/test_apps): moved key manager tests under flash encryption check
These two tests executed when FPGA setup is there and pass only when
flash encryption is switched on. So, this tests been moved under FE check.
2025-12-16 11:48:06 +05:30
nilesh.kale 6d5cf06505 feat: updated reg files for aes and sha for ESP32P4 ECO5 2025-12-09 17:31:32 +05:30
nilesh.kale 7c40e5f45b feat: added testcase to check ota resumption if FE is enabled
This commit also added config option to set default buffer size for OTA.
This testcase mainly checks if OTA resumption fails if data written is
not 16 byte aligned when Flash Encryption is enabled.
2025-12-04 10:51:35 +05:30
nilesh.kale 45d123602b fix(esp_https_ota): align OTA resumption offset to 16-byte boundary 2025-12-04 10:51:35 +05:30
nilesh.kale a7944d1aea Revert "fix: add check to ensure OTA buffer size for 16-byte aligned"
This reverts commit 873fd18c5a.
2025-12-04 10:51:35 +05:30
nilesh.kale fcb7e77e48 feat(mbedtls): add ECC P-384 mbedtls support and test_cases 2025-12-02 11:02:01 +05:30
nilesh.kale 551fd1b50b feat: enable ecc peripheral support for ESP32H4 2025-11-11 10:52:01 +05:30
nilesh.kale e1f7a5e1fc feat: added test_cases for ECC P-384 curve operations 2025-10-30 10:42:40 +05:30
nilesh.kale b132ab96d3 feat(hal): add support for ESP32-P4 ECO5 ECC peripheral
This commit also enabled constant time mode for ECC.
2025-10-30 10:42:40 +05:30
Nilesh Kale 92d4e3afd1 Merge branch 'feature/partial_download_over_single_connection' into 'master'
feat(esp_https_ota): Support partial downloading of OTA over single connection

Closes IDF-13400

See merge request espressif/esp-idf!41911
2025-10-16 18:32:15 +08:00
nilesh.kale 709b869a34 feat(esp_https_ota): Support partial downloading of OTA over single connection
This commit added support to download OTA with partial download feature
over single HTTP connection if server supports persistent connection.
2025-10-10 15:42:47 +05:30
Nilesh Kale 20098cb71c Merge branch 'bugfix/ota_resumption_saved_size_alignmnet' into 'master'
fix: Ensure OTA written size for 16-byte alignment

See merge request espressif/esp-idf!41887
2025-10-10 13:49:24 +08:00
nilesh.kale 28e332b7fa feat: enable pesudo round functionality for AES in ESP32P4 ECO5 2025-10-08 15:40:25 +05:30
nilesh.kale 873fd18c5a fix: add check to ensure OTA buffer size for 16-byte aligned
This commit added guide to, round off OTA written size to allowed
aignmnet when flash ecnryption enabled.
2025-10-07 11:19:35 +05:30
nilesh.kale 5bad8496dc feat(hal/test_apps): Aligh hal/crypto ECDSA test parameters to mbedtls test_apps
Updated the hal/crypto ECDSA test parameters to match the configuration used
mbedtls/ test applications for consistency and easier maintenance.
2025-09-26 15:09:22 +05:30
Nilesh Kale d73cf17616 Merge branch 'docs/move_ecdsa_related_documentation_under_soc_capability' into 'master'
docs: move ecdsa documentation under soc capability for esp_http_client.rst

See merge request espressif/esp-idf!42169
2025-09-25 20:00:04 +08:00
nilesh.kale f3dd701289 docs: move ecdsa documentation under soc capability for esp_http_client.rst 2025-09-25 13:53:55 +05:30
nilesh.kale 54d97fdac1 fix(esp-tls): removed unncessary log for certificate verification
This commit removed unnecessary and confusing log for
certificate verify if there is another issue during tls connection.
2025-09-17 13:04:16 +08:00
nilesh.kale 421b9abd0d fix(esp-tls): added missing event tracker capture during mbedtls read operation
This commit fixed missing event tracker capture and
added new error code ESP_ERR_MBEDTLS_SSL_READ_FAILED.

Closes https://github.com/espressif/esp-idf/issues/16239
2025-09-17 13:04:16 +08:00
nilesh.kale 845275c6f1 fix(esp_http_client): fix dispatching of finish event condition
This commit updates the condition for dispatching of FINISH event.
With this, FINISH event will be dispatched after complete data is read.

Closes https://github.com/espressif/esp-idf/issues/17437
2025-09-11 14:18:28 +08:00
nilesh.kale efb29736bb refactor(hal): moved ECDSA APIs from efuse to ecdsa 2025-09-09 15:01:32 +05:30
nilesh.kale 2d437a6d9a fix(esp_http_client): fixed documentation for API esp_http_client_set_post_data()
Closes https://github.com/espressif/esp-idf/issues/17053
2025-08-28 14:55:55 +05:30
nilesh.kale 7fc57dbef5 fix: ota: increase timeout and remove redundant server restart in tests
This comit updated pytest file in advanced ota example and also updates
timeout for example to avoid recurring timeout errors in CI
2025-08-22 09:40:41 +05:30
nilesh.kale 2e66070862 feat: remove ds and mpi support for esp32h4 2025-08-22 09:08:57 +05:30
nilesh.kale 659679adae docs: remove reference to ecdsa.rst from docs_not_updated/esp32c5.txt
This commit removef ecdsa.rst entry from esp32c5.txt as
ECDSA docs already merged
2025-08-21 15:34:25 +05:30
nilesh.kale 7edb4fae49 feat(esp_http_client): avoid dispatching of spurious event while closing closes connection
This commit updated the client closing condition to avoid spurious
dispatching of event HTTP_EVENT_DISCONNECTED while closing closeed connection.

Closes https://github.com/espressif/esp-idf/issues/16070
2025-08-12 17:31:50 +05:30
nilesh.kale 9984cc4aab feat(esp_http_client): added new HTTP state HTTP_STATE_CONNECTING and change state flow
This commit added new http state HTTP_STATE_CONNECTING, and made states public.
Also added public API to get current state.
Updated state flow in esp_http_client_perform()

Closes https://github.com/espressif/esp-idf/issues/16019
2025-08-12 17:30:38 +05:30
nilesh.kale cc95457c22 fix(esp_https_ota): fixed missing return check during setting range header
This commit added return value check during setting the range header
for partial download procedure of esp_https_ota
2025-08-12 10:26:14 +05:30
nilesh.kale dedc9889de feat: added config member to store block number for hign part of ecdsa key 2025-08-11 16:01:10 +05:30
nilesh.kale 08e781c876 feat: added new config member to provide ecdsa curve type 2025-08-11 16:01:09 +05:30
nilesh.kale 68f06a94bd feat: add ecdsa-p384 testcases and relative support for ESP32C5 ECO2
This commit adds testcases in crypto/hal and mbedtls testapps.
2025-08-11 16:01:01 +05:30
nilesh.kale 73d8ad9083 feat(esp_http_client): handle error while reading data from server
This commit updated API esp_http_cleint_perform() to handle error and
dispatched error  event if any error occured whiling reading data from server.
2025-08-11 16:39:22 +08:00
nilesh.kale ce4a901460 fix(esp_http_client): fixed regression issue during enabling digest auth in client
This commit solved the issue introduced in commit a0bcffcce9
for enabling digest auth for esp_http_client.

Closes https://github.com/espressif/esp-idf/issues/17238
2025-08-06 15:38:25 +05:30
nilesh.kale 2db4bcf87d feat(esp_http_client): move partial download related code under config
This MR added an menuconfig option to enable partial download feature.
2025-08-05 17:38:10 +05:30
nilesh.kale 5cc874068d feat(esp_http_client): added event HTTP_EVENT_ON_STATUS_CODE
This commit added event HTTP_EVENT_ON_STATUS_CODE and
acquire response status code before header or data.
2025-07-08 17:45:18 +05:30
nilesh.kale d4167fea60 feat(esp_hw_support): Enabled support for memory region protection for H21
This commit enabled CPU region protection for ESP32H21.
This alos updated strture for ESP32C6 and ESP32H2.
2025-07-08 13:45:01 +08:00
nilesh.kale caf828dfaf fix(esp_http_client): Fix OTA failure with partial download enabled
This commit fixes an issue encountered during OTA when partial download
is enabled using an AWS signed URL restricted to GET requests.
It also adds an API to retrieve the OTA image size from the Content-Range header.
2025-06-30 11:18:26 +05:30
nilesh.kale 3e46a73964 fix(esp_https_ota): Check and handle missing image length in OTA HTTP response 2025-06-30 11:13:27 +05:30
Nilesh Kale d8f4388926 Merge branch 'feat/enable_hardware_deterministic_mode_for_esp32h21' into 'master'
feat(hal): enabled hardware deterministic loop feature in ESP32H21

See merge request espressif/esp-idf!39464
2025-05-28 14:23:39 +08:00
nilesh.kale 7926ffd13f feat(hal): enabled hardware deterministic mode in ESP32H21 2025-05-27 14:54:13 +05:30
Nilesh Kale fa7c9b63b1 Merge branch 'feature/enable_support_for_deterministic_mode_and_ecdsa_192' into 'master'
enable support for deterministic mode and ecdsa 192 in ESP32H2

Closes IDF-12011, IDF-13065, and DOC-11194

See merge request espressif/esp-idf!39103
2025-05-23 15:19:08 +08:00
nilesh.kale 148d31b659 feat: enable support for deterministic mode for esp32h2 2025-05-22 14:55:15 +05:30
nilesh.kale 0fb8c2a9b8 feat: enabled ECDSA-P192 support for ESP32H2 2025-05-22 14:55:03 +05:30
Nilesh Kale 996a9ca25f fix(app_update): Do not change ota_seq when partition is the same
Revised logic to always update non-running otadata at the time of setting ota boot partition

Closes https://github.com/espressif/esp-idf/issues/14688
2025-05-21 11:33:03 +05:30
nilesh.kale 4722f49bc7 feat: update documentation for esp32h21
This also updated log files for other targets to make consistent.
2025-05-12 12:07:36 +05:30
nilesh.kale 944e3ec846 fix(esp_mm): Move cache-related sources out of pure RAM app check
This change resolves build issues when compiling with
CONFIG_APP_BUILD_TYPE_PURE_RAM_APP enabled.
2025-04-29 12:30:27 +05:30
nilesh.kale f19e8e6970 fix: re-enabled ecdsa support for esp32c5-eco2 2025-04-28 20:58:09 +05:30
nilesh.kale 8c67e3e998 fix: update efuse register files for esp32c5 eco2 2025-04-28 20:58:06 +05:30
nilesh.kale c65858287a feat: enabled secure boot support esp32h21 2025-04-25 17:48:25 +05:30
nilesh.kale d9f03d7f28 fix(hal): updated API description and added comments 2025-04-15 14:58:53 +05:30
nilesh.kale c454c91b35 feat: added documentation for ECDSA peripheral of ESP32H21 2025-04-14 10:29:58 +05:30
nilesh.kale aae4bfb6f3 feat: enable ecdsa support for esp32h21
This commit enabled suppot for ECDSA peripheral in ESP32H21.
2025-04-14 10:26:46 +05:30
nilesh.kale 44d5361821 feat: add efuses for esp32h21
This commit adds ecdsa efuses for esp32h21
2025-04-14 10:26:46 +05:30
nilesh.kale 34b7e7df63 fix(esp_https_ota): add component dependencies for esp_https_ota component
This commit added dependency of esp_bootloader_img and esp_partition
for component esp_https_ota.

Closes https://github.com/espressif/esp-idf/issues/15680
2025-04-08 15:14:23 +05:30
nilesh.kale 54eb749fd2 feat: updated check for chip revision and respective testcases
This commit have updated check for max chip revision along with min chip revision.
Also added qemu based pytest to verify chip revision while performing OTA.
2025-04-07 18:18:16 +08:00
nilesh.kale 9c4c366d61 fix(esp_http_client): Added test case to verify set header functionality
This commit added testcase to verify esp_http_client_set_header
allows header value as NULL. Setting this NULL will delete the header.

Closes https://github.com/espressif/esp-idf/issues/15714
2025-04-04 21:00:45 +05:30
nilesh.kale 79af9d0be0 fix(hal): use typedef esp_xts_aes_psuedo_rounds_state_t for pseudo rounds mode 2025-03-13 10:38:21 +05:30
nilesh.kale 652879ff06 feat: enable flash encryption support for esp32h21 2025-03-13 10:37:11 +05:30
nilesh.kale f794eb9b2d feat: enabled hmac and ds support in esp32h21
This commit enables support for HMAC and DS in ESP32H21
2025-03-13 10:23:11 +05:30
nilesh.kale 19ea12664d feat: added test for ota resumption through ethernet 2025-03-10 13:32:06 +05:30