Commit Graph
100 Commits
Author SHA1 Message Date
zhanghaipeng 5a803144e8 fix(nimble): use pre-allocated buffer for HCI logging 2026-01-05 10:39:07 +08:00
zhanghaipeng 051077835c docs(ble): add flow diagrams to bluedroid BLE examples 2025-12-28 17:32:01 +08:00
zhanghaipeng 934970a06f feat(examples/bluedroid): add BLE ACL latency measurement example 2025-12-28 17:31:49 +08:00
zhanghaipeng fdeb5ad87a refactor(examples/bluedroid): Replace hardcoded ADV type values with macros 2025-12-28 16:40:37 +08:00
zhanghaipeng 8630040602 fix(bt/osi): add NULL check in osi_mutex_free and osi_sem_free (IDFGH-16853) 2025-12-28 11:19:39 +08:00
zhanghaipeng 6196298750 fix(bt/bluedroid): fix UAF in bta_gattc_enqueue for search service command 2025-12-28 11:19:39 +08:00
zhanghaipeng 7cd2f7b34d 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)
2025-12-28 11:19:39 +08:00
zhanghaipeng b6aed7e1c8 feat(ble/bluedroid): Increase maximum notify/indication registration count 2025-12-28 11:07:07 +08:00
zhanghaipeng 4ffd7b285b feat(ble/bluedroid): add periodic advertising create sync retry mechanism 2025-12-28 11:07:07 +08:00
zhanghaipeng 12225c457c fix(ble/bluedroid): Fix array index in set_periodic_adv_subevt_data 2025-12-28 11:07:07 +08:00
zhanghaipeng c5ebab70d8 fix(ble/bluedroid): Remove duplicate filter_policy in ext_conn_v2 HCI cmd 2025-12-28 11:07:07 +08:00
zhanghaipeng 6d49a99faa fix(ble/bluedroid): Fix heap buffer overflow in BTC_GAP_BLE_SET_PA_SUBEVT_DATA deep copy 2025-12-28 11:07:07 +08:00
zhanghaipeng 643d9c2387 fix(ble/bluedroid): Fix multiple out-of-bounds read vulnerabilities in GATT PDU handlers 2025-12-28 11:07:07 +08:00
zhanghaipeng 93cfbb8522 fix(ble/bluedroid): Fix out-of-bounds read in l2cble_process_sig_cmd 2025-12-28 11:07:07 +08:00
zhanghaipeng 597fc6e5c1 fix(ble/bluedroid): Fix integer underflow in gatt_process_read_by_type_rsp 2025-12-28 11:07:07 +08:00
zhanghaipeng da4793ce71 fix(ble/bluedroid): Improve robustness during host enable procedure 2025-12-23 10:24:00 +08:00
zhanghaipeng a721e94a0f fix(bt): fix BLE security issue in controller and HCI packet parser 2025-12-23 10:24:00 +08:00
zhanghaipeng c762832600 fix(ble/hci): Fix OOB read in ble_adv_scan_combined example 2025-12-23 10:24:00 +08:00
zhanghaipeng a36bf7fe14 fix(ble/bluedroid): Added security check in example Bluedroid_GATT_Server 2025-12-23 10:24:00 +08:00
Zhang Hai Peng 9a21040626 Merge branch 'bugfix/fix_ble_security_issue_2025_v2' into 'master'
fix(ble/bluedroid): Enhanced security in ble_ancs example

Closes BHOST2025-59

See merge request espressif/esp-idf!43800
2025-12-01 16:16:06 +08:00
zhanghaipeng f502b2aab1 fix(ble/bluedroid): Fix security issues in GATT module 2025-11-30 16:22:26 +08:00
zhanghaipeng b163685c06 fix(ble/bluedroid): Fix security issues in HCI module 2025-11-30 16:06:25 +08:00
zhanghaipeng 1ed5a4465d fix(ble/bluedroid): Fix security issues in GAP module 2025-11-30 15:48:24 +08:00
zhanghaipeng b03ff3cf21 fix(ble/bluedroid): Add length check in prepare write response 2025-11-30 15:00:26 +08:00
zhanghaipeng d2baf3b0d4 fix(ble/bluedroid): Add boundary check for adv_handle in btm_ble_adv_set_terminated_evt 2025-11-28 17:44:57 +08:00
zhanghaipeng e741f09e0f fix(ble/bluedroid): Fix VLA in a2dp_gatts_coex example 2025-11-27 20:00:55 +08:00
zhanghaipeng a6730c7da6 fix(ble/bluedroid): Add NULL checks in GATT APIs 2025-11-27 19:36:35 +08:00
zhanghaipeng b71c51564a fix(ble/bluedroid): Add NULL checks in esp_gap_ble_api 2025-11-27 19:28:21 +08:00
zhanghaipeng 4b44d8e814 fix(ble/bluedroid): Add NULL check in esp_ble_gap_add_device_to_resolving_list 2025-11-27 19:12:54 +08:00
zhanghaipeng 8e0f74a2cc fix(ble/bt): Add NULL check in esp_hid_device example 2025-11-27 18:05:33 +08:00
zhanghaipeng 8b5dd75368 fix(ble/bt): Add NULL check in esp_hid_host example 2025-11-27 18:05:20 +08:00
zhanghaipeng 773814c087 fix(ble/blufi): Add DH param length validation 2025-11-27 18:05:07 +08:00
zhanghaipeng b6b3b81bf6 fix(ble/bluedroid): Fix memory leak in ble_spp_server example 2025-11-27 18:04:54 +08:00
zhanghaipeng e26b60090d fix(ble/bluedroid): Use calloc in gatt_server example 2025-11-27 18:04:43 +08:00
zhanghaipeng 24e023e307 fix(ble/bluedroid): Use snprintf in ble_eddystone example 2025-11-27 18:04:32 +08:00
zhanghaipeng 7e876249df fix(ble/bluedroid): Add bounds check in ble_ancs example 2025-11-27 18:04:22 +08:00
zhanghaipeng 71efec78c5 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
2025-11-24 14:42:26 +08:00
zhanghaipeng e1d39f630f 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
2025-11-24 14:42:26 +08:00
zhanghaipeng c5e50ccd19 fix(bt): Update esp32 libbtdm_app.a (15a18b1a)
- fix(ble): fixed BLE enable scan timeout
 - fix(ble): fixed crash in "btdm_controller_task"
2025-11-24 12:14:37 +08:00
zhanghaipeng 1f7fd91b5a fix(ble/bluedroid): Fix potential CVE-2020-0022 in reassemble_and_dispatch
- Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-0022
2025-11-24 11:59:12 +08:00
zhanghaipeng 60a028fb17 feat(ble/blufi): Support setting BLE encryption for blufi 2025-11-21 16:41:33 +08:00
zhanghaipeng 9bfd9c5340 fix(ble/bluedroid): Fixed BLE incorrect device record count issue 2025-11-18 11:25:22 +08:00
zhanghaipeng 2dcbd64616 fix(ble/bluedroid): Fixed missing BLE connect and disconnect events 2025-10-28 16:56:07 +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