Commit Graph

576 Commits

Author SHA1 Message Date
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
Mahavir Jain
90290507fb
fix(mbedtls): Build issue in dynamic buffer feature
Fix build issue in mbedTLS dynamic buffer feature with
`CONFIG_MBEDTLS_DHM_C` enabled case. Also added a build
configuration for the test coverage.

Closes https://github.com/espressif/esp-idf/issues/11770
2023-06-29 13:30:30 +05:30
harshal.patil
f0ae5bd25a mbedtls: update submodule to include:
fix: mbedtls_ecdsa_can_do was not being defined when ECDSA_SIGN_ALT is defined but ECDSA_VERIFY_ALT is not defined causing mbedtls_ecdsa_verify_restartable to always fail.
feature: initial version of the sbom.yml file
2023-06-23 14:07:45 +05:30
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
Marius Vikhammer
6d11c37ff1 core-system: trim build components for core-system test apps 2023-06-13 09:14:42 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Mahavir Jain
f7a01d8f90
aes: fix DMA descriptor calculation for the alignment case
The number of the DMA descriptors allocated for certain length (e.g.,
8176) were not sufficient (off by 1 error). This used to result in the
dynamic memory corruption as the region was modified beyond the
allocated range.

This change fixes the DMA descriptor calculation part and allocates
sufficient DMA descriptors based on the data length alignment considerations.

Test has also been added to cover the specific scenario in the CI.

Closes https://github.com/espressif/esp-idf/issues/11310
2023-05-31 14:19:58 +05:30
Mahavir Jain
1747f2e0d1 Merge branch 'contrib/github_pr_11402' into 'master'
esp_ds: ignore releasing mutex if not called from same task (GitHub PR)

Closes IDFGH-10131

See merge request espressif/esp-idf!23763
2023-05-19 10:59:33 +08:00
Zhang Xiao Yan
81558fb77d Merge branch 'docs/update_algorithm_and_key_from_aes-xts_to_xts-aes' into 'master'
docs: update the algorithm and key name from AES-XTS to XTS-AES

See merge request espressif/esp-idf!23742
2023-05-16 17:39:58 +08:00
Christoph Baechler
704dfc9185 esp_ds: ignore releasing mutex if not called from same task 2023-05-15 15:02:38 +02:00
Linda
65ee4992ce docs: update the algorithm and key name from AES-XTS to XTS-AES 2023-05-15 17:54:50 +08:00
Cao Sen Miao
0f83970368 ci: Delete ccomp_timer in IDF(witch has been moved to component manager) 2023-05-15 14:58:51 +08:00
Zim Kalinowski
3947688d54 Merge branch 'bugfix/make_clean_files' into 'master'
build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES

Closes IDF-2444

See merge request espressif/esp-idf!23628
2023-05-09 16:53:18 +08:00
Marius Vikhammer
d17248ecdf build-system: replace ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES
ADDITIONAL_MAKE_CLEAN_FILES is deprecated and only worked with make.
Replaced with the new ADDITIONAL_CLEAN_FILES (CMake 3.15) which also works with ninja.
2023-05-08 15:51:48 +08:00
harshal.patil
9a87b26294 mbedtls: fix sha-512 block mode build error 2023-05-08 10:27:34 +05:30
Mahavir Jain
cba923788e Merge branch 'feature/tls1_3_support' into 'master'
esp-tls: add initial support for TLS1.3 connections (client mode)

Closes IDF-7251 and IDF-7252

See merge request espressif/esp-idf!23442
2023-04-27 18:13:43 +08:00
Mahavir Jain
3fd171f092
mbedtls: fix small typo in the config file 2023-04-25 17:44:28 +05:30
Mahavir Jain
a8b6a70620 Merge branch 'feature/add_bignum_ll_layer' into 'master'
bignum: added bignum hal and ll layer

Closes IDF-7071

