mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/generate_value_0_when_prov_auth_v4.1' into 'release/v4.1'
ble_mesh: stack: Fix provisioning input or output count number should be at least 1 (v4.1) See merge request espressif/esp-idf!13481
This commit is contained in:
commit
6eb2b46592
@ -751,7 +751,18 @@ static int prov_auth(uint8_t method, uint8_t action, uint8_t size)
|
|||||||
uint32_t num = 0U;
|
uint32_t num = 0U;
|
||||||
|
|
||||||
bt_mesh_rand(&num, sizeof(num));
|
bt_mesh_rand(&num, sizeof(num));
|
||||||
num %= div[size - 1];
|
|
||||||
|
if (output == BLE_MESH_BLINK ||
|
||||||
|
output == BLE_MESH_BEEP ||
|
||||||
|
output == BLE_MESH_VIBRATE) {
|
||||||
|
/** NOTE: According to the Bluetooth Mesh Profile Specification
|
||||||
|
* Section 5.4.2.4, blink, beep and vibrate should be a random
|
||||||
|
* integer between 0 and 10^size.
|
||||||
|
*/
|
||||||
|
num = (num % (div[size - 1] - 1)) + 1;
|
||||||
|
} else {
|
||||||
|
num %= div[size - 1];
|
||||||
|
}
|
||||||
|
|
||||||
sys_put_be32(num, &link.auth[12]);
|
sys_put_be32(num, &link.auth[12]);
|
||||||
(void)memset(link.auth, 0, 12);
|
(void)memset(link.auth, 0, 12);
|
||||||
|
@ -1954,7 +1954,17 @@ static int prov_auth(const uint8_t idx, uint8_t method, uint8_t action, uint8_t
|
|||||||
uint32_t num = 0U;
|
uint32_t num = 0U;
|
||||||
|
|
||||||
bt_mesh_rand(&num, sizeof(num));
|
bt_mesh_rand(&num, sizeof(num));
|
||||||
num %= div[size - 1];
|
|
||||||
|
if (input == BLE_MESH_PUSH ||
|
||||||
|
input == BLE_MESH_TWIST) {
|
||||||
|
/** NOTE: According to the Bluetooth Mesh Profile Specification
|
||||||
|
* Section 5.4.2.4, push and twist should be a random integer
|
||||||
|
* between 0 and 10^size.
|
||||||
|
*/
|
||||||
|
num = (num % (div[size - 1] - 1)) + 1;
|
||||||
|
} else {
|
||||||
|
num %= div[size - 1];
|
||||||
|
}
|
||||||
|
|
||||||
sys_put_be32(num, &link[idx].auth[12]);
|
sys_put_be32(num, &link[idx].auth[12]);
|
||||||
memset(link[idx].auth, 0, 12);
|
memset(link[idx].auth, 0, 12);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user