Commit Graph

5892 Commits

Author SHA1 Message Date
Island
6eb40db09d Merge branch 'feat/adapt_uhci_code_260824_v6.0' into 'release/v6.0'
refactor(hci): switch HCI UART DMA transport to UHCI driver APIs (6.0)

See merge request espressif/esp-idf!52160
2026-09-04 17:58:17 +08:00
Rahul Tank
c0b30a11db Merge branch 'bugfix/fix_stale_conn_cccd_v6.0' into 'release/v6.0'
fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool (v6.0)

See merge request espressif/esp-idf!51951
2026-09-04 14:42:22 +05:30
Fu Hanxi
14297ada26 Merge branch 'ci/apply-common-scripts-v6.0' into 'release/v6.0'
ci: apply common-scripts refactor (v6.0)

See merge request espressif/esp-idf!50991
2026-09-04 09:33:06 +02:00
Rahul Tank
a64ac3a8f6 fix(nimble): fix crash on disconnect due to stale per-connection CCCD pool 2026-09-04 12:17:48 +05:30
hejiaxin
340ce2b338 fix(bt_pbap): Fix some bugs in bluedroid PBAP
- Add sdp_seq to avoid p_ccb being free during sdp
- Changed some BTA_Pba functions to return non-void value
- Improve error catching and report
- Refactor bta_pba_client_response to avoid UAF problem
- Rearrange btc_pba_client init flag to avoid some disturbing bug
2026-09-04 11:55:05 +08:00
hejiaxin
b2c98e72cd fix(bt_avrcp): size some AVRC command buffers 2026-09-04 11:51:39 +08:00
Zhi Wei Jian
2bada5b678 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-04 11:03:52 +08:00
Zhi Wei Jian
6b9b3d969e 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-04 11:03:52 +08:00
ShenWeilong
d3b4dd9584 fix(ble): Check if there are illegal library files in controller lib path 2026-09-04 11:03:01 +08:00
ShenWeilong
3dbbafbbb3 fix(bt): fixed mempool deinit crash issue 2026-09-04 11:00:59 +08:00
hejiaxin
4226c1fdd4 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-04 10:20:04 +08:00
Matteo Sandrin
ffa442cb5d fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails 2026-09-04 10:07:55 +08:00
yangfeng
9905ffe7f5 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-09-04 10:02:48 +08:00
liqigan
822f1617bf change(bt/bluedroid): Used dynamic osi event to reduce lock cost 2026-09-04 09:41:19 +08:00
zhanghaipeng
6d23cb7278 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-09-04 09:40:32 +08:00
zhanghaipeng
ad5a7d778e 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-09-04 09:40:32 +08:00
liqigan
4412ff55b2 fix(bt/bluedroid): Fixed use after free issue on osi_event_delete 2026-09-04 09:40:29 +08:00
liqigan
1dcaf24129 fix(bt/bluedroid): Fixed HID host reconnection bug and enabled load HID devices
Closes https://github.com/espressif/esp-idf/issues/18335
2026-09-04 09:32:58 +08:00
liqigan
6c27057d67 change(bt/bluedroid): Refactored HCI ACL datapath 2026-09-04 09:32:58 +08:00
liqigan
20757b7933 change(bt/bluedroid): Refactored HID host datapath 2026-09-04 09:32:58 +08:00
Jin Cheng
10ee735306 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-09-04 09:13:18 +08:00
Rahul Tank
93f74eb464 Merge branch 'bugfix/fix_nimble_issues_3092026_v6.0' into 'release/v6.0'
feat(nimble): Fix few nimble issues 03092026(v6.0)

See merge request espressif/esp-idf!52355
2026-09-04 05:50:01 +05:30
Wang Meng Yang
ff0587bde0 Merge branch 'bugfix/avrcp_version_compatibility_v6.0' into 'release/v6.0'
fix(bt): Fix the issue of AVRCP version compatibility (v6.0)

See merge request espressif/esp-idf!52087
2026-09-04 08:13:00 +08:00
Wang Meng Yang
2d5899d022 Merge branch 'fix/bluedroid_aireview_v6.0' into 'release/v6.0'
Fix/bluedroid aireview (v6.0)

