Commit Graph

24384 Commits

Author SHA1 Message Date
Tomas Rezucha
e9daf4912b fix(usb/host): Do not allow unaligned cache access for M2C direction 2024-03-26 16:41:12 +01:00
Konstantin Kondrashov
73041ea10a Merge branch 'bugfix/esp_timer_test_fail' into 'master'
fix(esp_timer): Force test to go light sleep ignoring ESP_ERR_SLEEP_REJECT

Closes IDFCI-2091, IDFCI-2092, and IDFCI-2093

See merge request espressif/esp-idf!29814
2024-03-26 22:22:48 +08:00
Bogdan Kolendovskyy
c6002f7dfd Merge branch 'feature/iperf_for_all_phys' into 'master'
add(examples/ethernet/iperf): capability to run iperf test on all supported phys

See merge request espressif/esp-idf!29348
2024-03-26 21:15:50 +08:00
Jiang Jiang Jian
22537f1d6b Merge branch 'bugfix/variable_length_rsnxe' into 'master'
Expands maximum size of RSNXE IE to 255

Closes WIFI-6435

See merge request espressif/esp-idf!28643
2024-03-26 20:35:14 +08:00
Lou Tianhao
4535dfdd49 change(pm): esp32c5 hardware does not have clk_fe_cal_160m_en 2024-03-26 19:59:05 +08:00
Lou Tianhao
bd4147b5ef fix(ci): add sdkconfig head and change some macro 2024-03-26 19:59:00 +08:00
Lou Tianhao
f5487c72ab change(pm): move the modem_clock-related code outside SOC_PM_SUPPORT_PMU_MODEM_STATE 2024-03-26 19:55:06 +08:00
wuzhenghui
29076a43f6 bringup esp32c5beta3 modem clock 2024-03-26 19:54:32 +08:00
Konstantin Kondrashov
b463748bfb fix(esp_timer): Force to go light sleep ignoring ESP_ERR_SLEEP_REJECT 2024-03-26 13:49:24 +02:00
Bogdan Kolendovskyy
934f741361 test(examples/ethernet/iperf): Add default configurations for all supported PHYs
Created default configurations to run iperf test on all supported phys and adpated test code appropriately
2024-03-26 11:37:30 +01:00
Armando
be5af1c737 test(cache): added test for cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Armando
de70ed1c84 feat(cache): added cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Sudeep Mohanty
2cbdd2fee8 Merge branch 'feature/lp_core_lp_i2c_support' into 'master'
feat(lp_core): Added LP I2C support for esp32p4

Closes IDF-7540

See merge request espressif/esp-idf!29821
2024-03-26 17:37:29 +08:00
jgujarathi
7ef11a1409 fix(rsnxe): Expands maximum size of RSNXE IE to 255
- Allows for RSNXE IE to be processed as a variable length upto
255 bytes, changing the earlier max of 20.
2024-03-26 15:06:36 +05:30
nilesh.kale
18d2c57542 feat: enabled aes and sha support for esp32c5
This commit enabled AES and SHA support for esp32c5.
2024-03-26 14:52:06 +05:30
Abhinav Kudnar
6e4eeec97c Merge branch 'nimble-1.6.0-idf' into 'master'
fix(nimble): Migrate to nimble-1.6.0

Closes BLERP-558

See merge request espressif/esp-idf!29075
2024-03-26 16:42:41 +08:00
Sudeep Mohanty
5228dc348b feat(lp_i2c): Added LP I2C support on the esp32p4
This commit adds support for the LP I2C peripheral to be used from the
LP core on the esp32p4.
2024-03-26 08:31:54 +01:00
Sudeep Mohanty
2b5517ed47 change(lp_i2c): Added LP I2C low-level control functions for esp32p4
This MR adds ll functions for clock and reset settings for the LP I2C
peripheral for the esp32p4.
2024-03-26 08:31:54 +01:00
Sudeep Mohanty
cd49273d7a change(clk_tree): Added clock tree definitions for LP I2C for esp32p4
This commit adds the clock tree definitions for the LP I2C peripheral
for the esp32p4.
2024-03-26 08:31:54 +01:00
Marius Vikhammer
9e62e32a5b fix(system_console): fixed unity output not working with usb jtag serial 2024-03-26 14:25:36 +08:00
harshal.patil
c4f052cee4
feat(mbedtls/aes): Satisfy L1 cache alignment for AES-GCM DMA operations 2024-03-26 11:38:33 +05:30
harshal.patil
07f7b06d8d
change(mbedtls/aes): Move aad desc population into the internal AES-GCM DMA process API 2024-03-26 11:31:11 +05:30
harshal.patil
80b33ed3e7
fix(soc/sha_struct): fix register name continue to conti
- As continue being a reserved keyword in C, the register name continue is not valid
2024-03-26 11:31:11 +05:30
harshal.patil
0eb52a8fbf
feat(hal/aes): Add LL layer support for ESP32-P4 AES-GCM 2024-03-26 11:31:11 +05:30
Guillaume Souchere
497c840172 fix(heap): Wrong size propagated in alloc fail callback
Propagate `n * size` as the size of the failed allocation
instead of just `size` when heap_caps_calloc() fails since
`n * size` is the actual number of bytes that the heap
component tried to allocate.
2024-03-26 06:48:33 +01:00
Marius Vikhammer
42fc463c81 fix(console): fixed CONSOLE_NONE not working on C2/C3 2024-03-26 13:39:10 +08:00
Abhinav Kudnar
1bc6570b1f fix(nimble): Migrate to nimble 1.6 2024-03-26 10:50:24 +05:30
Marius Vikhammer
aa6a7bec76 ci(console): improve esp-system console test-coverage 2024-03-26 12:22:35 +08:00
morris
52137a2b55 Merge branch 'feat/esp_ldo_regulator_public_api' into 'master'
Introduce esp ldo regulator public API

