Commit Graph
577 Commits
Author SHA1 Message Date
Jiang Jiang Jian 309b3e82ec Merge branch 'fix/ble_mesh_disable_adv_pkt_discard_log' into 'master'
fix(ble_mesh): Disable warning logging when advertising packets are discarded

Closes BLERP-2945

See merge request espressif/esp-idf!50146
2026-07-06 15:13:06 +08:00
luoxu 9a3a767824 fix(ble_mesh): re-check scan dev-found cb before scan-rsp invocation 2026-07-03 17:21:14 +08:00
luoxu 781d6b2314 fix(ble_mesh): comment out logs containing sensitive keys 2026-07-03 16:57:15 +08:00
luoxu eb47e8ab18 fix(ble_mesh): Disable warning logging when advertising packets are discarded 2026-07-03 15:43:01 +08:00
luoxu 912ec8dc62 fix(ble_mesh): validate PB-ADV start segment length 2026-07-03 12:14:21 +08:00
luoxu 2c4acaa2aa fix(ble_mesh): Reset reassembly buffer at start of each transaction
The reassembly buffer must be reset to its origin at the beginning of every
transaction. prov_msg_recv() pulls the PDU type byte (advancing buf->data by
one) and nothing restores it between transactions. Without this reset,
buf->data drifts forward by one byte per received PDU, causing the segment-0
memcpy to write past the end of the statically allocated rx buffer
(PROV_RX_BUF_SIZE), and the XACT_SEG_DATA() offsets used for continuation
segments to be skewed by the accumulated drift.
2026-07-03 12:14:21 +08:00
luoxu 43137475e1 fix(ble_mesh): fix DFD client message parsing and encoding bugs
Fix multiple wire-format and robustness issues in the DFD client
(dfd_cli.c):

- handle_capabilities: read oob_retrieval_supported as u8 instead of
  le32. The server encodes a single byte; le32 over-consumed 3 bytes
  of the URL scheme list and could over-read the buffer.
- handle_upload_status: extract upload_progress from bits 0-6 (& 0x7F)
  and upload_type from bit 7 (>> 7), matching the server encoding
  (progress | BIT(7)). The previous >>1 / &0x01 returned wrong values,
  mis-classified in-band vs OOB, and falsely rejected valid OOB
  messages with high progress.
- handle_dfd_status: correct the transfer-mode byte layout to
  trans_mode bits 0-1, update_policy bit 2, RFU bits 3-7 (previously
  read bits 6-7 / 5), and fix the RFU mask to 0xF8. Now matches the
  struct bitfield definition and the DFD server.
- handle_dfd_status: report status+phase and return early when
  buf->len == 0 (IDLE phase) instead of pulling 10 absent bytes.
- bt_mesh_dfd_cli_distribution_start: encode trans_mode/update_policy
  into bits 0-2 so the server decodes them correctly.
- handle_receiver_list: validate buf->len >= entries_cnt * 5 before
  the loop, and handle entries_cnt == 0 without relying on calloc(0).
- handle_receiver_status: pass the status value (not the whole union)
  to the %d log format, fixing undefined behavior.
- dfd_client_recv_status: drop the dead BLE_MESH_DFD_OP_CAPABILITIES_GET
  case (a client-send opcode) from the receive switch.
- bt_mesh_dfd_cli_receivers_add: widen msg_length to uint32_t to avoid
  uint16_t overflow that bypassed the PDU size guard; add a NULL check
  for the receivers array.
- bt_mesh_dfd_cli_distribution_upload_oob_start: return -EINVAL
  instead of -1 for consistency with the rest of the file.
2026-07-03 12:14:21 +08:00
luoxu 781218cb62 fix(ble_mesh): added max dfd srv count limit 2026-07-03 12:14:21 +08:00
luoxu 35cd10fbdf fix(ble_mesh): reject invalid chunk size 2026-07-03 12:14:21 +08:00
luoxu 52cfff707f fix(ble_mesh): fixed invalid disconnect handler wrote 2026-07-03 12:14:21 +08:00
luoxu 1b22467f63 fix(ble_mesh): fixed BLE-Mesh NimBLE extended-adv reassembly buffer overflow on COMPLETE fragment 2026-07-03 12:14:21 +08:00
luoxu 00adfb3cbc fix(ble_mesh): fixed BLE-Mesh GATTS read-callback error 2026-07-03 12:14:21 +08:00
luoxu 6b8ddc66f8 fix(ble_mesh): Miscellaneous bugfixes according to our internal bug report (v2) 2026-06-04 16:45:36 +08:00
Luo Xu 0f00ef0e6b Merge branch 'feat/supported_esp32h21_for_ble_mesh' into 'master'
Feat/supported esp32h21 for ble mesh

Closes BLERP-2799 and IDF-11654

See merge request espressif/esp-idf!48683
2026-06-02 11:19:30 +08:00
luoxu 4fd8b08261 feat(ble_mesh): supported esp32h21 for ble mesh 2026-06-01 18:07:59 +08:00
zhiweijian 678fb93245 fix(bt): fix BTC task and BLE mesh bluedroid adapter 2026-05-29 10:15:15 +08:00
luoxu 313832de54 feat(ble_mesh): use SOC_ESP_NIMBLE_CONTROLLER instead of IDF_TARGET enumeration in Kconfig 2026-04-29 14:58:03 +08:00
luoxu 104e5c3d51 feat(ble_mesh): supported esp32s31 for ble mesh lib 2026-04-29 14:58:03 +08:00
luoxu f98082d596 feat(ble_mesh): supported esp32h4 for esp ble mesh lib 2026-04-29 14:58:03 +08:00
ShenWeilong 21e83d7eaf change(bt): Separated bt/CMakeLists to nimble/bluedroid/mesh/audio CMakeLists 2026-04-24 15:16:39 +08:00
luoxu 1f4c6ee31b fix(ble_mesh): fix Friend queue losing segmented messages for LPN 2026-04-23 16:06:01 +08:00
luoxu 17868a5f5c fix(ble/bluedroid): Change BLE mesh adapter to use BTA APIs 2026-03-19 20:59:28 +08:00
Island 596827eafd Merge branch 'feat/use_common_config_to_sel_crypt_lib' into 'master'
Feat/use common config to sel crypt lib

