Commit Graph

216 Commits

Author SHA1 Message Date
wangjialiang
411abfd70f ble_mesh: stack: Fix crash for net_key_del when subnet is NULL 2021-06-21 14:57:17 +08:00
wangjialiang
84dd05439d ble_mesh: stack: Make unprovisioned beacon interval configurable.
Closes https://github.com/espressif/esp-idf/issues/6722
2021-06-21 14:55:10 +08:00
wangjialiang
35bbd1ba26 ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth Mesh Provisioning Leads to MITM 2021-06-17 17:21:01 +08:00
wangjialiang
78676e7a02 ble_mesh: stack: Add check the value of Provisioning Random & Confirmation sent and received by provisioner 2021-06-16 21:28:10 +08:00
lly
9590db4cb6 ble_mesh: stack: Move bt_mesh_rand to mesh_common.c 2021-06-10 09:52:26 +08:00
lly
b2bcbd5559 ble_mesh: stack: Remove useless BT_DBG_ENABLED in a few files 2021-06-10 09:52:09 +08:00
lly
94ca8b8917 ble_mesh: Replace zephyr integer types with C99 types [Zephyr] 2021-06-10 09:51:52 +08:00
lly
85ec75b970 ble_mesh: stack: Update ARRAY_SIZE definition 2021-06-10 09:50:27 +08:00
Jiang Jiang Jian
61a1e0d5c9 Merge branch 'bugfix/generate_value_0_when_prov_auth_v3.3' into 'release/v3.3'
ble_mesh: stack: Fix provisioning input or output count number should be at least 1 (v3.3)

See merge request espressif/esp-idf!13483
2021-05-08 12:53:48 +00:00
wangjialiang
f24f7ab97b ble_mesh: stack: Fix provisioning input or output count number should be at least 1
Closes https://github.com/espressif/esp-idf/issues/6863
2021-05-08 13:19:03 +08:00
wangjialiang
e5f496149e ble_mesh: stack: Fix endianness error in output or input oob data of number
Closes https://github.com/espressif/esp-idf/issues/6862
2021-05-07 17:03:00 +08:00
Jiang Jiang Jian
65b494567b Merge branch 'bugfix/ble_mesh_server_model_deinit_v3.3' into 'release/v3.3'
ble_mesh: stack: Fix deinit server models with no matching id (v3.3)

See merge request espressif/esp-idf!12317
2021-04-22 05:53:25 +00:00
lly
19a578c2e0 ble_mesh: stack: Fix deinit server models with no matching id 2021-02-07 11:20:44 +08:00
lly
98e17de350 ble_mesh: stack: Provisioner supports multiple nvs namespaces
Now Provisioner can use different NVS namespaces to store
different instances of mesh information, for example, for
different user accounts.
2021-02-04 07:16:35 +00:00
Jiang Jiang Jian
cd59d107b2 Merge branch 'bugfix/ble_mesh_node_id_adv_v3.3' into 'release/v3.3'
ble_mesh: stack: Fix Node ID adv with wrong timeout (v3.3)

See merge request espressif/esp-idf!11880
2021-01-11 11:46:41 +08:00
lly
e9caf68d6e ble_mesh: stack: Provisioner supports receiving heartbeat 2021-01-08 09:35:03 +08:00
lly
6c6ad3f772 ble_mesh: stack: Fix Node ID adv with wrong timeout 2021-01-05 20:16:42 +08:00
lly
bff66d7653 ble_mesh: stack: Need uuid when adding device for provisioning 2020-12-11 20:10:57 +08:00
Island
2c6eb0bd74 Merge branch 'optimize/ble_mesh_gattc_conn_param_v3.3' into 'release/v3.3'
ble_mesh: stack: Update connection parameters used by Central (v3.3)

