Commit Graph

6039 Commits

Author SHA1 Message Date
Rahul Tank
70f451fab7 fix(nimble): deliver PAwR peripheral connection events
Route legacy PAwR peripheral completion events through the active periodic
    sync callback and accept the controller-established link without normal
    advertising state.
2026-08-06 18:53:18 +05:30
Rahul Tank
fd7dacb9bc fix(nimble): Remove extra free to avoid double free 2026-08-06 15:16:02 +05:30
Island
2720caabb1 Merge branch 'idf/ble_audio_fixes' into 'master'
fix(ble_audio): Miscellaneous fixes for ISO & LE Audio (stage 2)

See merge request espressif/esp-idf!51158
2026-08-05 10:47:55 +08:00
Rahul Tank
b5ced8374f Merge branch 'bugfix/add_nimble_cve' into 'master'
fix(nimble): Fixes for various NimBLE CVEs

See merge request espressif/esp-idf!51159
2026-08-04 12:13:47 +05:30
Liu Linyan
af9ae1c0aa fix(ble_audio): Miscellaneous fixes for ISO & LE Audio (stage 2) 2026-08-04 14:07:10 +08:00
Rahul Tank
e64735cbf6 fix(nimble): Fixes for various NimBLE CVEs 2026-08-03 16:47:17 +05:30
luoxu
ed1f4de3a3 fix(ble_mesh): align GATTS read/write response handling with ATT
bt_mesh_bta_gatts_cb did not always answer ATT Read/Write Requests:
- READ: on a callback error it only logged a warning and sent nothing; a
  0-byte read (Read Blob at an offset equal to the value length) also sent
  nothing, although it is a successful empty read.
- WRITE: on a callback error it sent nothing, and a partial/zero write was
  treated as success.
- Both: when the handle was not found or the attribute had no read/write
  callback, the request was silently dropped.

An ATT Request must always be answered:

- READ: len >= 0 is success -> Read Response (a 0-byte read yields an empty
  value); len < 0 -> ATT Error Response carrying the callback's error code
  (-len, since BLE_MESH_GATT_ERR(x) == -x). The copy length is clamped to
  the source buffer size as a defensive bound. If the handle is unknown or
  the attribute has no read callback, respond with INVALID_HANDLE /
  READ_NOT_PERMITTED.
- WRITE: when need_rsp is set, always reply. len == write length -> Write
  Response; otherwise (negative ATT error, partial write, or 0) -> ATT
  Error Response (the negative code, or UNLIKELY for partial/0). If the
  handle is unknown or the attribute has no write callback, respond with
  INVALID_HANDLE / WRITE_NOT_PERMITTED. Write Without Response still sends
  no response.

A non-success status passed to BTA_GATTS_SendRsp is turned into an ATT
Error Response by the GATT layer (gatt_sr_process_app_rsp ->
gatt_send_error_rsp).
2026-08-03 11:13:28 +08:00
Island
5371ee669b Merge branch 'feat/support_pawr_connect_evt' into 'master'
feat(ble/bluedroid): Support PAWR connection event

See merge request espressif/esp-idf!50612
2026-08-03 10:16:58 +08:00
Wang Meng Yang
c929644423 Merge branch 'bugfix/bredr_controller_issues_from_deep_review' into 'master'
fix(bt): Fixed memory-safety and DoS defects in BR/EDR controller on ESP32-S31

Closes BTQABR2023-853 and BTQABR2023-852

See merge request espressif/esp-idf!51299
2026-08-02 13:41:52 +08:00
Island
262ab40a5b Merge branch 'fix/fix_some_ble_sleep_issues' into 'master'
Fix/fix some ble sleep issues

Closes BLERP-3003

See merge request espressif/esp-idf!51304
2026-07-31 11:09:49 +08:00
zhiweijian
68dff5d798 fix(ble/bluedroid): Build LE event mask from host feature macros 2026-07-30 21:00:37 +08:00
zhiweijian
7da7fa42ac feat(ble/bluedroid): Support PAWR connection event 2026-07-30 21:00:26 +08:00
Rahul Tank
f992ff36f6 Merge branch 'bugfix/fix_pawr_conn_event' into 'master'
fix(nimble):  Deliver PAwR peripheral CONNECT via sync callback