See merge request espressif/esp-idf!22823
2023-04-25 19:50:25 +08:00
harshal.patil
56327452ce esp_hw_support: add crypto lock layer for esp32 2023-04-24 16:15:11 +05:30
harshal.patil
4ae1ea7b9f bignum: refactored the hardware abstraction of the mpi peripheral
- `<target>/bignum.c` is replaced by mpi_ll.h ll layer.
- added the mpi hal layer.
2023-04-24 16:15:11 +05:30
laokaiyao
bf2a7b2df6 esp32h4: removed esp32h4 related codes 2023-04-23 12:03:07 +00:00
laokaiyao
b16ed57b2e esp32h4: removed esp32h4 related files 2023-04-23 12:03:07 +00:00
harshal.patil
c403affd98 mbedtls: fix ci failures for update v3.4.0
- While updating to mbedtls release/v3.4.0, building mbedtls/library/psa_crypto.c,
clang produced an unreachable-code warning, so added `-Wno-unreachable-code` compile option for clang.
- In `mbedtls/v3.4.0`, the ECDSA restartable sign and verify functions (`ecdsa.c`) were made public.
- But the `mbedtls_ecdsa_sign_det_restartable` function prototype was declared in the file `ecdsa.h`,
only when `MBEDTLS_ECDSA_SIGN_ALT` was not defined.
- added a patch in mbedtls library to fix it.
2023-04-17 12:55:04 +05:30
harshal.patil
9c3a6c4f53 mbedtls: replace low-level sha apis with md apis in esp_ssl_tls 2023-04-17 12:50:15 +05:30
harshal.patil
f30b58f665 mbedtls: Update config options as per release/v3.4.0
- Added a Kconfig option for the newly added mbedtls option MBEDTLS_PKCS7_C
2023-04-17 12:50:15 +05:30
harshal.patil
002a451bf8 mbedtls: Update to release/v3.4.0
- Release Notes: https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.4.0
2023-04-17 12:50:15 +05:30
Sachin Parekh
39a5604c29 mbedtls/ecdsa: Add ECDSA signature generation test 2023-04-07 14:55:21 +05:30
Sachin Parekh
d634970ed1 ecdsa: Support multiple ECDSA keys
Add provision to choose which efuse block should be used as ECDSA
private key
2023-04-07 14:55:21 +05:30
Sachin Parekh
d2940c5ff3 mbedtls: Add port layer for ECDSA peripheral 2023-03-24 10:43:40 +05:30
Aditya Patwardhan
85b1efc729 Merge branch 'update/update_cmn_crt_authorities_csv' into 'master'
Update common cert authorities csv

See merge request espressif/esp-idf!22713
2023-03-16 12:59:48 +08:00
harshal.patil
6b8bc64f31 test: enable mbedtls esp_crt_bundle test for esp32h2 2023-03-13 12:00:01 +05:30
Espressif BOT
e174fc967e Update common cert authorities csv 2023-03-12 11:00:24 +08:00
Mahavir Jain
e364e1c102 Merge branch 'feature/esp32h2_enable_rsa_support' into 'master'
mbedtls: enable RSA support for esp32h2

Closes IDF-6284 and IDF-6415

See merge request espressif/esp-idf!22498
2023-03-02 15:06:24 +08:00
David Čermák
956e62c461 Merge branch 'feature/lwip_ipv6_only' into 'master'
lwip: Support IPv6 only mode

Closes IDF-6023

See merge request espressif/esp-idf!20468
2023-03-01 21:38:10 +08:00
harshal.patil
04cc562180 mbedtls: enable RSA support for esp32h2 2023-03-01 14:18:57 +05:30
Mahavir Jain
4db6cae2d6 Merge branch 'fix/mbedtls_test_app_perf_logs_esp32c2' into 'master'
mbedtls/test_apps: Fix performance logs

See merge request espressif/esp-idf!22340
2023-02-28 19:50:56 +08:00
Jiang Jiang Jian
b9d40b4943 Merge branch 'feature/add_esp_http_client_host_test' into 'master'
fix esp_http_client_example to build for Linux target.

