Commit Graph

74 Commits

Author SHA1 Message Date
Rahul Tank 30d72dbd5d fix(nimble): Replaced incorrect sizeof with strnlen 2025-04-02 20:59:01 +05:30
Mahavir Jain 00e8d1a832 fix(esp_local_ctrl): update for changes in protocomm security2 scheme 2025-03-07 13:49:12 +05:30
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
Rahul Tank ebf591a9eb fix(nimble): Address few coverity reported issues
1. Structurally dead code: Removed dead code
2. Resource leak: Added a free for allocated memory, in case of failure
3. too_few_printf_args: Corrected print statement to pass arguments
4. Fixed nesting levels
5. Fixed unused value warnings
6. Illegal memory access fix
2025-01-03 11:35:10 +05:30
hrushikesh.bhosale 6590cf9560 fix(esp_wifi_prov): Send failure msg on first fail
Added new sta state WIFI_PROV_ATTEMPT_FAILED, which is
returned on first failure with attemps_remaining field.
2024-11-28 15:00:54 +05:30
hrushikesh.bhosale 95f5b29ffc feat(provisioning): Addded api to set Authmode in provisioning
Added api to set threshold authmode for provisioning demo
2024-10-01 19:31:53 +08:00
Rahul Tank fb55646270 fix(nimble): Add notify characteristic flag support 2024-09-05 16:16:08 +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 928117e999 fix(wifi_prov): Added API to set random address 2024-07-21 15:37:37 +05:30
Ivan Grokhotkov c921824230 fix(wifi_provisioning): fix var declarations inside switch for clang 2024-07-12 13:58:18 +02:00
muhaidong d278ffc501 fix(wifi): fix esp_wifi_scan_start memory leakage issue
Closes https://github.com/espressif/esp-idf/issues/10693
2024-02-03 16:32:09 +08:00
monoliths 55acf50c48 feat(wifi_prov): Add API for checking whether the provisioning state machine is idle 2023-12-19 14:09:14 +05:30
Mahavir Jain 69e89c4e95 Merge branch 'contrib/github_pr_12459' into 'master'
manager: fixing unwinding protocom endpoints, on prov_stop. (GitHub PR)

Closes IDFGH-11307

See merge request espressif/esp-idf!26742
2023-11-02 23:47:22 +08:00
kohait00 7c8663ffa9 manager: fixing unwinding protocom endpoints, on prov_stop. This enables starting and stopping provisioning on a pre started http server 2023-10-31 13:59:29 +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
Laukik Hase d0a30c1e7b fix (wifi_prov): Retry provisioning on WIFI_AUTH_EXPIRE event
- Closes https://github.com/espressif/esp-idf/issues/11749
2023-07-03 11:28:04 +05:30
Barabas Raffai 005196d86d Clean up wifi provisioning in the esp_event thread
Signed-off-by: Laukik Hase <laukik.hase@espressif.com>
2023-01-27 15:39:08 +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
sanket.wadekar bd6a74fcac Changed wifi provisioning scan method
Signed-off-by: sanket.wadekar <sanket.wadekar@espressif.com>
2022-12-20 17:04:30 +05:30
harshal.patil b7de443aaa wifi_provisioning: added wifi-ctrl reprov endpoint 2022-11-01 14:19:01 +05:30
harshal.patil dacf44dd1d wifi_provisioning: added wifi-ctrl reset endpoint 2022-11-01 14:19:01 +05:30
Harshit Malpani 9b07007efb wifi_provisioning: fix error codes for wifi connect retry
Closes: https://github.com/espressif/esp-idf/issues/9399
2022-10-12 12:10:21 +05:30
Aditya Patwardhan 6328afdce6 wifi_provisioning/manager.c: Fix small bug introduced in recent MR. 2022-10-07 18:27:08 +05:30
Mahavir Jain 5fffe4bba5 Merge branch 'fix/fix_protocomm_security2_backward_compatibility' into 'master'
wifi_prov: Update behaviour for wifi_prov_mgr_start_provisioning to avoid...

See merge request espressif/esp-idf!20003
2022-10-02 23:08:01 +08:00
Aditya Patwardhan 0e3c630f9a wifi_prov_mgr: Add security version in the proto-ver endpoint. 2022-09-30 16:53:20 +05:30
Aditya Patwardhan 1d8e7fe2d7 wifi_prov: Update behaviour for wifi_prov_mgr_start_provisioning to avoid breaking the usage for sec1 2022-09-30 16:53:06 +05:30
Laukik Hase 9bc1cc706e wifi_prov_mgr: Add support for re-provisioning
Closes https://github.com/espressif/esp-idf/issues/5978
2022-09-29 10:12:47 +05:30
Mahavir Jain 025a8378ef wifi_provisioning: decouple wifi_prov_mgr_is_provisioned from manager state
`wifi_prov_mgr_is_provisioned()` API uses the `esp_wifi_get_config()` API
to check if Wi-Fi credentials are configured. It does not really require
any other information from the wifi_prov component. Hence, this commit
removed dependency of this API on provisioning manager initialization state.