See merge request espressif/esp-idf!51480
2026-09-04 07:55:43 +08:00
Fu Hanxi
df8086abe3 fix(bluedroid): disable Clang vectorization for GATT
Avoid an Xtensa Clang vectorizer crash when compiling gatt_sr.c at -O2.
2026-09-03 20:25:13 +02:00
Rahul Tank
56fa9afcda fix(blufi): Fix BLUFI NimBLE deinit race due to disconnect callbacks 2026-09-03 21:27:16 +05:30
Rahul Tank
938ce4f4d1 fix(nimble): bound PAwR synced connect retries in the example 2026-09-03 21:27:16 +05:30
Astha Verma
c525108495 fix(nimble): Fixed gatt caching crash on disconnect 2026-09-03 21:27:16 +05:30
Rahul Tank
edf77262e7 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-09-03 21:27:16 +05:30
Rahul Tank
79a570a953 fix(nimble): Add separate helper functions to register notification/indication 2026-09-03 21:27:16 +05:30
Rahul Tank
f8953541b2 fix(nimble): Add fix to handle service reset during server start 2026-09-03 21:27:16 +05:30
Rahul Tank
dae4696357 fix(nimble): Fix adding device to resolving list when defer connection 2026-09-03 21:27:16 +05:30
Rahul Tank
0bd286209f fix(nimble): Added change to stop adv before starting new adv 2026-09-03 21:27:16 +05:30
Rahul Tank
c6e702c5c9 fix(nimble): Remove extra free to avoid double free 2026-09-03 21:27:15 +05:30
Rahul Tank
ec228607c8 fix(nimble): Fixes for various NimBLE CVEs 2026-09-03 21:27:15 +05:30
Rahul Tank
7aecabef17 fix(nimble): Deliver PAwR peripheral CONNECT via sync callback 2026-09-03 21:27:15 +05:30
Rahul Tank
d198b8fd91 fix(nimble): update sbom file with cve details 2026-09-03 21:27:15 +05:30
chenjianhua
9bd7168fa1 feat(bt): Add host-agnostic BT OSAL and shared BLE profile task
- Add bt_osal: event queues, mutexes, semaphores, callouts, etc.
- Add the shared BLE profile task and event queue
- Bring both up and tear them down in the host init/deinit paths
- Add unit tests for the OSAL and the profile task

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 21:27:15 +05:30
Shreeyash Bhakare
a2739c9ee1 fix(nimble): Added security related fixes 2026-09-03 21:27:15 +05:30
Jiang Jiang Jian
07d868db77 Merge branch 'feat/bt_in_psram_v6.0' into 'release/v6.0'
feat(bluedroid): Add config to place btu and hci task stack in psram (v6.0)

See merge request espressif/esp-idf!51490
2026-09-03 19:51:53 +08:00
Jiang Jiang Jian
b06fe0e986 Merge branch 'fix/fix_some_ble_sleep_issues_v6.0' into 'release/v6.0'
Fix/fix some ble sleep issues (6.0)

See merge request espressif/esp-idf!51319
2026-09-03 19:50:49 +08:00
Jiang Jiang Jian
13c5832753 Merge branch 'fix/aireview_critical_v6.0' into 'release/v6.0'
fix: Fix some critical bugs in classic bt (v6.0)

See merge request espressif/esp-idf!51289
2026-09-03 19:50:40 +08:00
Jiang Jiang Jian
5be7fb669a Merge branch 'bugfix/l2cap_throughput_degrading_v6.0' into 'release/v6.0'
Preserve throughput when switching from LE Coded to 1M/2M PHY (v6.0)

See merge request espressif/esp-idf!50830
2026-09-03 19:48:35 +08:00
Jiang Jiang Jian
3a4bbeb620 Merge branch 'bugfix/strncpy_compilation_issue_v6.0' into 'release/v6.0'
fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S (v6.0)

See merge request espressif/esp-idf!51743
2026-09-03 19:25:46 +08:00
Jiang Jiang Jian
6591c23c08 Merge branch 'bugfix/a2dp_sink_nego_sbc_v6.0' into 'release/v6.0'
fix(bt): do not cap AVDTP Discover results by local SEP count (v6.0)

See merge request espressif/esp-idf!51751
2026-09-03 19:25:19 +08:00
zhaoweiliang
c5d0ef7b3f refactor(hci): switch HCI UART DMA transport to UHCI driver APIs 2026-08-28 11:46:38 +08:00
yangfeng
4e950184b4 fix(bt): Fix the issue of AVRCP version compatibility 2026-08-26 15:55:43 +08:00
Zhang Hai Peng
83bed68375 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-08-26 14:43:55 +08:00
Jin Cheng
079d4e1546 fix(bt): update ESP32 libbtdm_app.a to fix several issues
- fixed IntegerDividedByZero during Qos negotiation.
  Closes https://github.com/espressif/esp-idf/issues/18951
- ignored the check for bandwidth and retransmission effort when Host
  accepts the SCO connection request.
2026-08-26 08:53:04 +08:00
Jan Beran
aa81a64417 fix(kconfig): use 'n' instead of '0'/'false' for bool defaults
Bool symbols in nimble, BTDM, and two examples used invalid default
literals. The parser already falls back to 'n'; set that explicitly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 09:43:39 +02:00