See merge request espressif/esp-idf!22339
2023-02-28 19:48:24 +08:00
Armando
4c0d6b6835 mbedtls: updated to use default gdma psram alignment
When accessing the PSRAM, the GDMA buffer alignment should be larger or
equal to the data cache line size
2023-02-28 10:42:22 +08:00
Harshit Malpani
214627f14b
mbedtls: Keep CONFIG_MBEDTLS_DYNAMIC_BUFFER disabled for Linux target 2023-02-27 15:12:14 +05:30
David Cermak
5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
Laukik Hase
47c153ad9e
mbedtls/test_apps: Fix performance logs
- For esp32-c2, the `CONFIG_NEWLIB_NANO_FORMAT` is enabled by
  default which does not allow printing `int64_t` values
- Copied these values to a `uint32_t` variable for printing
  them properly
2023-02-24 12:26:21 +05:30
Laukik Hase
9f0435faa4
mbedtls: Add test config with CONFIG_COMPILER_OPTIMIZATION_PERF 2023-02-21 18:45:25 +05:30
Laukik Hase
45df5b56d5
esp32/mpi: Added alternate workaround for MPI data corruption issue
- Use DPORT_WRITE_REG (volatile writes) wrappers to write to the
  MPI peripheral
- Updated the previous workaround added for the same issue as it
  was failing in some long runs and with `COMPILER_OPTIMIZATION_PERF`
  enabled.
- The test performance numbers had to be updated due to the
  performance penalty introduced by this fix.

Closes https://github.com/espressif/esp-idf/issues/10403
2023-02-21 18:43:54 +05:30
Mahavir Jain
a9e7ccb166 Merge branch 'contrib/github_pr_10648' into 'master'
[AES] Timeout: return error dont abort (GitHub PR)

Closes IDFGH-9265

See merge request espressif/esp-idf!22266
2023-02-21 01:14:05 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Marius Vikhammer
ca0f982420 aes: fix minor formatting issues 2023-02-15 12:45:29 +08:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
Mahavir Jain
e4e4ffa3f4
esp32h2: enable DS peripheral support in driver and test application 2023-02-13 10:27:15 +05:30
Laukik Hase
d4abf3ff45
mbedtls: Remove -Wno-format compile option for test app 2023-02-08 12:31:09 +05:30
harshal.patil
6206c1e213 mbedtls: enable RSA support for esp32c6 2023-02-03 11:46:42 +05:30
Chip Weinberger
91ab4b5513 [AES] Timeout: return error dont abort 2023-01-30 01:37:00 -08:00
harshal.patil
75899755b7 mbedtls: fix null pointer dereference of variable iv_off
iv_off gets dereferenced before being check for NULL
2023-01-24 12:20:00 +05:30
Mahavir Jain
e7ca2f2622 Merge branch 'feature/esp32c6_enable_hmac_and_ds_support' into 'master'
Feature/esp32c6 enable hmac and ds support

Closes IDF-5355 and IDF-5360

See merge request espressif/esp-idf!21761
2023-01-20 20:30:54 +08:00
Aditya Patwardhan
4831edc624
esp32c6/hal: Added support for HMAC and DS on esp32c6
* Update DS test_apps for esp32c6 SoC
2023-01-19 09:53:34 +05:30
Sachin Parekh
b060179400 mbedtls/ecp: Fix incorrect ECP parameter value
- Add sanity checks in mbedtls port
- Add ECP test cases covering shorter scalar values
2023-01-18 14:24:57 +05:30
Aditya Patwardhan
634e408ca4 Merge branch 'fix/mbedtls_port_sanity_checks_and_return_values' into 'master'
mbedtls/port: refactor sanity checks and their return values

Closes IDF-3810

See merge request espressif/esp-idf!21987
2023-01-17 19:21:52 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
harshal.patil
5ee1e97e6f mbedtls: added a test of different auth-tag lengths in AES-GCM 2023-01-16 15:04:08 +05:30
harshal.patil
270ff95022 mbedtls/port: refactor sanity checks and their return values
Refactored and returned correct error codes for sanity checks
present in port layer esp_aes.c and esp_aes_gcm.c
2023-01-16 15:04:08 +05:30
harshal.patil
9a47f8a066 mbedtls/port: added stream_block parameter sanity check 2023-01-16 15:04:08 +05:30
Laukik Hase
4f67662cab Merge branch 'feature/mbedtls-3.3.0' into 'master'
mbedtls: Update to v3.3.0

