Commit Graph
2109 Commits
Author SHA1 Message Date
Astha Verma c4f905e508 fix(nimble): Connect with OTA address for host based privacy 2026-09-18 17:20:37 +05:30
Astha Verma bfa3000a7b fix(nimble): fix l2cap_coc throughput disconnect on esp32c2 2026-09-16 10:29:02 +05:30
Island b65487a0c3 Merge branch 'feat/ble_smp_repairing_hardening_v5.4' into 'release/v5.4'
feat(ble/bluedroid): add Kconfig options for BLE re-pairing hardening (5.4)

See merge request espressif/esp-idf!52419
2026-09-15 14:12:10 +08:00
Shreeyash Bhakare b0df8ce4fd fix(nimble): Send Prepare Write Request before Execute Write with zero-length data 2026-09-11 15:00:35 +05:30
Astha Verma 218f4c7b74 fix(nimble): Fix nimble HID service discovery 2026-09-11 11:15:56 +05:30
Island cff7bf2381 Merge branch 'feat/opt_prefer_bond_device_when_evicting_overflow_bonds_v5.4' into 'release/v5.4'
fix(bt/bluedroid): prefer disconnected peers when evicting overflow bonds (5.4)

See merge request espressif/esp-idf!52608
2026-09-10 20:51:08 +08:00
Island 0e295ff16b Merge branch 'bugfix/fix_bluedroid_find_info_format_mismatch_v5.4' into 'release/v5.4'
fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch (5.4)

See merge request espressif/esp-idf!52078
2026-09-10 20:50:28 +08:00
Rahul Tank 3051cb01fa Merge branch 'bugfix/hardware_error_assert_v5.4' into 'release/v5.4'
fix(nimble): Add hardware error event handling as normal event (v5.4)

See merge request espressif/esp-idf!52555
2026-09-10 17:08:48 +05:30
Rahul Tank 59976b088c fix(nimble): Prevent crash in deinit when host init was not completed 2026-09-10 11:31:50 +05:30
Rahul Tank 2c0fff071b fix(nimble): Fix for BLERP attack 2026-09-09 14:06:04 +05:30
Zhang Hai Peng 7ca394e038 fix(bt/bluedroid): prefer disconnected peers when evicting overflow bonds
When the bond list is full, drop the oldest disconnected device instead
of the oldest NVS entry, and allow a per-bond except flag so selected
devices are never auto-removed.


(cherry picked from commit bf86892eef)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-09-09 14:25:51 +08:00
Rahul Tank 11a5032184 fix(nimble): Avoid NULL proc dereference in GATT client procedures 2026-09-09 10:27:24 +05:30
Rahul Tank a211efe6f2 fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool 2026-09-08 17:37:08 +05:30
Rahul Tank 6871e1fe88 fix(nimble): Add hardware error event handling as normal event 2026-09-08 12:11:06 +05:30
ShenWeilong e5acf5d5d7 fix(bt): fixed mempool deinit crash issue 2026-09-08 13:05:28 +08:00
Zhang Hai Peng c79c6c437f fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch
Restore GATT_NO_RESOURCES when sequential attributes have differing UUID
sizes so gatts_process_find_info() stops building the response PDU.


(cherry picked from commit 196cb39545)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-09-07 20:37:53 +08:00
Zhi Wei Jian 5fac3377f3 feat(ble/bluedroid): reject LE re-pairing that weakens an existing bond
Add smp_repairing_is_allowed() behind BT_BLE_SMP_HARDENED_REPAIRING so a
peer cannot replace an existing bond with one that has less MITM
protection, no Secure Connections, or a shorter key. Compare a preceding
Security Request against the pairing command AuthReq, not the
association-model result, and always allow first pairing.

A refusal keeps the stored bond. Pairing-failure erase is split by link
role: default is erase as Central and keep as Peripheral.

Closes BLERP (NDSS 2026) V3, V4 and V6.


(cherry picked from commit 88ea45be73)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2026-09-07 19:18:28 +08:00
Zhi Wei Jian 734e55fcbf fix(ble/bluedroid): harden LE bond handling across encryption
Keep the existing bond until the new pairing is encrypted, and on encryption
failure drop the link instead of clearing keys. Recovering from a peer that
really deleted the bond is opt-in through BT_BLE_SMP_UNBOND_ON_KEY_MISSING.

Closes BLERP (NDSS 2026) V5, and stops an unauthenticated Pairing Request
from dropping the stored keys (V2 exploitation).


(cherry picked from commit f864615d7d)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2026-09-07 19:18:28 +08:00
Matteo Sandrin 440c2fa393 fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails 2026-09-04 10:08:12 +08:00
Wang Meng Yang 52540e376d Merge branch 'fix/aireview_obex_v5.4' into 'release/v5.4'
fix(bt_obex): fix some bugs in bluedroid obex (v5.4)

