Commit Graph

110 Commits

Author SHA1 Message Date
Rahul Tank
1ff264abf2 fix(protocomm): Add security checks for buffer overflow and incorrect length handling 2025-12-23 18:21:55 +08:00
Mahavir Jain
7da79a653c Merge branch 'feature/mbedtls_psa_migration_v6.0' into 'release/v6.0'
feat(mbedtls): PSA Migration to release v6.0

See merge request espressif/esp-idf!43323
2025-12-21 13:52:48 +05:30
Aditya Patwardhan
084d1f03f6 Merge branch 'bugfix/protocomm_sec1_validation_v6.0' into 'release/v6.0'
fix(protocomm): add validation for Security1 client verifier data (v6.0)

See merge request espressif/esp-idf!43776
2025-12-21 13:08:04 +05:30
Ashish Sharma
76287081ea feat: code cleanup 2025-12-19 07:29:43 +08:00
Ashish Sharma
3dea3aae1d fix: fixes coverity reported warnings 2025-12-19 07:29:43 +08:00
Ashish Sharma
aa88c81dfb fix(wpa_supplicant): revert changes to dpp_crypto 2025-12-19 07:29:08 +08:00
Ashish Sharma
06d03e1a12 feat: add NVS based secure storage layer for PSA
(cherry picked from commit 31c7bad7f74ce8e54ea0563b670df37a58215600)

Co-authored-by: Mahavir Jain <mahavir@espressif.com>
2025-12-19 07:29:00 +08:00
Ashish Sharma
f306dbea84 feat(mbedtls): migrates ESP-TEE with PSA APIs 2025-12-19 07:28:33 +08:00
Ashish Sharma
a088d2ccdc feat(mbedtls): fix build errors with PSA migration 2025-12-18 21:18:58 +08:00
Ashish Sharma
b0da66f7e1 feat(bt): migrate mbedtls to PSA APIs 2025-12-18 21:18:58 +08:00
Ashish Sharma
b4fea9cccc feat(lwip): migrate to to PSA API interface 2025-12-18 21:18:58 +08:00
Aditya Patwardhan
574a60289d feat(protocomm): Migrate to PSA api interface 2025-12-18 21:18:58 +08:00
Mahavir Jain
917bc34383 fix(protocomm): add validation for Security1 client verifier data
Add checks to validate client_verify_data pointer and length before
processing in handle_session_command1. Prevents NULL pointer dereference
when client omits verifier data in Session_Command1, which could cause
device crash during provisioning (remote DoS attack).

We would like to thank Pavel Kohout from Aisle Research for reporting
this vulnerability along with a mitigation strategy.
2025-11-27 09:59:40 +05:30
Rahul Tank
8f8be6cb18 fix(nimble): Address compilation issues in nimble examples 2025-11-26 14:35:51 +05:30
gongyantao
179a730a03 feat(bt): remove the deprecated functions and parametes 2025-08-19 16:07:05 +08:00
Mahavir Jain
3bd5a22f5a fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme
Using same IV in AES-GCM across multiple invocation of
encryption/decryption operations can pose a security risk. It can help
to reveal co-relation between different plaintexts.

This commit introduces a change to use part of IV as a monotonic
counter, which must be incremented after every AES-GCM invocation
on both the client and the device side.

Concept of patch version for a security scheme has been introduced here
which can help to differentiate a protocol behavior for the provisioning
entity. The security patch version will be available in the JSON
response for `proto-ver` endpoint request with the field
`sec_patch_ver`.

Please refer to documentation for more details on the changes required
on the provisioning entity side (e.g., PhoneApps).
2025-03-07 13:49:10 +05:30
Mahavir Jain
641f461346 fix(protocomm): memory leak issue for session command0 failure case 2025-03-07 13:49:09 +05:30
hrushikesh.bhosale
e9844bd613 fix(protocomm): Added check for cur_cookie_session_id
Added check to check whether the value of cur_cookie_session_id
is -1 or not, if yes the return with error log message
2024-12-03 14:48:46 +05:30
Rahul Tank
fb55646270 fix(nimble): Add notify characteristic flag support 2024-09-05 16:16:08 +05:30
Rahul Tank
338d9f40d9 fix(wifi_prov): Add support for ESP IP controller chips in bluedroid 2024-08-29 14:56:46 +05:30
shreeyash
6e6fd2f6a3 fix(wifi_prov_mgr): Api to keep BLE on after provisioning 2024-08-13 12:42:35 +05:30
Rahul Tank
35e88684db fix(wifi_prov): Use calloc instead of malloc to zero initialize variable 2024-08-02 10:33:28 +05:30
Rahul Tank
928117e999 fix(wifi_prov): Added API to set random address 2024-07-21 15:37:37 +05:30
zhiweijian
b9a1756202 fix(ble/bluedroid): Remove BLE functions discard declaration
fix(nt/bluedroid): Split the device name set functions

feat(bt/bluedroid): added APIs to get/set device name on BT GAP side

change(bt/common): Marked some APIs in device module as deprecated

1. esp_bt_dev_set_device_name
2. esp_bt_dev_get_device_name

change(bt/bluedroid): use BT GAP APIs to set/get device name in bluetooth classic examples