See merge request espressif/esp-idf!29691
2024-03-26 11:24:06 +08:00
Wu Zheng Hui
a6400e2aed Merge branch 'fix/freertos_spinlock_perf_test' into 'master'
change(freertos): Updated spinlock performance test threshold

See merge request espressif/esp-idf!29827
2024-03-26 11:03:08 +08:00
Armando
00fe6479e4 bugfix(csi): fix wrong fsm state check in s_ctlr_csi_stop 2024-03-26 08:22:45 +08:00
morris
5369b68bc8 change(flash): acquire the LDO channel used by flash
so that even if the same channel has other consumers, the voltage won't
be changed
2024-03-25 22:04:01 +08:00
morris
cf59c00564 change(mpll): clean up mpll clock acquire with ldo driver 2024-03-25 22:03:49 +08:00
Sudeep Mohanty
afee830278 change(freertos): Updated spinlock performance test threshold
This commit relaxes the passing threshold for spinlock performance tests
for the esp32p4.
2024-03-25 14:25:35 +01:00
morris
4c2569e2fc change(sdmmc): update ldo acquire driver to new API 2024-03-25 21:19:12 +08:00
morris
061e5dc695 feat(ldo): add ldo regulator driver for public use 2024-03-25 21:19:12 +08:00
Sudeep Mohanty
c6efc57e6e fix(freertos): Re-enabled FreeRTOS unit tests for esp32p4
This commit reenables the FreeRTOS unit tests to be run during CI
pipelines for esp32p4.
2024-03-25 09:03:09 +01:00
Sudeep Mohanty
68dbbf339d fix(freertos): Updated unstable FreeRTOS unit tests
This commit fixes some flaky FreeRTOS unit tests.
2024-03-25 09:03:09 +01:00
Sudeep Mohanty
33dec4175a fix(freertos): Updated threshold for scheduling time test for esp32p4
This commit increases the pass threshold for the scheduling time test on
esp32p4.
2024-03-25 09:03:09 +01:00
Zhang Wen Xu
8edaa94e89 Merge branch 'feature/config_csmabackoff_in_spinel' into 'master'
feat(openthread): add max csmabackoffs for transmission

Closes TZ-627

See merge request espressif/esp-idf!29767
2024-03-25 14:41:26 +08:00
Armando (Dou Yiwen)
0899751e09 Merge branch 'feature/sdmmc_power_ctrl' into 'master'
sdmmc: power ctrl driver

Closes IDF-6751

See merge request espressif/esp-idf!28270
2024-03-25 14:31:59 +08:00
Xiao Xufeng
313c4f2cdc fix(all): remove unused header includes 2024-03-25 13:58:40 +08:00
Song Ruo Jing
49a3bba4b2 Merge branch 'bugfix/gpio_drive_cap' into 'master'
fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3

Closes FV-752

See merge request espressif/esp-idf!29808
2024-03-25 12:23:04 +08:00
Song Ruo Jing
6f9a866f9d Merge branch 'bugfix/uart_bitrate_max_value_c2' into 'master'
fix(uart): correct C2 UART_BITRATE_MAX value

See merge request espressif/esp-idf!29795
2024-03-25 11:56:49 +08:00
Armando
ec44556a07 feat(sd): added power control driver and implementation layer with ldo 2024-03-25 11:32:56 +08:00
Jin Cheng
82542d2e96 feat(bt/bluedroid): added a VSC to set minimal encryption key size 2024-03-25 10:50:06 +08:00
Armando (Dou Yiwen)
f886bbc848 Merge branch 'bugfix/add_unaligned_check_to_mysnc_api' into 'master'
cache: add unaligned check to mysnc api