Closes BLERP-2982

See merge request espressif/esp-idf!51042
2026-07-30 17:37:12 +05:30
cjin
0cd6259a9b fix(bt): fix deselect slow clk missing on ESP32-C5 2026-07-30 10:37:04 +08:00
cjin
287b7c72cd fix: fix on bt slow clk src unable to reset on esp32-h4 and esp32-s31 2026-07-29 15:36:03 +08:00
Wang Mengyang
4bbeb887fa fix(bt): Fixed memory-safety and DoS defects in BR/EDR controller on ESP32-S31
- remmediate deep-review memory-saftey and DoS defects
- fix duplicated report of HCI mode change event
- fix conflicts in handling sniff subrate request when ACL link enters active mode
2026-07-29 15:35:29 +08:00
Wang Meng Yang
744464271d Merge branch 'feat/bt_in_psram' into 'master'
feat(bluedroid): Add config to place btu and hci task stack in psram

Closes BT-4136

See merge request espressif/esp-idf!51002
2026-07-29 14:49:19 +08:00
Jiang Jiang Jian
139d968de0 Merge branch 'bugfix/sco_pkt_type_err' into 'master'
fix(bt/bluedroid): fixed incorrect eSCO packet type validation in secure connection mode

Closes BTQABR2023-849

See merge request espressif/esp-idf!51251
2026-07-29 14:41:23 +08:00
Rahul Tank
d485466018 fix(nimble): Deliver PAwR peripheral CONNECT via sync callback 2026-07-29 11:09:14 +05:30
Rahul Tank
a526754325 Merge branch 'feat/sbom_changes' into 'master'
fix(nimble): update sbom file with cve details

See merge request espressif/esp-idf!51152
2026-07-29 10:49:08 +05:30
Wang Meng Yang
82b28b2641 Merge branch 'fix/aireview_critical' into 'master'
fix: Fix some critical bugs in classic bt

See merge request espressif/esp-idf!50312
2026-07-29 11:41:36 +08:00
Wang Meng Yang
5dbd27f32b Merge branch 'bugfix/bredr_multiple_fix_on_esp32s31' into 'master'
fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31

Closes BTQABR2023-829, BTQABR2023-836, BTQABR2023-837, BTQABR2023-840, BTQABR2023-687, and BTQABR2023-697

See merge request espressif/esp-idf!51249
2026-07-29 10:39:10 +08:00
Rahul Tank
f6fcd6470c fix(nimble): update sbom file with cve details 2026-07-28 21:25:14 +05:30
Wang Meng Yang
d348f43f56 Merge branch 'bugfix/a2dp_api_init_check' into 'master'
fix(bt): Fix compatibility with A2DP API legacy usage methods

Closes IDFGH-17892

See merge request espressif/esp-idf!50611
2026-07-28 19:35:28 +08:00
Wang Mengyang
aeab6dcfbe fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31
Fixed bug when BR/EDR ACL-U dynamic Tx buffer is enabled
Fixed infinite loop during connection set-up
Optimized the scheduling of SCO/eSCO and sniff events
2026-07-28 18:04:31 +08:00
Jin Cheng
c274987a7a fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-28 15:21:29 +08:00
Rahul Tank
e08609e451 fix(nimble): Migrate to NimBLE 1.9.0 2026-07-27 14:14:35 +05:30
Island
eaa88e26dc Merge branch 'idf/ble_audio_log_compress_misc' into 'master'
feat(ble_audio): Add specific libs for BLE Audio log compression

See merge request espressif/esp-idf!51107
2026-07-27 16:19:44 +08:00
Island
f930f9fe10 Merge branch 'fix/ble_log_compression_issue_on_windows' into 'master'
fix(bt): fix BLE log compression build on Windows

See merge request espressif/esp-idf!51156
2026-07-27 14:10:27 +08:00
Island
abae27441b Merge branch 'feat/update_mesh_lib_to_supported_get_lib_ver' into 'master'
Feat/update mesh lib to supported get lib ver