change(bt/bluedroid): use BT/BLE GAP APIs to set/get device name in coexist examples
2024-04-18 15:53:54 +08:00
zhiweijian
5725595d84 fix(ble/bluedroid): Remove esp_bluedroid_init() discard declaration 2024-04-18 15:53:30 +08:00
Jin Cheng
a3f68aef8a feat(bt/bluedroid): Added API to get local device name 2023-12-15 19:30:12 +08:00
Vikram Dattu
08f2422ff8 feat(provisioning): Generate Salt and verifier pair for given username and password
This commit adds a new feature to generate a salt and verifier pair for a given username and
password during the provisioning process. This is useful in scenarios where the pairing pin is
randomly generated and shown via some interface such as a display or console.

- Uses the provided username and password to generate a salt and verifier pair
- Adds support for dev mode where the pin/password can still be read from flash
2023-11-21 18:06:24 +05:30
Vikram Dattu
b97322c521 refactor(esp_srp): Expose esp_srp.h and add API docs
- Also added missing `protocomm_security2` reference in `protocomm.rst`
2023-11-21 18:06:24 +05:30
Rahul Tank
e689cc55d8 Merge branch 'feature/protocomm_update_params' into 'master'
fix(protocomm): added Protocomm BLE Event Structure and Event Handling

See merge request espressif/esp-idf!26707
2023-11-03 14:09:27 +08:00
darshan
e1ec13548f fix(protocomm): added Protocomm BLE Event Structure and Event Handling 2023-11-02 15:37:50 +05:30
Jin Cheng
fc174f5811 feat(bt/bluedroid): Added mode to use BlueDroid host only without Bluetooth Controller 2023-10-30 00:52:26 +00:00
WanqQixiang
5435c9b04a fix(protocomm): Remove the configuration check of wifi_provisioning for protocomm component 2023-09-25 15:32:03 +08:00
liqigan
0df585dc35 feat(bt/bluedroid): Add new version of API for Bluedroid host stack initialization 2023-08-31 12:28:38 +00: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
Laukik Hase
f695c1a788 wifi_prov: Exposed events for secure session establishment 2023-05-23 12:00:40 +05:30
isha.pardikar@espressif.com
f29430239c wifi_prov_mgr: Fixed memory leak after bluetooth stack was stopping. 2023-04-24 17:45:41 +05:30
isha.pardikar@espressif.com
e72d223737 wifi_prov_mgr : Fixed return value of characteristic read operation 2023-03-06 15:23:26 +05:30
Alexey Lapshin
a7e51b2509 protocomm: fix gcc-12 compile errors 2023-02-22 05:33:03 +00:00
Rahul Tank
826495a145 Nimble: Added return value (success / failure ) to nimble_port_init 2023-01-31 12:01:02 +05:30
Laukik Hase
7759079362 protocomm: Fix Kconfig dependency on wifi_provisioning component config
- `protocomm` depends on a config option `CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION`
  from `wifi_provisioning`; however, a lower layer component (`protocomm`) should
  not have any `#ifdef` guard dependent on an upper layer component (`wifi_provisioning`).
- Added a new `ble_link_encryption` flag in `protocomm_ble_config_t` to manage the same

Closes https://github.com/espressif/esp-idf/issues/9443
2023-01-20 11:01:01 +05:30
Mahavir Jain
3a56807568 protocomm: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:13:55 +05:30
Mahavir Jain
a2616c0ab5 protocomm: fix multiple coverity warnings
- comparing array with NULL
- dereferencing null pointer
- resource leak
2022-11-08 15:50:42 +05:30
Laukik Hase
e6171b7338 wifi_prov: Exposed event for transport pairing
Closes https://github.com/espressif/esp-idf/issues/10007
2022-11-01 10:06:30 +05:30
Laukik Hase
c7142f274b protocomm: Increase Bluedroid-BLE maximum buffer size
- For the security2 scheme, the payload size is quite larger
  than that for security1.
2022-10-26 13:34:39 +05:30
Aditya Patwardhan
acc3dc8bd2 protocomm/esp_srp: Allocate memory for username only when the
verification is successful
2022-10-07 18:27:07 +05:30
Aditya Patwardhan
68947b5944 protocommm/esp_srp: Fix small issues reported by coverity. 2022-10-07 18:27:07 +05:30
Laukik Hase
b7ae23856a protocomm: MBEDTLS_PRIVATE & MBEDTLS_ALLOW_PRIVATE_ACCESS-related cleanup 2022-09-29 10:13:13 +05:30
Isha Pardikar
2cfcae8d41 Merge branch 'feature/rainmaker_BT_configurable' into 'master'
Doc: Made bluetooth configurable after wifi provisioning is completed

See merge request espressif/esp-idf!18014
2022-07-26 15:21:27 +05:30
Jiang Jiang Jian
92b4e134bb Merge branch 'bugfix/remove_inappropriate_bluetooth_init_api' into 'master'
Remove unused bluetooth init api

See merge request espressif/esp-idf!18923
2022-07-21 14:53:44 +08:00
GengYuchao
fd055d3ba6 Fix example after removing API esp_nimble_hci_and_controller_init 2022-07-20 11:44:00 +08:00