Closes IDF-9520

See merge request espressif/esp-idf!29674
2024-03-25 10:17:55 +08:00
Marius Vikhammer
be839733ed fix(interrupt): fixed exit critical section on P4/C5
When adjusting the interrupt level treshold on P4/C6 during a critical section exit
it would take a few cycles before this is taken into account by the CPU.

This meant that under some circumstances, e.g. 02, we could do
yield()->vPortExitCritical()->vPortEnterCritical()
without getting rescheduled.
This causes issues for freertos as it assumes the task will not continue into the
vPortEnterCritical before the scheduler has schedulded it again.

This meant that e.g. xTaskNotifyWait would yield, but then immeditaly continue as if
it was already notified.
2024-03-24 13:13:42 +08:00
morris
79897ccd10 Merge branch 'feature/fast_gpio_esp32p4' into 'master'
feat(fast_gpio): support fast GPIO and glitch filter on esp32p4

Closes IDF-7552, IDF-8974, IDF-7721, and IDF-7481

See merge request espressif/esp-idf!28642
2024-03-23 22:25:58 +08:00
KonstantinKondrashov
8dc21afcfe fix(spi_flash): Fix stuck during flash operation
When a task was not pinned to a certain CPU.
2024-03-22 19:49:42 +02:00
KonstantinKondrashov
a3bfb3f857 feat(ipc): Adds a new no blocking IPC call 2024-03-22 19:49:42 +02:00
Rahul Tank
004b037743 Merge branch 'bugfix/add_peer_addr_field_for_ext' into 'master'
fix(nimble): Correctly handle auto connection flag for extended connect

Closes BLERP-633

See merge request espressif/esp-idf!29726
2024-03-22 19:51:00 +08:00
Darian Leung
64f5d7d983
refactor(usb/host): Simplify USBH and Hub interaction
Previously, on a device disconnection, the USBH and Hub would the require the
following 2-way interaction:

- Hub -> usbh_hub_pass_event() -> USBH to indicate a port error
- USBH -> usbh_hub_req_cb_t -> Hub to request port recovery after the device
has been freed.

The 2-way interaction has been simplified:

- USBH now nofities upper layers of devices being freed via the
USBH_EVENT_DEV_FREE event
- Hub now handles port recovery only after a device has been freed
2024-03-22 18:14:50 +08:00
Song Ruo Jing
90a3107bfd fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 2024-03-22 18:06:29 +08:00
Konstantin Kondrashov
8d6562d1f1 Merge branch 'feature/c5_c61_efuse_update' into 'master'
feat(efuse): Update efuses for C5 and C61

Closes IDF-8629 and IDF-8674

See merge request espressif/esp-idf!29627
2024-03-22 18:02:37 +08:00
Ondrej Kosta
f7984936e3 Merge branch 'bugfix/eth_l2_test_conn_wait_tmo' into 'master'
ci(esp_eth): increased L2 test wait for connection timeout

See merge request espressif/esp-idf!29576
2024-03-22 17:49:53 +08:00
harshal.patil
0b16999093
fix(mbedtls/aes): Remove ESP_CACHE_MSYNC_FLAG_UNALIGNED flag for the cache M2C operation 2024-03-22 14:45:34 +05:30
morris
529b6bf97c fix(ana_cmpr): fix wrong set up in the etm test case 2024-03-22 17:13:19 +08:00
morris
ddece8f7e9 feat(glitch_filter): support GPIO glitch filter on esp32p4 2024-03-22 17:13:19 +08:00
morris
f71044c877 feat(fast_gpio): support CPU controlled fast GPIO driver on esp32p4 2024-03-22 17:13:19 +08:00
Song Ruo Jing
3da77e2d1b fix(uart): correct C2 UART_BITRATE_MAX value 2024-03-22 16:24:24 +08:00
Guillaume Souchere
573bd1bcc9 Merge branch 'feat/add-heap-walker-api' into 'master'
feat(heap): Add walker to the heap component

Closes IDF-9189

See merge request espressif/esp-idf!29047
2024-03-22 15:58:34 +08:00
Roman Leonov
de2486bff0 Merge branch 'refactor/usb_host_hub_driver_state' into 'master'
refactor(usb_host): Renamed hub driver_state to root_port_state

See merge request espressif/esp-idf!29788
2024-03-22 15:43:16 +08:00
Armando
905b427479 test(cache): added test for M2C with ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
Armando
9e36994a7b bugfix(cache): don't allow M2C direction ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
Kevin (Lao Kaiyao)
d7d4229b7b Merge branch 'bugfix/fix_public_header_check_of_mpi_on_c5mp' into 'master'
fix(mpi): fix the public header check for esp32c5 mp