See merge request espressif/esp-idf!52305
2026-09-04 07:54:20 +08:00
liqigan ed836fa70b change(bt/bluedroid): Used dynamic osi event to reduce lock cost 2026-09-02 19:18:45 +08:00
hejiaxin 395f5d9404 fix(bt_obex): fix some bugs in bluedroid obex
- fix goepc wait state switch
- fix psm unbind's mismatch
- fix some resources leak
- fix goep connection's incorrect ternimation when congesting
- Add some NULL ptr check
2026-09-02 14:30:43 +08:00
hejiaxin 49bac9fbbf fix(bt_avrcp): size some AVRC command buffers 2026-09-01 11:24:18 +08:00
hejiaxin 8ac6aa8aa0 fix(bt_l2cap): size L2CAP ERTM S-frame & RX SDU buffer 2026-09-01 11:24:18 +08:00
hejiaxin b08f145416 fix(bt_sdp): size SDP TX buffers 2026-09-01 11:24:18 +08:00
hejiaxin 1995bfcb4d fix(bt_rfcomm): size RFCOMM TX buffers by peer MTU 2026-09-01 11:24:18 +08:00
hejiaxin 5036f97cb8 fix(bt_hid): size HID TX buffers to report length 2026-09-01 11:24:17 +08:00
Wang Meng Yang 077bb9ec72 Merge branch 'change/refactor_hidh_datapath_v5.4' into 'release/v5.4'
Change/refactor hidh datapath[backport v5.4]

See merge request espressif/esp-idf!51281
2026-08-28 08:55:03 +08:00
zhanghaipeng 83d92f35e4 docs(bt): clarify Bluedroid GATT signed write API comments
Correct misleading CHAR_PROP_BIT_AUTH wording and document CSRK-based
signed write usage for server permissions and client write APIs.
2026-08-27 17:26:05 +08:00
zhanghaipeng 8643f157fc fix(ble/bluedroid): allow osi_event re-post during POSTING window
Do not reject osi_thread_post_event() when only POSTING is set.
QUEUED already prevents double-queueing; rejecting POSTING caused
HCI downstream lost wakeup. Add generic osi_event and hci downstream
diagnostics for post failures.
2026-08-27 17:21:35 +08:00
yangfeng c0ff3bf835 fix(bt): Fix the issue of AVRCP version compatibility 2026-08-26 15:56:04 +08:00
Wang Meng Yang 65817f36ce Merge branch 'bugfix/a2dp_sink_nego_sbc_v5.4' into 'release/v5.4'
fix(bt): do not cap AVDTP Discover results by local SEP count (v5.4)

See merge request espressif/esp-idf!51753
2026-08-26 08:13:19 +08:00
Rahul Tank 082a7cf2e5 fix(nimble): bound PAwR synced connect retries in the example 2026-08-25 12:03:38 +05:30
yangfeng 37d751375c fix(bt): do not cap AVDTP Discover results by local SEP count
- Closes https://github.com/espressif/esp-idf/issues/18848
2026-08-24 19:13:43 +08:00
liqigan 10d324e04f fix(bt/bluedroid): Fixed HID host reconnection bug and enabled load HID devices
Closes https://github.com/espressif/esp-idf/issues/18335
2026-08-24 14:19:05 +08:00
liqigan e590b1c8eb change(bt/bluedroid): Refactored HCI ACL datapath 2026-08-24 14:19:05 +08:00
liqigan 329e7ba627 change(bt/bluedroid): Refactored HID host datapath 2026-08-24 14:19:05 +08:00
Astha Verma bc5642704e fix(nimble): Fixed gatt caching crash on disconnect 2026-08-24 11:30:59 +05:30
Rahul Tank eefa50da7e Merge branch 'bugfix/irk_smp_bond_issue_v5.4' into 'release/v5.4'
fix(nimble): Fix unpair_oldest_peer deleting wrong device (v5.4)

See merge request espressif/esp-idf!51838
2026-08-19 16:23:29 +05:30
Wang Meng Yang 6cd280ace0 Merge branch 'bugfix/strncpy_compilation_issue_v5.4' into 'release/v5.4'
fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S (v5.4)

See merge request espressif/esp-idf!51745
2026-08-19 10:39:03 +08:00
Rahul Tank 0401956b4e fix(nimble): Fix unpair_oldest_peer deleting wrong device
Sort bond entries by bond_count after in-place updates to maintain correct
eviction order, and log IRK resolving-list failures instead of failing the bond.
2026-08-18 12:47:56 +05:30
Rahul Tank 7bf12a4e41 Merge branch 'feat/add_register_notif_indic_v5.4' into 'release/v5.4'
fix(nimble): Add separate helper functions to register indication (v5.4)

See merge request espressif/esp-idf!51801
2026-08-18 11:49:27 +05:30
Jiang Jiang Jian c904ba2e6b Merge branch 'bugfix/a2dp_api_init_check_v5.4' into 'release/v5.4'
fix(bt): Fix compatibility with A2DP API legacy usage methods (v5.4)

See merge request espressif/esp-idf!51332
2026-08-18 11:24:31 +08:00
Rahul Tank f9c383a747 fix(nimble): Add separate helper functions to register notification/indication 2026-08-18 07:38:26 +05:30
yangfeng b3370110a6 fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S 2026-08-17 09:54:33 +08:00
Rahul Tank 39203f616c fix(nimble): Fix adding device to resolving list when defer connection 2026-08-13 14:58:18 +05:30
yangfeng 88f7f55ff1 fix(bt): Fix compatibility with A2DP API legacy usage methods
- Modify the timing of API calls in the A2DP example
- Closes https://github.com/espressif/esp-idf/issues/18786
2026-08-13 08:55:01 +08:00
Rahul Tank 02e784372a fix(nimble): Added change to stop adv before starting new adv 2026-08-11 12:04:10 +05:30
Rahul Tank 564ca19233 fix(nimble): Remove extra free to avoid double free 2026-08-06 18:55:37 +05:30
Jiang Jiang Jian 8f810bd44c Merge branch 'feat/support_pawr_connect_evt_v5.4' into 'release/v5.4'
feat(ble/bluedroid): Support PAWR connection event (5.4)

See merge request espressif/esp-idf!51440
2026-08-06 11:25:37 +08:00