Closes IDF-6536

See merge request espressif/esp-idf!21897
2023-01-12 19:38:51 +08:00
Espressif BOT
35cd5ee57b Update esp_crt_bundle certificates 2023-01-11 10:00:31 +08:00
Laukik Hase
1e4493e592
mbedtls: Fix build with dynamic buffers feature 2023-01-09 15:41:36 +05:30
Laukik Hase
59de3948dc
mbedtls: Update config options as per v3.3.0 release 2023-01-09 15:41:36 +05:30
Laukik Hase
d2dddf13ae
mbedtls: Update to v3.3.0 2023-01-09 15:41:35 +05:30
Harshit Malpani
49ce5ada76
ci: Fix ci failures for target esp32c6 2023-01-04 11:20:52 +05:30
Harshit Malpani
e215ede439
mbedtls: Add support to build for linux target 2023-01-04 11:17:29 +05:30
LiPeng
5c93fe47cb mbedtls: GCM implementation is replaced with CTR-based calculation
- GCM operation in mbedtls used ECB, which calculated only 16 bytes of data each time.
	- Therefore, when processing a large amount of data, it is necessary to frequently set hardware acceleration calculations,
	- which could not make good use of the AES DMA function to improve efficiency.
	- Hence, GCM implementation is replaced with CTR-based calculation which utilizes AES DMA to improve efficiency.
2022-12-28 12:14:29 +05:30
harshal.patil
f9f10c2590 mbedtls: fix esp_aes_gcm_update_ad() API implementation 2022-12-28 11:33:09 +05:30
harshal.patil
48840d04f0 mbedtls: fix esp_aes_crypt_ctr writing to null stream block 2022-12-28 11:33:09 +05:30
harshal.patil
06bb0ee077 mbedtls: added SOC_AES_SUPPORT_AES_192 check in esp_aes_gcm_setkey() 2022-12-28 11:33:09 +05:30
harshal.patil
e0f31edab5 test_aes_gcm: fix output_size paramter in mbedtls_get_update()
mbedtls_get_update() returned MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL,
as 0 used to get passed in the output_size paramter.
2022-12-28 11:33:09 +05:30
harshal.patil
c15b36b9c4 mbedtls: populate mbedtls_gcm_update() output_length paramater 2022-12-28 11:33:09 +05:30
David Cermak
678d7aadd9 esp-netif/lwip: Introduce TCP/IP stack has BSD API
* This variable is automatically selected when lwip stack is chosen
* This commit also fixes lwip loopback configuration
2022-12-14 14:12:50 +00:00
Nathan Phillips
260fd5c5a5 Explicitly log an invalid digest in DS data 2022-12-08 10:33:59 +00:00
Song Ruo Jing
1575b9e43a ci: Disable all currently failed target tests for esp32c6 2022-11-28 12:09:08 +08:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Jiang Jiang Jian
9d7facf284 Merge branch 'remove_deprecated_rc4' into 'master'
Removed some occurences of the RC4 cipher suite

Closes IDF-4983

See merge request espressif/esp-idf!19856
2022-11-07 13:57:51 +08:00
Martin Vychodil
c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition'
All the partition handling API functions and data-types were moved from the 'spi_flash' component to the new one named 'esp_partition'. See Storage 5.x migration guide for more details
2022-11-02 21:54:45 +01:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
jgujarathi
915fb4dfe2 Removed some occurences of the RC4 cipher suite(deprecated now) 2022-10-26 03:02:16 +00:00
Mahavir Jain
dc34d4986a
esp32: mpi: add workaround for data corruption issue observed with IDF 5.x toolchain
This fix adds a workaround to disable compiler optimization flag "-ftree-loop-distribute-patterns"
for `mpi_to_mem_block` routine. It was observed that compiler with release configuration was falling
back to `memset` call from ROM library causing an issue in correctly zero initializing MPI peripheral
block.

Please see following linked issue for more discussion and context on this issue.