See merge request espressif/esp-idf!29796
2024-03-22 15:08:46 +08:00
morris
5126526ffc Merge branch 'bugfix/mipi_dsi_write_back_size_check' into 'master'
docs: Add MIPI DSI API reference

Closes IDF-7714

See merge request espressif/esp-idf!29768
2024-03-22 14:17:45 +08:00
laokaiyao
31b01005f8 fix(mpi): fix the public header check for esp32c5 mp 2024-03-22 14:15:41 +08:00
Jakob Hasse
112e7f1085 Merge branch 'refactor/console_sorted_help' into 'master'
refactor(console): made help command sorting depend on Kconfig option

Closes IDF-9406

See merge request espressif/esp-idf!29593
2024-03-22 14:01:35 +08:00
Jiang Jiang Jian
52380e3052 Merge branch 'bugfix/wps_reg_regression' into 'master'
fix(esp_wifi): Fixed regression caused by fe35466c when wpa_supplicant debug logs enabled (!28521)

See merge request espressif/esp-idf!29753
2024-03-22 13:53:18 +08:00
Kevin (Lao Kaiyao)
4cd30f9b8f Merge branch 'feature/esp32c5_mp_bringup' into 'master'
feat(esp32c5): bringup esp32c5 mp (Stage 7/7: hello world)

See merge request espressif/esp-idf!29093
2024-03-22 11:18:52 +08:00
Mahavir Jain
cdc1a2551b Merge branch 'feature/enable_rsa_support_for_c5' into 'master'
feat: enable RSA support for c5

See merge request espressif/esp-idf!29189
2024-03-22 10:10:47 +08:00
Konstantin Kondrashov
25bc10e143 feat(efuse): Update efuses for C5 and C61 2024-03-21 18:37:46 +02:00
Jiang Jiang Jian
be06a6f5ff Merge branch 'bugfix/fix_softap_coex_start_issue' into 'master'
fix(wifi): fix softap coex start issue, no wifi request if wifi is not used at idle

See merge request espressif/esp-idf!29772
2024-03-21 21:22:54 +08:00
Alexey Lapshin
0e3673a2bd Merge branch 'feature/esp32p4-coredump-support' into 'master'
esp32p4: panic tests support

Closes IDF-7565, IDF-7861, IDF-9035, and IDF-9075

See merge request espressif/esp-idf!28586
2024-03-21 21:12:25 +08:00
Jiang Jiang Jian
9971413b60 Merge branch 'feature/eap_tls_v1.3_support' into 'master'
wpa_supplicant: Add TLS v1.3 support in WiFi Enterprise Authentication

Closes WIFI-6135

See merge request espressif/esp-idf!24975
2024-03-21 21:10:38 +08:00
Roman Leonov
b90c7e585a refactor(usb_host): Renamed hub_driver_state to root_port_state 2024-03-21 13:16:28 +01:00
Alexey Lapshin
e845d9e0eb feat(esp_system): allow .data to spill over into L2MEM above 0x4ff40000
It may be usefull when .rodata placed into .dram1.data
2024-03-21 15:36:39 +04:00
liuning
81b86f657c fix(wifi): fix softap coex start issue, no wifi request if wifi is not used at idle 2024-03-21 19:35:27 +08:00
Wan Lei
cfcdacaaac Merge branch 'feature/spi_dma_segmented_configure_transfer' into 'master'
feat(spi_master): new feature dma controlled segmented configure transfer(sct) mode (part_1)

Closes IDF-4998

See merge request espressif/esp-idf!22684
2024-03-21 18:50:03 +08:00
Alexey Lapshin
13b55386bf feat(system): esp32p4: support hw stack guard 2024-03-21 14:30:21 +04:00
morris
f4ff026e3e change(mipi_dsi): allow cache sync with unaligned size 2024-03-21 18:19:58 +08:00
Wan Lei
751d50a19a Merge branch 'feat/c6lite_c61_system_step5' into 'master'
feat(esp32c61): system and esp_timer related support (stage 5/8)

See merge request espressif/esp-idf!29652
2024-03-21 17:25:37 +08:00
C.S.M
eeb9aa988c Merge branch 'bugfix/fix_i2c_timing_accuracy' into 'master'
fix(i2c_master): Fix issue that i2c clock got wrong after clearing bus

Closes IDFGH-12366

