sm support storing bonding information for devices with identical IRK but different public addresses

This commit is contained in:
Matthias Ringwald 2021-10-08 09:38:39 +02:00
parent 2325f63e69
commit 11d10bda60
2 changed files with 4 additions and 1 deletions

View File

@ -30,6 +30,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- HFP AG: fix accept incoming connection while audio connection is established
- PBAP Client: handle chunked vCard Listing
- SM: Work around for unexpected Windows 10 disconnect for BR Secure Connections (SMP over BR timeout)
- SM: support storing bonding information for devices with identical IRK but different public addresses
- GAP: restart advertising when private address changes
### Changed

View File

@ -1428,7 +1428,9 @@ static void sm_store_bonding_information(sm_connection_t * sm_conn){
le_device_db_info(i, &address_type, address, irk);
// skip unused entries
if (address_type == BD_ADDR_TYPE_UNKNOWN) continue;
// compare IRK
// compare Identity Address
if (memcmp(address, setup->sm_peer_address, 6) != 0) continue;
// compare Identity Resolving Key
if (memcmp(irk, setup->sm_peer_irk, 16) != 0) continue;
log_info("sm: device found for IRK, updating");