fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32

This commit is contained in:
Abhinav Kudnar
2024-02-27 17:17:00 +05:30
parent c9ec20dabe
commit c100086bde
3 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -5899,7 +5899,7 @@ ble_gap_connect(uint8_t own_addr_type, const ble_addr_t *peer_addr,
struct ble_hs_resolv_entry *rl = NULL;
rl = ble_hs_resolv_list_find(bhc_peer_addr.val);
if (rl != NULL) {
if (rl != NULL && rl->rl_isrpa) {
memcpy(bhc_peer_addr.val, rl->rl_peer_rpa, BLE_DEV_ADDR_LEN);
bhc_peer_addr.type = rl->rl_addr_type;
}
+3
View File
@@ -671,6 +671,9 @@ ble_hs_hci_evt_le_adv_rpt(uint8_t subevent, const void *data, unsigned int len)
rl = ble_hs_resolv_rpa_addr(desc.addr.val, desc.addr.type);
if (rl != NULL) {
if(desc.addr.type == 1) {
rl->rl_isrpa = 1;
}
memcpy(desc.addr.val, rl->rl_identity_addr, BLE_DEV_ADDR_LEN);
desc.addr.type = rl->rl_addr_type;
}
+1
View File
@@ -35,6 +35,7 @@ struct ble_hs_resolv_entry {
uint8_t rl_pseudo_id[BLE_DEV_ADDR_LEN];
uint8_t rl_local_rpa[BLE_DEV_ADDR_LEN];
uint8_t rl_peer_rpa[BLE_DEV_ADDR_LEN];
uint8_t rl_isrpa;
};
#if MYNEWT_VAL(BLE_STORE_CONFIG_PERSIST)