See merge request espressif/esp-idf!11285
2020-11-19 11:23:21 +08:00
lly
1a36790014 ble_mesh: stack: Update connection interval to 15ms 2020-11-18 20:25:26 +08:00
lly
a9ac3e87db ble_mesh: stack: Update connection parameters used by Central 2020-11-18 20:25:14 +08:00
lly
d2a99ec816 ble_mesh: stack: Fix wrong declaration of node bind AppKey func 2020-11-18 20:16:25 +08:00
lly
42bdf7ecc2 ble_mesh: stack: Add node local netkey/appkey func 2020-11-18 20:16:06 +08:00
lly
2c66a82434 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-11-17 11:40:31 +08:00
lly
d9ffe54991 ble_mesh: stack: Add Kconfig options to make server models optional 2020-11-17 11:33:10 +08:00
lly
c90def0992 ble_mesh: stack: Use Kconfig option to make client models optional 2020-11-17 11:30:15 +08:00
lly
4c7a021acd ble_mesh: stack: Make some internal static functions inline 2020-11-17 11:29:28 +08:00
lly
09ac1b596d ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-11-17 11:19:49 +08:00
lly
bc4ebea32c ble_mesh: stack: Introduce a new header file mesh_config.h 2020-11-17 11:18:14 +08:00
lly
330f39ee23 ble_mesh: test: Fix node test function not update role flag 2020-11-09 02:42:36 +00:00
andreachiara
b097435596 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 11:32:52 +08:00
lly
23a21f92be ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-13 09:30:16 +00:00
lly
aa329b08ce ble_mesh: stack: Move device property to model common part 2020-10-13 09:30:16 +00:00
lly
18cc96d188 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-13 14:32:51 +08:00
lly
3e61d519c1 ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-13 14:32:36 +08:00
lly
542b6bdbc1 ble_mesh: stack: Persistent storage misc fixes
* Fix the issue that deinit node with "erase_flash"
  set to true, but info is not erased from nvs
* Reuse bt_mesh_cfg_reset() when deinit node
* Optimize Provisioner related erase operations
* No store pending timeout will be used when Node
  is not provisioned OR Provisioner is disabled
  and erase operation is performed
* Change the default timeout for settings operation
  to 0, and rpl store rate to 0
2020-10-13 10:55:58 +08:00
lly
b4c3c87c75 ble_mesh: stack: Use settings_core_erase when deinit 2020-10-12 10:02:05 +08:00
lly
3940ab80a3 ble_mesh: stack: Fix storing next net_idx and app_idx 2020-10-12 10:02:05 +08:00
lly
d7c2d66d55 ble_mesh: stack: Continue restore even if failure happens
Previously we have used this solution for node info
restore. Here use the same solution for other mesh
information restore.
2020-10-12 10:02:05 +08:00
lly
4fc62b7983 ble_mesh: stack: Split model settings store and clear 2020-10-12 10:02:05 +08:00
lly
de15e502a7 ble_mesh: stack: Erase netkey and appkey with key index 2020-10-12 10:02:05 +08:00
lly
d51431fff5 ble_mesh: stack: Add clear hb_pub in settings 2020-10-12 10:02:05 +08:00
lly
d4651bbb30 ble_mesh: stack: Transport rx reset settings update
When reset the rx info of transport layer, the
rpl list will always cleared, and rpl stored
in the nvs will only be erased when erase flag
is true and BLE_MESH_SETTINGS is enabled.
Compared with the previous solution, it should
be more clear.
2020-10-12 10:02:05 +08:00
lly
e202225bd1 ble_mesh: stack: Use erase settings functions 2020-10-12 10:02:05 +08:00
lly
1a3515ab76 ble_mesh: stack: Use mutex for settings operation
Also expose the settings functions with the parameter
bt_mesh_nvs_handle_t, which will be used for further
updates.
2020-10-12 10:02:05 +08:00
lly
a662d14a4e ble_mesh: stack: Add role check before enabling device 2020-10-12 10:02:05 +08:00
lly
4dcbe2bd7a ble_mesh: stack: Define a type for mesh nvs handle 2020-10-12 10:01:47 +08:00
lly
81354cf24f ble_mesh: stack: Optimize Provisioner delete device function
Since we have provided separate functions for deleting node
information with node's unicast address, device uuid, etc.
So we update the behavior of this function, which will only
be used to delete device information which is not provisioned
or just under provisioning.
2020-09-25 14:04:58 +08:00
lly
1f32a8d95e ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-17 11:28:02 +08:00
lly
34f30a878e ble_mesh: stack: Using the latest iv_index for provisioning
Provisioner should always uses the latest IV Index for provisioning.
For example, if the current IV Index is 0x00000001, but prov->iv_index
is still initialized with 0x00000000, and if Provisioner uses prov->
iv_index for provisioning, this will cause the Provisioner failing to
control the node.
So here bt_mesh.iv_index is used instead of prov->iv_index.
2020-09-11 07:58:20 +00:00