See merge request espressif/esp-idf!29715
2024-03-21 16:45:50 +08:00
Jakob Hasse
0b246b8c0b refactor(console): made help command sorting depend on Kconfig option 2024-03-21 16:33:44 +08:00
laokaiyao
c9d6a11d1d feat(esp32c5mp): support to run hello world on esp32c5 mp 2024-03-21 16:18:03 +08:00
Rahul Tank
0883569b6f fix(nimble): Handle auto connection flag for extended connect 2024-03-21 12:33:50 +05:30
Guillaume Souchere
39f789df93 feat(esp_rom): patch heap walker to the ROM implementation
modify existing patch of TLSF rom and add multi heap patch
to add the walker feature to the ROM implementation of the
heap component.
2024-03-21 07:41:04 +01:00
Cao Sen Miao
c0e5f2b73a fix(i2c_master): Fix issue that i2c clock got wrong after reset,
Closes https://github.com/espressif/esp-idf/issues/13397
2024-03-21 13:13:53 +08:00
Rahul Tank
22ee3e8aa6 Merge branch 'bugfix/bonding_across_reboot' into 'master'
fix(nimble): Added support for deleting the oldest bonded device across reboot

See merge request espressif/esp-idf!29612
2024-03-21 12:00:42 +08:00
morris
1f6abf9e7b Merge branch 'feature/mipi_dcs_short_packet' into 'master'
feat(mipi_dsi): use DCS short packet when possible

Closes IDF-9349

See merge request espressif/esp-idf!29441
2024-03-21 11:46:01 +08:00
wanlei
a611e91b2f feat(esp32c61): new chip add system and esp_timer support 2024-03-21 11:31:15 +08:00
Jakob Hasse
25400ca351 Merge branch 'feature/log_priusize_macro' into 'master'
feat(log): Added PRIuSIZE printf formatter macro

See merge request espressif/esp-idf!29725
2024-03-21 10:41:49 +08:00
Jakob Hasse
f482a9153a Merge branch 'fix/add_libbsd_string_h' into 'master'
refactor(linux): Unified libbsd handling

See merge request espressif/esp-idf!29457
2024-03-21 10:11:25 +08:00
Xu Si Yu
fd78d418dd feat(openthread): add max csmabackoffs for transmission 2024-03-20 18:00:33 +08:00
Jakob Hasse
e4aa326c3a feat(log): Added PRIuSIZE printf formatter macro 2024-03-20 16:41:22 +08:00
wanlei
51ffd40843 feat(spi_master): rebase dma sct mode support, rename APIs, use malloc conf_buffer 2024-03-20 16:06:43 +08:00
Sudeep Mohanty
4f3cd0deb9 Merge branch 'fix/freertos_task_c_add_coverity_fix' into 'master'
fix(freertos): Fixed an issue where accessing task lists could overrun memory

Closes IDF-9412

See merge request espressif/esp-idf!29746
2024-03-20 15:54:39 +08:00
wanlei
a307096ec0 spi_master: sct mode supported on c6 2024-03-20 15:42:03 +08:00
wanlei
1e6c61daa6 spi_master: sct mode support set line mode, transaction interval time
support line mode 1-2-4-8 depend on targets.
fix sct mode dma descriptor counter compute issue.
add conf_bits_len setting API to control interval time.
2024-03-20 15:42:03 +08:00
Armando
30760a95bb spi_master: spi master sct test app 2024-03-20 15:42:03 +08:00
Armando
b303e4b7a6 spi_master: new segmented-configure-transfer mode 2024-03-20 15:42:03 +08:00
Guillaume Souchere
34fb83ffbc feat(heap): Add return value to walker callback
This return value is used by the tlsf_walk_pool
function to be notified of the need to interrupt
the ongoing traversal of the currently traversed
heap.
2024-03-20 08:33:48 +01:00
Guillaume Souchere
5cc69ce12b feat(heap): Add walker to the heap component
Introduce new APIs in essp_heap_caps.h:
- heap_caps_walk()
- heap_caps_walk_all()

Those functions are triggering a callback for all blocks
(allocated or free) of memory present in heaps meeting
the set of capabilities passed as parameter (or all heaps
for heap_caps_walk_all() function)

test_walker.c added to test the new functionality in
test_apps/heap_test/
2024-03-20 08:33:48 +01:00
Sarvesh Bodakhe
72f0c47526 fix(esp_wifi): Fix regression caused by fe35466c when supplicant logs enabled 2024-03-20 10:53:30 +05:30
Sarvesh Bodakhe
1d71178193 fix(wpa_supplicant): Add bugfixes related to ciphersuites in wifi enterprise
- Avoid downgrading TLS ciphersuites when client RSA keys are larger than RSA-2048 bit.
- Note that when using bigger certificates on low-power chips without crypto
  hardware acceleration, it is recommended to adjust the task watchdog timer (TWDT)
  if it is enabled. For precise information on timing requirements, you can check
  performance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