Closes https://github.com/espressif/esp-idf/issues/8710
Closes https://github.com/espressif/esp-idf/issues/9371
Closes https://github.com/espressif/esp-idf/issues/9256
Closes IDFGH-7102
Closes IDFGH-7842
Closes IDFGH-7714
Closes IDFCI-1452
Closes IDF-6029
2022-10-21 14:29:02 +05:30
Mahavir Jain
6c8f6597f9
mbedtls: test_app: keep release config enabled for ESP32
Before `test_apps` migration, we had an independent release config,
but we can safely enable it in the default configuration for ESP32
target itself. This helps to catch any potential issues that may
occur in relevant tests because of compiler optimization flags.
2022-10-21 14:29:02 +05:30
Mahavir Jain
10dfabe650 Merge branch 'ecc/improve_mbedtls_ecdsa' into 'master'
mbedtls: Added performance test for ECP and ECDSA operation

See merge request espressif/esp-idf!19337
2022-10-14 15:49:22 +08:00
Mahavir Jain
835bb4acb1 Merge branch 'ci/fix_esp32s2_mbedtls_psram_ta' into 'master'
ci: Fix `esp32s2.psram.test_mbedtls_psram` UT

Closes IDFCI-1487 and IDFCI-1488

See merge request espressif/esp-idf!20577
2022-10-14 10:10:07 +08:00
Laukik Hase
80204ecab2
ci: Fix esp32s2.psram.test_mbedtls_psram UT
- When PSRAM is enabled, the interrupt watchdog timeout value
  needs to be increased to 800 ms from the default 500 ms.
2022-10-13 10:27:05 +05:30
Sachin Parekh
130ada60ec mbedtls: Added performance tests for ECP and ECDSA operations 2022-10-13 10:01:06 +05:30
Espressif BOT
91bd4a1f80 Update esp_crt_bundle certificates 2022-10-13 10:00:11 +08:00
Laukik Hase
aeb42ce3a7
https_server: Fix example when MBEDTLS_DYNAMIC_BUFFER is enabled
- While checking if ciphersuite uses RSA key exchange methods,
  the APIs `mbedtls_ssl_get_ciphersuite_id_from_ssl` and
  `mbedtls_ssl_ciphersuite_from_id` were used to get the ciphersuite
  info.
- However, this is incorrect as we need the ciphersuite info from the
  handshake instance and not the ssl_session instance.
2022-09-30 23:25:27 +05:30
Laukik Hase
d7eb2c7b4e
mbedtls: MBEDTLS_PRIVATE & MBEDTLS_ALLOW_PRIVATE_ACCESS-related cleanup 2022-09-29 10:13:14 +05:30
harshal.patil
317eeddce4
fix: memory leaks check added 2022-09-17 14:31:36 +05:30
harshal.patil
146f101289
ci: Migrate mbedtls unit tests from unit-test-app to component-test-app 2022-09-17 14:31:36 +05:30
Omar Chebib
4f1a9e436e Merge branch 'feature/add_int_task_wdt_esp32c2' into 'master'
WDT: implement interrupt wdt and task wdt for ESP32-C2

Closes IDF-4035, IDF-4205, and IDF-5055

See merge request espressif/esp-idf!18918
2022-09-16 10:43:34 +08:00
Omar Chebib
6798bfc4b0 TWDT: the Kconfig option ESP_TASK_WDT_EN is now used to enable Task Watchdog 2022-09-15 14:37:59 +08:00
Omar Chebib
53c7dd4efc WDT: implement interrupt wdt and task wdt for ESP32-C2
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-09-15 14:37:59 +08:00
Harshit Malpani
d78fddd81a
mbedtls: fix custom certificate bundle test case 2022-09-14 14:20:29 +05:30
Sachin Parekh
aa4437d3d3
mbedtls: Override ecp_mul_restartable_internal
ECDSA verification uses ecp_mul_restartable_internal instead
of the public API mbedtls_ecp_mul_restartable
2022-08-24 11:59:35 +05:30
Laukik Hase
9b290e3668
mbedtls/port: Fix dynamic buffers feature for v3.2.1
Co-authored-by: Li Jingyi <lijingyi@espressif.com>
2022-08-24 11:59:34 +05:30