Bluetooth: Always use RPA for connection if privacy is enabled

We should always use RPA for outgoing connection if privacy is enabled.
Otherwise privacy might be compromised if connecting to devices that
don't support pairing.

Change-Id: Ib12a5d9dfdc9285b5ff721f0fdb8f824ff1a8f0f
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This commit is contained in:
Szymon Janc 2016-04-21 16:21:03 +02:00 committed by Johan Hedberg
commit 828fe15bbe

View file

@ -849,14 +849,10 @@ static void check_pending_conn(const bt_addr_le_t *id_addr,
}
#if defined(CONFIG_BLUETOOTH_PRIVACY)
if (bt_addr_le_is_bonded(id_addr)) {
if (bt_smp_create_rpa(bt_dev.irk, &conn->le.init_addr.a)) {
return;
}
conn->le.init_addr.type = BT_ADDR_LE_RANDOM;
} else {
bt_addr_le_copy(&conn->le.init_addr, &bt_dev.id_addr);
if (bt_smp_create_rpa(bt_dev.irk, &conn->le.init_addr.a)) {
return;
}
conn->le.init_addr.type = BT_ADDR_LE_RANDOM;
#else
bt_addr_le_copy(&conn->le.init_addr, &bt_dev.id_addr);
#endif /* CONFIG_BLUETOOTH_PRIVACY */