05b882baea fix(wpa_supplicant): Update cipher suite list for TLSv1.3 suiteb and some refactoring
- Use MBEDTLS_TLS1_3_AES_256_GCM_SHA384 cipher for TLSv1.3-suiteb
- Call psa_crypto_init() in tls_connection_init() to reduce redundancy
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
5903e9ea2b feat(wpa_supplicant): Make CONFIG_ESP_WIFI_EAP_TLS1_3 an experimental feature 2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
ec09cdf885 feat(wpa_supplicant): Add TLS v1.3 support for WiFi enterprise
* Add TLS v1.3 support for following EAP methods:
  - EAP-TLS  (RFC 9190)
  - EAP-PEAP (RFC 9427)
  - EAP-TTLS (RFC 9427)
* Add mbedtls porting for TLS v1.3 exporter (RFC 8446 Section 7.5)
* Add new Kconfig flag to enable TLS v1.3 for EAP methods
* Advertise TLS v1.3 signature algorithms if TLS 1.3 is enabled for EAP
  methods
* Advertise TLS v1.3 cipher suites if CONFIG_ESP_WIFI_EAP_TLS1_3 enabled
* Add support to Ack protected success indication
  (workaround for EAP-TLS 1.3 and 1.2 compatibilty)
2024-03-20 09:33:52 +05:30
Glenn Strauss
b3e4aae7bb TLS: Fix unsigned int underflow in internal TLS 1.0/1.1 implementation
Taking sizeof(ptr) is incorrect to determine size of passed in hash and
results in hlen getting set to a very large value since MD5_MAC_LEN >
sizeof(ptr). Provide the actual size of the hash buffer from the caller
to fix this.

tls_key_x_server_params_hash() callers src/tls/tlsv1_client_read.c and
src/tls/tlsv1_server_write.c both pass in a large enough hash (hash[64]
or hash[100]) that this does not appear to have an impact, though it is
still wrong.

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2024-03-20 09:33:52 +05:30
Glenn Strauss
b58dbf2808 Update tls_connection_set_verify() documentation to verify_peer=2
This new value was added to verify peer certificate if it is provided,
but not reject the TLS handshake if no peer certificate is provided.

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
8ff4837830 Fix tls_connection_set_success_data() in TLS library wrappers
Some of the TLS library wrappers defined only an empty function for
tls_connection_set_success_data(). That could result in memory leaks in
TLS server cases, so update these to do the minimal thing and free the
provided buffer as unused.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
6658c3ed63 Remove useless DH file configuration from TLS library wrappers
These operations do not really have any effect since
tls_connection_set_params() is used only in the TLS client case and the
client receives the DH parameters from the server instead of local
configuration.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
89fc940ec0 EAP-TLS: Do not allow TLSv1.3 success without protected result indication
RFC 9190 requires protected result indication to be used with TLSv1.3,
so do not allow EAP-TLS to complete successfully if the server does not
send that indication.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
98183fe062 EAP-TLS: Replace the Commitment Message term with RFC 9190 language
While the drafts for RFC 9190 used a separate Commitment Message term,
that term was removed from the published RFC. Update the debug prints to
match that final language.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
9cb8c0545f EAP-TLS: Update specification references to RFC 5216 and 9190
The previously used references were pointing to an obsoleted RFC and
draft versions. Replace these with current versions.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Alexander Clouter
b17d6a1b3a EAP-TTLS peer: Handle Commitment Message for TLS 1.3
Recognize the explicitly defined Commitment Message per
draft-ietf-emu-eap-tls13-13 at the conclusion of the EAP-TTLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
65248148f0 EAP-TLS peer: Handle Commitment Message for TLS 1.3
Recognize the explicitly defined Commitment Message per
draft-ietf-emu-eap-tls13-13 at the conclusion of the EAP-TLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
a5ee253d62 EAP: Extend Session-Id derivation with TLS 1.3 to PEAP and EAP-TTLS
This newer Session-Id/Method-Id derivation is used with PEAP and
EAP-TTLS when using TLS 1.3 per draft-ietf-emu-tls-eap-types-00, so do
not limit this to only EAP-TLS.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
42e37285e5 EAP-TTLS: Key derivation per draft-ietf-emu-tls-eap-types-00
Use the TLS-Exporter with the label and context as defined in
draft-ietf-emu-tls-eap-types-00 when deriving keys for EAP-TTLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
0d90484018 EAP-PEAP: Key derivation per draft-ietf-emu-tls-eap-types-00
Use the TLS-Exporter with the label and context as defined in
draft-ietf-emu-tls-eap-types-00 when deriving keys for PEAP with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
252dd1b976 EAP-TTLS/PEAP peer: Fix failure when using session tickets under TLS 1.3
EAP peer does not expect data present when beginning the Phase 2 in
EAP-{TTLS,PEAP} but in TLS 1.3 session tickets are sent after the
handshake completes.

There are several strategies that can be used to handle this, but this
patch picks up from the discussion[1] and implements the proposed use of
SSL_MODE_AUTO_RETRY. SSL_MODE_AUTO_RETRY has already been enabled by
default in OpenSSL 1.1.1, but it needs to be enabled for older versions.

