Commit Graph
2266 Commits
Author SHA1 Message Date
Rahul Tank 9b60123e4f fix(nimble): Prevent crash in deinit when host init was not completed 2026-09-08 16:20:50 +05:30
Rahul Tank 2d0169ef41 fix(nimble): Avoid NULL proc dereference in GATT client procedures 2026-09-04 14:26:02 +05:30
Rahul Tank 9f69bfdb4d Merge branch 'bugfix/fix_ble_pair_attack' into 'master'
fix(nimble): Fix for BLERP attack

See merge request espressif/esp-idf!51161
2026-09-04 12:53:02 +05:30
hejiaxin f772cd6d38 fix(bt_hfp): Fix macro definition 2026-09-03 17:30:32 +08:00
Rahul Tank 84f7125d1b fix(nimble): Fix for BLERP attack 2026-09-03 12:40:44 +05:30
Wang Meng Yang 7f1b8d002e Merge branch 'feature/hfp_lc3' into 'master'
Feature/hfp lc3

See merge request espressif/esp-idf!50037
2026-09-03 14:44:47 +08:00
Rahul Tank c71e574ebf Merge branch 'bugfix/fix_stale_conn_cccd' into 'master'
fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool

Closes BLERP-3057, BLERP-3060, BLERP-3061, and BLERP-3062

See merge request espressif/esp-idf!51868
2026-09-03 12:01:32 +05:30
hejiaxin 25ca329650 fix(bt_hfp): Fix the solution of unknown AT command 2026-09-03 11:04:05 +08:00
hejiaxin 9f6cf1ac3c feat(bluedroid): Update LC3-SWB support in bluedroid
- Update LC3 in btc and bta, update AT
- Update LC3 in SCO frame transfer and examples
- improve lc3 transfer speed
- Fix some encoding and decoding bugs
- Rename the functions and macros to fit both msbc and lc3
- Add config dependency
- Add migration guides for bluetooth-classic
- change the statement of "Wide Band Speech" to "Wideband Speech" to fit HFPv1.10
2026-09-03 11:02:50 +08:00
Jiang Jiang Jian b91a486cc1 Merge branch 'bugfix/delete_unused_avrcp_rcb' into 'master'
fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails

Closes IDFGH-18197

See merge request espressif/esp-idf!52226
2026-09-03 11:02:05 +08:00
Rahul Tank 657f80181b fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool 2026-09-02 17:46:54 +05:30
Wang Meng Yang eb90cd94b8 Merge branch 'bugfix/fix_osi_event_bug' into 'master'
Bugfix/fix osi event bug

See merge request espressif/esp-idf!51916
2026-09-02 17:47:06 +08:00
Matteo Sandrin 35cf3fa42b fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails 2026-08-28 05:24:44 -04:00
Wang Meng Yang 1b937bd648 Merge branch 'bugfix/a2dp_aac_br' into 'master'
fix(bt): Fix some bugs of A2DP AAC

Closes BTQABR2023-876, BTQABR2023-877, BTQABR2023-878, and BTQABR2023-879

See merge request espressif/esp-idf!51819
2026-08-28 15:26:50 +08:00
Wang Meng Yang 63076cf266 Merge branch 'fix/bt_memory' into 'master'
fix(bt_memory): Reduce memory usage in transfer

See merge request espressif/esp-idf!51396
2026-08-28 14:52:59 +08:00
yangfeng 5a8e9347a5 fix(bt): Build the optimal config when registering A2DP SEP 2026-08-27 15:58:39 +08:00
yangfeng d1d1f91b12 fix(bt): Add invalid codec capability verification when registering SEP 2026-08-27 15:44:58 +08:00
yangfeng 998bd59e3f feat: Add default SBC SEP in A2DP init 2026-08-27 15:44:58 +08:00
yangfeng ba8b1091a5 fix(bt): Fix the processing of bit rate being 0 in A2DP AAC 2026-08-27 15:44:58 +08:00
hejiaxin 12fe70031f fix(bt_avrcp): size some AVRC command buffers 2026-08-27 15:14:53 +08:00
hejiaxin 59eee88105 fix(bt_l2cap): size L2CAP ERTM S-frame & RX SDU buffer 2026-08-27 15:13:58 +08:00
hejiaxin 8a0156c4ed fix(bt_sdp): size SDP TX buffers 2026-08-27 15:11:44 +08:00
hejiaxin 53200e1ec4 fix(bt_rfcomm): size RFCOMM TX buffers by peer MTU 2026-08-27 15:10:28 +08:00
hejiaxin b58556b338 fix(bt_hid): size HID TX buffers to report length 2026-08-27 15:10:05 +08:00
Wang Meng Yang 13e18a6a43 Merge branch 'bugfix/fixed_ble_deinit_crash_issue' into 'master'
Bugfix/fixed ble deinit crash issue

