mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-06-06 05:14:45 +00:00
fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user