The main OpenSSL wrapper change in tls_connection_decrypt() takes care
of the new possible case with SSL_MODE_AUTO_RETRY for
SSL_ERROR_WANT_READ to indicate that a non-application_data was
processed. That is not really an error case with TLS 1.3, so allow it to
complete and return an empty decrypted application data buffer.
EAP-PEAP/TTLS processing can then use this to move ahead with starting
Phase 2.

[1] https://www.spinics.net/lists/hostap/msg05376.html

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Jouni Malinen
a5b01a93ff EAP-TTLS peer: Support vendor EAP method in Phase 2
The implementation was previously hardcoded to use only the non-expanded
IETF EAP methods in Phase 2. Extend that to allow vendor EAP methods
with expanded header to be used.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
a9170c6a20 EAP-TLS peer: Handle possible application data at the end
EAP-TLS with TLS 1.3 uses an empty application data record from the
server to indicate end of the exchange, so EAP-TLS peer will need to
check for this special case and finish the exchange with an empty
EAP-TLS (ACK) so that the server can send out EAP-Success.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Ervin Oro
caf49e8c10 Add Type-Code context to EAP-TLS 1.3 exported Key_Material and Method-Id
Change to require the Type-Code in context for Key_Material and
Method-Id has now been published as draft-ietf-emu-eap-tls13-04.
https://tools.ietf.org/html/draft-ietf-emu-eap-tls13-04#section-2.3

Signed-off-by: Ervin Oro <ervin.oro@aalto.fi>
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
886bf9e82f feat(wpa_supplicant): Add support for RFC 5705 TLS exporter context with mbedTLS 2024-03-20 09:33:52 +05:30
Ervin Oro
562bc59576 Add support for an optional context parameter to TLS exporter
Allow an additional context value to be passed to TLS exporter as
specified in RFC 5705 section 4.

This does not yet implement it for the internal TLS implementation.
However, as currently nothing uses context yet, this will not break
anything right now. WolfSSL maintainers also stated that they are not
going to add context support yet, but would look into it if/when this is
required by a published draft or a standard.

Signed-off-by: Ervin Oro <ervin.oro@aalto.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
1e38fa2c12 EAP peer: Clear temporary message buffers before freeing
These buffers in TLS-based EAP methods might contain keys or password
(e.g., when using TTLS-PAP or PEAP-GTC), so clear them explicitly to
avoid leaving such material into heap memory unnecessarily.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
2024-03-20 09:33:52 +05:30
Jouni Malinen
aa987d418e EAP-PEAP: Derive EMSK and use 128-octet derivation for MSK
Derive EMSK when using EAP-PEAP to enable ERP. In addition, change the
MSK derivation for EAP-PEAP to always derive 128 octets of key material
instead of the 64 octets to cover just the MSK. This is needed with the
PRF used in TLS 1.3 since the output length is mixed into the PRF
context.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
f4d7329ae6 EAP peer: Clear keying material on deinit
Reduce the amount of time keying material (MSK, EMSK, temporary private
data) remains in memory in EAP methods. This provides additional
protection should there be any issues that could expose process memory
to external observers.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
bb16734aa9 EAP-TLS: Update Session-Id derivation with TLS v1.3
Move to the version used in draft-ietf-emu-eap-tls13-03.txt, i.e.,
include the 0x0D prefix and use a different TLS-Exporter() label string.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
ed8452d53f EAP-TLS: Derive Session-Id using TLS-Exporter when TLS v1.3 is used
This updates Session-Id derivation with TLS v1.3 per
draft-ietf-emu-eap-tls13-00.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
a2336b74f9 EAP-TLS: Update key derivation label per draft-ietf-emu-eap-tls13-00
The label strings used for deriving Key_Material with TLS v1.3 were
changed, so update the implementation to match the new values.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
e9f6949d7e EAP-TLS peer: MSK/EMSK derivation with TLS v1.3
Use new MSK/EMSK derivation mechanism if TLS v1.3 or newer is used per
draft-mattsson-eap-tls13-02.txt.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
34a8628d4e EAP-TLS peer: Allow NewSessionTicket after Client Finished with TLS v1.3
The EAP session cannot be marked fully completed on sending Client
Finished with TLS v1.3 since the server may still send NewSessionTicket
before EAP-Success.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
6a83540ae0 EAP-TLS peer: Support fragmentation of last message
With TLS v1.3, the Finished message from the client can require
fragmentation. Postpone key derivation and marking of the EAP session
fully completed until all the fragments of that last message are sent to
avoid losing all the subsequent fragments.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
77d87edbb2 EAP-TLS peer: Determine whether TLS v1.3 or newer is used
This is needed to be able to handle different key derivation and message
handshakes in EAP implementation.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:48 +05:30
Ilan Peer
a539c63d68 EAP-TTLS: Fix possible memory leak in eap_ttls_phase2_request_mschap()
The msg buffer needs to be freed on these two error paths.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2024-03-20 09:32:32 +05:30
Jouni Malinen
5c0fb10902 EAP peer: External server certificate chain validation
This adds support for optional functionality to validate server
certificate chain in TLS-based EAP methods in an external program.
wpa_supplicant control interface is used to indicate when such
validation is needed and what the result of the external validation is.