Closes IDF-5878
2022-09-01 15:24:19 +05:30
Isha Pardikar b8fc63d658 wifi_provisioning: Fixed prov_ctx_lock of deinit provisioning manager 2022-08-29 16:08:56 +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
Aditya Patwardhan 6222d43984 protocomm: Added option to enable/disable supported security versions. 2022-06-17 13:16:20 +00:00
Aditya Patwardhan f2cce5fa0d wifi_provisioning: Update the APIs with reference to the new APIs from protocomm
esp_local_ctrl: Update the code with reference to new changes in protocomm component
2022-06-17 13:16:20 +00:00
Aditya Patwardhan eb7ff34c89 protocomm: Added SRP6a implementation as the security version 2.
1) Rename srp component to esp_srp
2) Remove dependency on hkdf sha
3) Restructure protocomm component APIs to make them more flexible for allowing multiple security versions
4) esp_srp: convert API return type from int to esp_err_t
5) esp_srp: Formatting changes
6) Added mbedtls_gcm instead of aes_ctr

Co-authored-by: Laukik hase <laukik.hase@espressif.com>
2022-06-17 13:16:20 +00:00
Yuan Jian Min 74ae372c73 feat(wifi_provisioning): Optimize memory for wifi scan ap number 2022-05-13 13:58:34 +08:00
Harshit Malpani 185a45c9d7 wifi_provisioning: Remove mdns dependency
mDNS code here was futuristic which was never used.
Removing this section of code as wifi_provisioning does not necessarily require it
2022-05-05 16:46:24 +05:30
Isha Pardikar e751cbe6c0 Merge branch 'bugfix/wifi_prov_mgr_conn_issue' into 'master'
NimBLE: Fixed device disconnection issue of wifi prov mgr

Closes IDF-4655

See merge request espressif/esp-idf!17236
2022-03-24 15:35:49 +05:30
Sagar Bijwe 6501eff7f5 Remove legacy system event framework. 2022-03-09 15:53:45 +05:30
Laukik Hase db914d6272 wifi_prov_mgr: Fix provisioning not stopping in release mode
- For the wifi_prov_mgr example in release mode (with NDEBUG defined -
  assertions disabled), the task to stop provisioning is never started
  as it is voided by the assert function it is called in.

Closes https://github.com/espressif/esp-idf/issues/8309
2022-01-31 15:03:54 +05:30
Laukik Hase 5261d7adf1 wifi_prov_mgr: Added check for passphrase length in softAP scheme
Closes https://github.com/espressif/esp-idf/issues/8063
2021-12-27 10:57:50 +05:30
Zhang Jun Hao a568b4fddf esp_wifi: support station only mode for code size down 2021-10-27 11:48:22 +08:00
isha pardikar 09800028e1 Wifi_prov_mgr:Fix for ios device needs to do forget device 2021-10-06 17:46:22 +08:00
Harshit Malpani baa2faa94b provisioning: fix wifi warning in wifi_prov_mgr application
Scan configuration parameters should not modify in co-existence mode.
2021-08-11 09:54:37 +05:30
Prasad Alatkar c8f4153d4f Provisioning BLE: Add API to set manufacturer data in scan response
- Add `wifi_prov_scheme_ble_set_mfg_data` API to set custom manufacturer data
  in BLE advertisements.
- Run format.sh script on modified files.
- Fix few typos in `protocomm_nimble.c`.

- Incorporate suggestion to remove extra check on protocomm_ble_mfg_data_len

- Remove few unnecessary comments.
2021-07-14 11:56:04 +05:30
Shubham Kulkarni f06d1cdc75 wifi_provisioning: Add check for WIFI_REASON_MIC_FAILURE error code in wifi_prov_mgr_event_handler_internal 2021-06-07 12:23:28 +00:00
Shubham Kulkarni 34bdbf9ee2 wifi_provisioning: Add API to reset state if provisioning fails 2021-06-07 12:23:28 +00:00
yuanjm 06ae78b531 provisioning: Fix WiFi credentials not saved to NVS due to wifi_prov_mgr_start_provisioning change the WiFi storage to RAM
Closes https://github.com/espressif/esp-idf/issues/5178
2021-03-30 11:15:05 +00:00
yuanjm 49f3fba14d wifi_provisioning: Add an API for resetting provisioning config 2021-02-23 14:21:06 +08:00
Jiang Jiang Jian 1614cefd4f Merge branch 'bugfix/wpa_supplicant_coverity_issue_fixes' into 'master'
Fix some issues raised by Coverity static Analyzer.

Closes WIFI-3251

See merge request espressif/esp-idf!11918
2021-01-25 15:52:21 +08:00
aditi_lonkar da313b691d wifi_provisioning: Fix some memory leak issues by coverity static analyzer. 2021-01-25 03:37:47 +00:00
xiehang dffbce9813 esp_wifi: Modify ESP_IF_WIFI_AP to WIFI_IF_AP 2021-01-19 11:58:04 +08:00