Commit Graph
100 Commits
Author SHA1 Message Date
zhanghaipeng c487c8e00c fix(nimble): use pre-allocated buffer for HCI logging 2026-01-28 18:32:03 +05:30
Zhang Hai Peng 30902d75ea feat(examples/bluedroid): add BLE ACL latency measurement example
(cherry picked from commit 934970a06f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng f279115113 docs(ble): add flow diagrams to bluedroid BLE examples
(cherry picked from commit 051077835c)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 1741046791 refactor(examples/bluedroid): Replace hardcoded ADV type values with macros
(cherry picked from commit fdeb5ad87a)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 7cd8fd0689 fix(bt/osi): add NULL check in osi_mutex_free and osi_sem_free (IDFGH-16853)
(cherry picked from commit 8630040602)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 877147d089 fix(bt/bluedroid): fix UAF in bta_gattc_enqueue for search service command
(cherry picked from commit 6196298750)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 7d6dc68080 feat(examples/bluedroid): Add BLE time interval conversion macros for better readability
Add macros to convert time values from milliseconds to BLE interval units:
- ESP_BLE_GAP_ADV_ITVL_MS: Convert advertising interval (0.625ms unit)
- ESP_BLE_GAP_SCAN_ITVL_MS: Convert scan interval (0.625ms unit)
- ESP_BLE_GAP_SCAN_WIN_MS: Convert scan window (0.625ms unit)
- ESP_BLE_GAP_CONN_ITVL_MS: Convert connection interval (1.25ms unit)
- ESP_BLE_GAP_PERIODIC_ADV_ITVL_MS: Convert periodic adv interval (1.25ms unit)
- ESP_BLE_GAP_SUPERVISION_TIMEOUT_MS: Convert supervision timeout (10ms unit)


(cherry picked from commit 7cd2f7b34d)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 3f2923dd0c feat(ble/bluedroid): Increase maximum notify/indication registration count
(cherry picked from commit b6aed7e1c8)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 630492ac9e feat(ble/bluedroid): add periodic advertising create sync retry mechanism
(cherry picked from commit 4ffd7b285b)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 252bd3eb71 fix(ble/bluedroid): Fix array index in set_periodic_adv_subevt_data
(cherry picked from commit 12225c457c)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 853e834e6f fix(ble/bluedroid): Remove duplicate filter_policy in ext_conn_v2 HCI cmd
(cherry picked from commit c5ebab70d8)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 2e011dcc5d fix(ble/bluedroid): Fix heap buffer overflow in BTC_GAP_BLE_SET_PA_SUBEVT_DATA deep copy
(cherry picked from commit 6d49a99faa)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 58b4ec9d64 fix(ble/bluedroid): Fix multiple out-of-bounds read vulnerabilities in GATT PDU handlers
(cherry picked from commit 643d9c2387)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng bab78394e2 fix(ble/bluedroid): Fix out-of-bounds read in l2cble_process_sig_cmd
(cherry picked from commit 93cfbb8522)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 6501baf5cb fix(ble/bluedroid): Fix integer underflow in gatt_process_read_by_type_rsp
(cherry picked from commit 597fc6e5c1)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng 5c56b8e68f fix(bt): fix BLE security issue in controller and HCI packet parser
(cherry picked from commit a721e94a0f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng c9e7dc3c81 fix(ble/hci): Fix OOB read in ble_adv_scan_combined example
(cherry picked from commit c762832600)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai Peng d6c7760232 fix(ble/bluedroid): Added security check in example Bluedroid_GATT_Server
(cherry picked from commit a36bf7fe14)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-01-05 00:03:36 +08:00
Zhang Hai PengandZhang Shuxian e81aea9f7b docs: Update CN translation and improve formatting
(cherry picked from commit feff20614e)

Co-authored-by: Zhang Shuxian <zhangshuxian@espressif.com>
2025-12-11 16:21:51 +08:00
Zhang Hai Peng 1fd2f90326 feat(ble/blufi): Support setting BLE encryption for blufi
(cherry picked from commit 60a028fb17)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-11 16:21:50 +08:00
Zhang Hai Peng 5f02ee484e fix(ble/bluedroid): Fix security issues in GATT module
(cherry picked from commit f502b2aab1)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:33 +08:00
Zhang Hai Peng da9f2d6b70 fix(ble/bluedroid): Fix security issues in HCI module
(cherry picked from commit b163685c06)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:32 +08:00
Zhang Hai Peng 4239c6c9c6 fix(ble/bluedroid): Fix security issues in GAP module
(cherry picked from commit 1ed5a4465d)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:32 +08:00
Zhang Hai Peng 9bb648684c fix(ble/bluedroid): Add length check in prepare write response
(cherry picked from commit b03ff3cf21)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:31 +08:00
Zhang Hai Peng a81cca1426 fix(ble/bluedroid): Add boundary check for adv_handle in btm_ble_adv_set_terminated_evt
(cherry picked from commit d2baf3b0d4)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:31 +08:00
Zhang Hai Peng c708ef7b4f fix(ble/bluedroid): Fix VLA in a2dp_gatts_coex example
(cherry picked from commit e741f09e0f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:31 +08:00
Zhang Hai Peng 568752bc8f fix(ble/bluedroid): Add NULL checks in GATT APIs
(cherry picked from commit a6730c7da6)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:30 +08:00
Zhang Hai Peng bb126080ae fix(ble/bluedroid): Add NULL checks in esp_gap_ble_api
(cherry picked from commit b71c51564a)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:30 +08:00
Zhang Hai Peng 063a4f4d1c fix(ble/bluedroid): Add NULL check in esp_ble_gap_add_device_to_resolving_list
(cherry picked from commit 4b44d8e814)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:29 +08:00
Zhang Hai Peng be5761e06b fix(ble/bt): Add NULL check in esp_hid_device example
(cherry picked from commit 8e0f74a2cc)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:29 +08:00
Zhang Hai Peng 16d201b9ef fix(ble/bt): Add NULL check in esp_hid_host example
(cherry picked from commit 8b5dd75368)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:28 +08:00
Zhang Hai Peng 78a5bb38bb fix(ble/blufi): Add DH param length validation
(cherry picked from commit 773814c087)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:28 +08:00
Zhang Hai Peng 644d89f133 fix(ble/bluedroid): Fix memory leak in ble_spp_server example
(cherry picked from commit b6b3b81bf6)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:27 +08:00
Zhang Hai Peng e2242b02ef fix(ble/bluedroid): Use calloc in gatt_server example
(cherry picked from commit e26b60090d)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:26 +08:00
Zhang Hai Peng 07ce6a9fc8 fix(ble/bluedroid): Use snprintf in ble_eddystone example
(cherry picked from commit 24e023e307)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:26 +08:00
Zhang Hai Peng 9a12a1e4dc fix(ble/bluedroid): Add bounds check in ble_ancs example
(cherry picked from commit 7e876249df)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-03 11:54:25 +08:00
Zhang Hai Peng d14d47e55d fix(ble/bluedroid): Fix potential out-of-bounds issue
- add length check in hci_hal_h4_hdl_rx_packet to prevent OOB
- add adv data length check in btm_ble_cache_adv_data
- add indicate data length check in BTA_GATTS_HandleValueIndication
- add report length check in bta_hh_parse_keybd_rpt
- add report length check in BTA_HdSendReport
- add descriptor length check in BTA_HdRegisterApp
- prevent buffer overflow in attribute processing


(cherry picked from commit 71efec78c5)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-02 00:04:34 +08:00
Zhang Hai Peng 8969624e82 fix(ble/bluedroid): Fix potential CVE-2024-0039 out-of-bounds write in attp_build_value_cmd
- Reference: https://source.android.com/docs/security/bulletin/2024-03-01?hl=zh-cn


(cherry picked from commit e1d39f630f)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-02 00:04:34 +08:00
Zhang Hai Peng f415f7cec7 fix(ble/bluedroid): Fix potential CVE-2020-0022 in reassemble_and_dispatch
- Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-0022


(cherry picked from commit 1f7fd91b5a)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-12-02 00:04:34 +08:00
Zhang Hai Peng 05378602ef fix(ble/bluedroid): Fixed missing BLE connect and disconnect events
(cherry picked from commit 2dcbd64616)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-11-26 00:05:07 +08:00
Zhang Hai Peng 138b9dd8e6 fix(ble/bluedroid): Fixed BLE incorrect device record count issue
(cherry picked from commit 9bfd9c5340)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-11-26 00:05:07 +08:00
Zhang Hai Peng f8953f8875 fix(bt): Update esp32 libbtdm_app.a (15a18b1a)
- fix(ble): fixed BLE enable scan timeout
 - fix(ble): fixed crash in "btdm_controller_task"


(cherry picked from commit c5e50ccd19)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2025-11-25 11:53:32 +08:00
zhanghaipeng 9df828835c fix(ble/bluedroid): fix memory leak during deinit when service table is created but not started 2025-10-17 17:45:35 +08:00
zhanghaipeng 3c68650d7e feat(ble/bluedroid): add API to get local BLE IRK 2025-10-17 17:36:45 +08:00
zhanghaipeng ca2c78f53e fix(ble/bluedroid): prevent crash when deinit/disable host during scan
Crash occurs if the BLE host is deinitialized or disabled while scanning is still active.
This usage is not recommended.
2025-10-13 13:27:04 +08:00
zhanghaipeng 7ce921ed95 fix(ble/bluedroid): Fixed resolve adv data crash if host deinitialized or disabled 2025-09-29 11:57:30 +08:00
zhanghaipeng 45775a3e35 feat(ble/bluedroid): Added BLE debug LOG for bluedroid 2025-09-26 20:10:32 +08:00
zhanghaipeng 1952f0333c docs(ble): add advisory for CVE-2025-55297 found in Blufi example 2025-08-25 14:04:39 +08:00
zhanghaipeng 3f4bedd3a5 feat(blufi): Update BluFi document 2025-08-15 14:18:05 +08:00
zhanghaipeng 12df54e8d1 fix(ble/bluedroid): Fixed potential out-of-bounds memory access when resolve adv data 2025-08-11 13:08:14 +08:00
zhanghaipeng 8ec5410236 fix(bt): Update esp32 libbtdm_app.a (f1dc7d8)
- Improve ESP32 stability and security
2025-08-07 21:19:06 +08:00
zhanghaipeng 155c32be20 fix(bt/ble): Update esp32 libbtdm_app.a (722c907a)
- Fixed bt hci event was not report to host when hci command was sent
2025-08-01 19:21:28 +08:00
zhanghaipeng 50fe55ca59 fix(ble/bluedroid): set sec_conn only on successful pairing in ble_hid_device_demo 2025-07-28 15:49:59 +08:00
zhanghaipeng b6dc79af47 fix(ble/bluedroid): Fixed fail to disconnect when device record is cleared 2025-07-25 10:30:11 +08:00
zhanghaipeng ac385530af fix(ble/bluedroid): fix incorrect resolving_list_avail_size update 2025-07-25 10:27:53 +08:00
zhanghaipeng 61606a6f95 fix(ble/bluedroid): ensure resolving list is updated when the oldest device is removed 2025-07-24 21:29:27 +08:00
zhanghaipeng 48235c7b25 fix(ble/bluedroid): Fix issue causing BTM_GetSecurityFlags failed 2025-07-08 17:12:30 +08:00
zhanghaipeng a663a87fe0 fix(bt/ble): Update esp32 libbtdm_app.a (3a27e2e)
- Optimize check Access Address when receive connection request PDU
2025-07-03 10:26:48 +08:00
zhanghaipeng a29cd4ad5f fix(ble/bluedroid): fix build failure when some BLE features are disabled 2025-06-24 20:26:43 +08:00
zhanghaipeng 49a4325b15 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(4713a69)
- Fixed double free exception during BLE init under low memory
2025-06-05 11:10:25 +08:00
zhanghaipeng 8150573012 fix(ble/bluedroid): Fixed null pointer assert in l2c_link_check_send_pkts 2025-05-30 17:37:21 +08:00
zhanghaipeng 99121258d4 fix(ble/bluedroid): Fixed BLE SMP state machine inconsistency on disconnection 2025-05-29 10:50:50 +08:00
zhanghaipeng de9a367f13 feat(ble/bluedroid): Include SMP state in BLE status reporting 2025-05-29 10:36:26 +08:00
Zhang Hai Peng c91a897697 Merge branch 'bugfix/fix_send_delete_link_key_cmd_1' into 'master'
Bugfix/fix send delete link key cmd 1

Closes BLERP-1735

See merge request espressif/esp-idf!39424
2025-05-27 14:41:59 +08:00
zhanghaipeng 21391a45fd fix(ble/bluedroid): Fixed clear BLE device recored 2025-05-26 20:21:35 +08:00
zhanghaipeng 244d4f8fa7 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(4713205)
- Fix: Missing ADV reports after bonding and connection
2025-05-16 11:55:52 +08:00
zhanghaipeng 7c16bce827 fix(ble/bluedroid): Fixed issue with deleting link key when classic Bluetooth is not used 2025-05-13 10:25:24 +08:00
zhanghaipeng 0586d10317 fix(ble/bluedroid): Reduce Bluedroid host log output over SPI 2025-05-12 17:12:44 +08:00
zhanghaipeng df8c1f7a96 fix(ble/bluedroid): Change maximum length of attribute value to 517 2025-05-12 16:29:03 +08:00
zhanghaipeng ebb76933d0 docs(ble): clarify meaning of 0 value for esp_ble_gap_start_ext_scan() parameters 2025-05-12 16:29:03 +08:00
zhanghaipeng 6552854cb5 fix(ble/bluedroid): Fixed BLE GAP appearance configuration check 2025-05-12 16:29:03 +08:00
zhanghaipeng 55043e280a feat(ble/bluedroid): Implement BLE channel map reading API 2025-03-27 17:00:16 +08:00
zhanghaipeng a9286567f0 fix(ble/bluedroid): Fix potential uint32_t overflow in BLE btu_start_timer 2025-03-27 16:59:12 +08:00
zhanghaipeng 6becf74cbb fix(ble/bluedrooid): Fixed memory leak issue when deinit the host 2025-03-27 16:59:12 +08:00
zhanghaipeng d6bb90b453 feat(bluedroid): Support get bt config path 2025-03-27 16:59:12 +08:00
zhanghaipeng f291725936 fix(ble/bluedroid): Fix missing event reporting in esp_ble_create_sc_oob_data 2025-03-27 16:59:12 +08:00
zhanghaipeng 9dfa6ab0e9 fix(ble/bluedroid): Fixed BLE crash when disable bluedroid host 2025-03-27 16:59:12 +08:00
zhanghaipeng dcc26e3e4f feat(ble/bluedroid): Support read periodic advertiser list size command 2025-03-04 15:44:27 +08:00
zhanghaipeng 9496949132 fix(ble/controller): Fix BLE Kconfig on ESP32 to avoid unexpected behavior 2025-03-03 11:02:06 +08:00
zhanghaipeng 32e4fb79e8 feat(ble/bluedroid): Add Read Long Characteristic Values example 2025-02-26 10:37:53 +08:00
zhanghaipeng b6903296ad fix(ble/bluedroid): Added SPI output support for Bluedroid host log 2025-02-23 17:23:54 +08:00
zhanghaipeng e00ba3cbd1 fix(ble/bluedroid): Support SPI log output options for HCI 2025-02-23 11:46:47 +08:00
zhanghaipeng 7f2cedc048 fix(ble/bluedroid): Fix adv data and scan rsp data not reported together in BLE active scan 2025-02-19 20:18:35 +08:00
zhanghaipeng 0a7888f839 fix(ble): Update bt lib for ESP32(2a2631f)
- Support ESP32 BLE GPIO DEBUG
2025-02-13 20:54:04 +08:00
zhanghaipeng 3fc6c93936 fix(blufi): Enhance security in BLUFI example 2025-02-07 19:13:05 +08:00
Zhang Hai Peng 1f84180a1b Merge branch 'bugfix/fix_ble_aa_check' into 'master'
fix(ble): Update bt lib for ESP32(194dd63)

Closes BLERP-1505 and BLERP-1506

See merge request espressif/esp-idf!36536
2025-01-23 10:31:58 +08:00
zhanghaipeng abc18e93eb fix(blufi): Fixed some security issue in blufi example 2025-01-22 14:35:23 +08:00
zhanghaipeng b4e3c5c1e2 fix(ble): Update bt lib for ESP32(194dd63)
- Fix the issue where disconnection events were not reported as a slave.
- Enhance Access Address validation in compatibility mode.
2025-01-22 13:05:44 +08:00
Zhang Hai Peng 80b28a9816 Merge branch 'bugfix/fix_ble_conn_fail_in_ci' into 'master'
fix(ble/bluedroid): Optimize CI configuration for Bluedroid example

Closes IDFCI-2628

See merge request espressif/esp-idf!36138
2025-01-08 10:05:41 +08:00
zhanghaipeng 0e25572b4b feat(ble): Add CI testing for NimBLE host in Blufi and HID examples 2025-01-07 10:42:57 +08:00
zhanghaipeng aa2f136e16 fix(ble/bluedroid): Optimize CI configuration for Bluedroid example 2025-01-03 14:35:07 +08:00
zhanghaipeng c9cdf51b05 docs(ble/bluedroid): Added BLE log when bond info was deleted 2024-12-19 11:27:49 +08:00
zhanghaipeng 117aa74705 fix(ble/bluedroid): Fixed BLE feature selection configuration 2024-12-18 17:07:22 +08:00
zhanghaipeng d84ccadf90 docs(ble/bluedroid): Optimize doc for registering BLE callback functions 2024-12-18 11:42:17 +08:00
zhanghaipeng 3cb2d9c3c6 fix(ble/blufi): Fixed blufi example security issue 2024-12-18 11:33:43 +08:00
Zhang Hai Peng 397fb43d2d Merge branch 'bugfix/fix_ble_aa_zero_c3_s3' into 'master'
fix(bt/ble): Update esp32c3/s3 libbtdm_app.a (555b0a2)

Closes BLERP-1284 and IDFCI-2490

See merge request espressif/esp-idf!35220
2024-12-13 19:22:38 +08:00
zhanghaipeng 0a8f808cd2 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(555b0a2)
- Check Access Address when receive connection request PDU
- Fix issue with BLE5.0 duplicate scan for chained packets
2024-12-13 13:40:26 +08:00
Zhang Hai Peng 56696866ba Merge branch 'bugfix/fix_blufi_prepare_write' into 'master'
fix(blufi): Fixed crash issue in Blufi example during prepare write operation

Closes BLERP-1348

See merge request espressif/esp-idf!35506
2024-12-11 11:31:32 +08:00
zhanghaipeng 5acb9c9b5f fix(blufi): Fixed crash issue in Blufi example during prepare write operation 2024-12-09 17:04:05 +08:00
zhanghaipeng ab1e3c1ffd fix(ble): Fixed crash in BLE HID host example during logging 2024-12-02 15:31:54 +08:00