Closes BLECRT-623, BLECRT-624, and BT-4481

See merge request espressif/esp-idf!52103
2026-08-27 14:12:41 +08:00
Island e2930d30c8 Merge branch 'bugfix/fix_bluedroid_find_info_format_mismatch' into 'master'
fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch

See merge request espressif/esp-idf!52063
2026-08-26 22:00:25 +08:00
ShenWeilong 0ed6004586 fix(bt): fixed mempool deinit crash issue for esp32s31 2026-08-26 21:48:02 +08:00
Island 61aefd09ae Merge branch 'feat/ble_smp_repairing_hardening' into 'master'
feat(ble/bluedroid): add Kconfig options for BLE re-pairing hardening

See merge request espressif/esp-idf!51221
2026-08-26 15:07:45 +08:00
zhanghaipeng 196cb39545 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.
2026-08-26 11:20:23 +08:00
Jiang Jiang Jian 1072706739 Merge branch 'bugfix/avrcp_version_compatibility' into 'master'
fix(bt): Fix the issue of AVRCP version compatibility

Closes BTQABR2023-886

See merge request espressif/esp-idf!51978
2026-08-26 10:37:22 +08:00
Rahul Tank 3af5e71150 Merge branch 'bugfix/fix_pawr_conn_issues' into 'master'
fix(nimble): bound PAwR synced connect retries in the example

See merge request espressif/esp-idf!51941
2026-08-25 16:02:57 +05:30
liqigan 8873769d11 change(bt/bluedroid): Used dynamic osi event to reduce lock cost 2026-08-25 15:50:22 +08:00
Island 120d813cd9 Merge branch 'bugfix/fix_bluedroid_gatt_discover_downstream_stall' into 'master'
fix(ble/bluedroid): allow osi_event re-post during POSTING window

Closes BLERP-3044, BLERP-3042, BLERP-3043, BLERP-3051, and BLERP-3052

See merge request espressif/esp-idf!51833
2026-08-25 12:13:38 +08:00
Rahul Tank 7321fce391 fix(nimble): bound PAwR synced connect retries in the example 2026-08-24 21:31:32 +05:30
Rahul Tank 76ecf87829 Merge branch 'bugfix/gatt_cach_disconn' into 'master'
fix(nimble): gatt caching crash on disconnect

Closes BLERP-3059

See merge request espressif/esp-idf!51962
2026-08-24 21:27:08 +05:30
Astha Verma b1f2ebffef fix(nimble): Fixed gatt caching crash on disconnect 2026-08-24 11:15:40 +05:30
yangfeng f3c7229003 fix(bt): Fix the issue of AVRCP version compatibility 2026-08-24 11:31:48 +08:00
zhiweijian 88ea45be73 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.
2026-08-21 19:17:48 +08:00
zhiweijian f864615d7d 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).
2026-08-21 19:17:48 +08:00
hejiaxin dfc939ff02 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-08-21 10:50:35 +08:00
Jiang Jiang Jian 535fa4c3b2 Merge branch 'bugfix/bta_disable_not_run' into 'master'
fix(bt/bluedroid): fix BTA event dispatch race during moduel disable

See merge request espressif/esp-idf!51809
2026-08-20 19:35:35 +08:00
zhanghaipeng 011138ffd9 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-20 13:32:14 +08:00
zhanghaipeng 8d230c7650 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-20 11:22:42 +08:00
Jin Cheng 347b2461ae fix(bt/bluedroid): fixed BTA event dispatch race during module disable
- Gate bta_sys_event() on both 'is_reg' and 'reg[id]' to prevent
  stale event delivery.
- Defer bta_sys_deregister() to the end of profile disable handlers
  to ensure pending DISABLE events are processed.
- Add disabling flag to HFP AG for tracking asynchronous teardown.
2026-08-19 15:04:37 +08:00
Rahul Tank 6311559fe6 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 22:06:27 +05:30
Rahul Tank 20afd9de88 fix(nimble): route PAwR connection failures to sync callback 2026-08-18 18:10:05 +05:30
Wang Meng Yang 9150d065a3 Merge branch 'feat/support_pan_bnep' into 'master'
feat(bt/bluedroid): support Classic Bluetooth PAN profile

See merge request espressif/esp-idf!50641
2026-08-18 17:38:59 +08:00
Rahul Tank b59df9b133 fix(nimble): Add separate helper functions to register notification/indication 2026-08-17 21:53:57 +05:30
linruihao 4f54340e51 feat(bt/bluedroid): support Classic Bluetooth PAN profile
- Port part of PAN/BNEP code from Android
- Add ESP API and BTC layer
2026-08-17 19:52:21 +08:00
Rahul Tank b229e4d3d5 fix(nimble): Add fix to handle service reset during server start 2026-08-14 13:47:34 +05:30