This external validation can extend or replace the internal validation.
When ca_cert or ca_path parameter is set, the internal validation is
used. If these parameters are omitted, only the external validation is
used. It needs to be understood that leaving those parameters out will
disable most of the validation steps done with the TLS library and that
configuration is not really recommend.

By default, the external validation is not used. It can be enabled by
addingtls_ext_cert_check=1 into the network profile phase1 parameter.
When enabled, external validation is required through the CTRL-REQ/RSP
mechanism similarly to other EAP authentication parameters through the
control interface.

The request to perform external validation is indicated by the following
event:
CTRL-REQ-EXT_CERT_CHECK-<id>:External server certificate validation needed for SSID <ssid>

Before that event, the server certificate chain is provided with the
CTRL-EVENT-EAP-PEER-CERT events that include the cert=<hexdump>
parameter. depth=# indicates which certificate is in question (0 for the
server certificate, 1 for its issues, and so on).

The result of the external validation is provided with the following
command:
CTRL-RSP-EXT_CERT_CHECK-<id>:<good|bad>

It should be noted that this is currently enabled only for OpenSSL (and
BoringSSL/LibreSSL). Due to the constraints in the library API, the
validation result from external processing cannot be reported cleanly
with TLS alert. In other words, if the external validation reject the
server certificate chain, the pending TLS handshake is terminated
without sending more messages to the server.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:32:32 +05:30
Jin Cheng
45af060963 change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-20 10:38:44 +08:00
Wan Lei
a7355d3aba Merge branch 'feat/c6lite_c61_g0_component_s4' into 'master'
feat(esp32c61): add G0 component (hal, riscv) support (stage 4/8)

See merge request espressif/esp-idf!29551
2024-03-20 10:09:42 +08:00
Darian
53e3833f44 Merge branch 'refactor/usb_fsls_phy_hal' into 'master'
refactor(hal/usb): Update USB PHY related HAL/LL API

See merge request espressif/esp-idf!29659
2024-03-20 06:07:29 +08:00
Jiang Jiang Jian
8a06233051 Merge branch 'feature/updates_for_wpa3_spec_v3.3' into 'master'
feat(esp_wifi): Update Wi-Fi WPA3 authmodes as per WPA Specification v3.3

See merge request espressif/esp-idf!29608
2024-03-20 02:31:01 +08:00
Alexey Lapshin
00b55a654c Merge branch 'feature/cleanup-linker-scripts' into 'master'
feat(system): refactor linker scripts

See merge request espressif/esp-idf!29515
2024-03-20 02:25:11 +08:00
Darshan Dobariya
e0e89b8bde fix(nimble): Added support for deleting the oldest bonded device across reboot 2024-03-19 22:26:22 +05:30
Sudeep Mohanty
42c935e2c3 fix(freertos): Fixed an issue where accessing task lists could overrun memory
This commit fixes a potential issue of illegal memory access when
accessing the various task lists in FreeRTOS while fetching tasks using
the xTaskGetNext() function.
2024-03-19 17:33:18 +01:00
Rahul Tank
dd737f9821 Merge branch 'bugfix/fixed_task_invokation_after_pairing' into 'master'
fix(nimble): Fixed the call to ble_hid_task_startup after pairing

See merge request espressif/esp-idf!29655
2024-03-19 23:26:27 +08:00
Sudeep Mohanty
ca07ef3837 Merge branch 'contrib/github_pr_13180' into 'master'
ulp_riscv_print: Add convenience function that supports different widths (GitHub PR)

Closes IDFGH-12124

See merge request espressif/esp-idf!29716
2024-03-19 22:52:50 +08:00
Song Ruo Jing
34f05287ab Merge branch 'bugfix/dma2d_various_small_fixes' into 'master'
fix(dma2d): correct a few 2D-DMA driver issues

See merge request espressif/esp-idf!29705
2024-03-19 21:36:45 +08:00
Ondrej Kosta
9d0b8d62b0 Merge branch 'feature/emac_intr_prio' into 'master'
feat(esp_eth): added option to configure interrupt priority

Closes IDF-7969

See merge request espressif/esp-idf!29300
2024-03-19 21:09:30 +08:00