See merge request espressif/esp-idf!45556
2026-03-09 14:16:31 +08:00
Linyan Liu 9863c009d9 fix(ble_mesh): Revert some change updated in the commit 0e0fab2ea7 2026-02-27 15:58:07 +08:00
luoxu f084edd4d4 fix(ble_mesh): fixed configuration of core nums 2026-02-27 15:58:00 +08:00
luoxu 2af193dac4 fix(ble_mesh):fixed nimble connection failed 2026-02-09 18:00:03 +08:00
luoxu 4e006884f8 remove(ble_mesh): deprecate the tinycrypt library within the Bluetooth Mesh component 2026-02-04 00:07:33 +08:00
ShenWeilong aa40fdcc64 change(bt): use BT_SMP_CRYPTO_STACK_MBEDTLS to select bt cryption lib 2026-02-04 00:07:33 +08:00
Liu Linyan 0e0fab2ea7 fix(ble_mesh): Miscellaneous bugfixes according to our internal bug report 2026-02-03 10:59:04 +08:00
luoxu 7c4b104f61 feat(ble_mesh): update log compression for ble mesh lib 2026-01-12 14:51:26 +08:00
luoxu bc2d56b72a feat(ble_mesh): ignored the previous server status to avoid drop target by mistake 2026-01-07 20:17:42 +08:00
luoxu e039b33bb1 feat(ble_mesh): refuse to suspend dfu client when the last chunk sent 2026-01-07 20:17:42 +08:00
luoxu 8c8b43f564 fix(ble_mesh): added internal buffer to store dfu targets
The protocol may still receive DFU-related packets from the
network (such as forwarded or retransmitted ones) after DFU ends,
while the user might release the targets immediately after DFU completion.
However, since the list head is not empty, the protocol could access
already-freed memory when iterating through the targets.
2026-01-07 20:17:42 +08:00
luoxu f959884b2f fix(ble_mesh): fix blob transfer failure handling and chunk processing
- Fix DFU server transfer error state ordering to ensure proper callback delivery
- Add validation to discard chunks when blob server is not in busy state
- Prevent chunk processing when server is not in active transfer state
2026-01-07 20:17:42 +08:00
luoxu 3a8851422f fix(ble_mesh): ensure blob client/server work correctly with varying chunk sizes 2026-01-07 20:17:42 +08:00
luoxu c3faf5559a fix(ble_mesh): Miscellaneous fixes for blob 2026-01-07 20:17:42 +08:00
luoxu 90146a4513 feat(ble_mesh): update lib commit to d48251ab82 2026-01-06 14:45:17 +08:00
luoxu 866a07e954 feat(ble_mesh): fixed issues where the incorrect node oob private setting 2026-01-06 14:45:17 +08:00
luoxu 951856eb5c feat(ble_mesh): supported using little endian crypto components 2026-01-06 14:45:17 +08:00
luoxu 07834d2f74 feat(ble_mesh): unified ble mesh crypto 2026-01-06 14:45:17 +08:00
Ashish Sharma f22006e2f0 feat: migrates bt/ble to PSA APIs 2025-12-30 09:31:49 +05:30
luoxu a232b7c7af feat(ble_mesh): adapt blob cli&srv to long packet 2025-12-29 15:26:01 +08:00
luoxu b9d834edc7 fix(ble_mesh): eliminate deprecated warning for mbt 2025-12-26 16:09:29 +08:00
Island 34fcf5aa35 Merge branch 'fix/ble_mesh_proxy_cli_coexists_with_adv' into 'master'
fix(ble_mesh): Fix start callback timing when GATT and ADV bearers coexist

Closes BLERP-2463 and BLERP-2464

See merge request espressif/esp-idf!44331
2025-12-19 14:39:24 +08:00
luoxu 1c4f6045cf feat(ble_mesh): fix issues with advtypes 2025-12-18 16:42:56 +08:00
luoxu b63a0c2b78 feat(ble_mesh): update ble mesh multi connections config 2025-12-18 16:42:56 +08:00
luoxu 48a84e8299 fix(ble_mesh): Fix start callback timing when GATT and ADV bearers coexist
Add BLE_MESH_SEND_START_CB macro to ensure start callback is called
exactly once when both GATT and ADV bearers are used.
2025-12-18 16:40:28 +08:00
luoxu a301dc1eac feat(ble_mesh): dfd client/server supported 2025-12-18 15:24:50 +08:00
Island b31cf36a0f Merge branch 'fix/ble_mesh_nimble_gap_event' into 'master'
fix(ble_mesh): fix memory issue in nimble gap event forwarding

Closes BLERP-2443

See merge request espressif/esp-idf!44165
2025-12-15 14:59:51 +08:00
luoxu aeab65c1a7 fix(ble_mesh): fix memory issue in nimble gap event forwarding 2025-12-11 19:54:06 +08:00