See merge request espressif/esp-idf!51155
2026-07-27 14:10:23 +08:00
Island
b5b836be66 Merge branch 'feat/add_bt_common_npl' into 'master'
feat(bt): Add host-agnostic BT OSAL and shared BLE profile task

See merge request espressif/esp-idf!50797
2026-07-27 14:03:28 +08:00
Liu Linyan
822d65f9be feat(ble_audio): Add specific libs for BLE Audio log compression 2026-07-27 11:26:25 +08:00
morris
281d61f131 Merge branch 'refactor/ll_functions_update' into 'master'
refactor(uhci): rename set_eof_mode to enable_eof_modes with bool en param

See merge request espressif/esp-idf!51144
2026-07-27 11:02:28 +08:00
Island
2961219b35 Merge branch 'idf/ble_audio_psram' into 'master'
feat(ble_audio): BLE Audio PSRAM support

See merge request espressif/esp-idf!51098
2026-07-27 10:31:09 +08:00
chenjianhua
0407893834 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
2026-07-26 13:24:53 +08:00
Shreeyash Bhakare
c368c13d55 fix(nimble): Added security related fixes 2026-07-25 08:54:16 +05:30
Liu Linyan
8fb0fc6065 feat(ble_audio): BLE Audio PSRAM support 2026-07-25 09:01:08 +08:00
luoxu
cd30e70214 feat(ble_mesh): update lib to 79e3fee04e 2026-07-24 20:53:01 +08:00
Astha Verma
b360477e77 fix(nimble): Restore throughput after switching from LE Coded PHY 2026-07-24 16:36:44 +05:30
luoxu
56f78da32c feat(ble_mesh): supported get lib version 2026-07-24 17:10:22 +08:00
Wang Meng Yang
0185451ed1 Merge branch 'fix/bluedroid_aireview' into 'master'
Fix/bluedroid aireview

See merge request espressif/esp-idf!49972
2026-07-24 16:58:20 +08:00
Rahul Tank
d78d57c394 Merge branch 'bugfix/red_rem_feat_evt' into 'master'
Handle Read Remote Supported Feature failure

See merge request espressif/esp-idf!50243
2026-07-24 14:24:18 +05:30
morris
2a9d1ee20e refactor(uhci): rename set_eof_mode to enable_eof_modes with bool en param
Rename uhci_ll_rx_set_eof_mode → uhci_ll_rx_enable_eof_modes and its
parameter eof_mode → eof_modes to reflect that multiple EOF modes can
be enabled simultaneously via bitmask. Add bool en parameter so callers
can enable or disable without an outer if-check.
2026-07-24 16:21:09 +08:00
hejiaxin
54cd579d3b fix(bt_stack): Fix some critical bugs in classic_bt stack
related: obex, smp, pbap, sdp, rfcomm, stack_dm

- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch
2026-07-23 15:46:38 +08:00
hejiaxin
b6b97b8e58 feat(bluedroid): Add config to place btu and hci task stack in psram
- Also adjust the osi_thread_stop implementation.
2026-07-23 14:40:37 +08:00
Island
9211373354 Merge branch 'idf/ble_audio_pts' into 'master'
feat(ble_audio): Miscellaneous update for verifying with PTS cases

See merge request espressif/esp-idf!50156
2026-07-23 11:14:35 +08:00
hejiaxin
1553b0ce67 fix(bt): Fix some bug in stm_sco.c
- Memory safety
- State machine & logic integrity
- Resource leaks
- Edge cases check
2026-07-23 10:56:32 +08:00
Wang Meng Yang
a151bc553a Merge branch 'bugfix/low_spp_throughput' into 'master'
change(bt/bluedroid): increased port low watermark of RFCOMM

Closes BTQABR2023-815

See merge request espressif/esp-idf!51031
2026-07-23 10:50:57 +08:00
Wang Meng Yang
e61ef3e4a4 Merge branch 'change/refactor_hidh_datapath' into 'master'
Change/refactor hidh datapath

Closes IDFGH-17363

See merge request espressif/esp-idf!49615
2026-07-23 10:47:19 +08:00
Liu Linyan
4362a3116f feat(ble_audio): Miscellaneous update for verifying with PTS cases 2026-07-22 20:38:57 +08:00