Bluetooth: Use unresolvable private address for active scanning

When running active scanning during LE discovery, do not reveal the own
identity to the peer devices. In case LE privacy has been enabled, then
a resolvable private address is used. If the LE privacy option is off,
then use an unresolvable private address.

The public address or static random address is never used in active
scanning anymore. This ensures that scan request are send using a
random address.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
Marcel Holtmann
2014-02-23 20:25:54 -08:00
committed by Johan Hedberg
parent ac345813c4
commit 94b1fc92cd
4 changed files with 29 additions and 5 deletions

View File

@@ -563,7 +563,10 @@ static int hci_create_le_conn(struct hci_conn *conn)
memset(&cp, 0, sizeof(cp));
err = hci_update_random_address(&req, &own_addr_type);
/* Update random address, but set require_privacy to false so
* that we never connect with an unresolvable address.
*/
err = hci_update_random_address(&req, false, &own_addr_type);
if (err < 0)
return err;