[bt][gap] Distribute local identity information during pairing
LowEnergyConnectionManager now responds to local identity information requests during the feature exchange and key distribution phases of SMP pairing. Bug: BT-243 #done Test: 1. Run bt-pairing-tool, bt-le-battery-peripheral, and bt-le-peripheral -c -n <NAME> on Fuchsia. This will put Fuchsia into LE peripheral mode with one GATT service that requires security. 2. Connect to Fuchsia from iOS using the nRF Connect app. This should trigger LE pairing. Respond to the authentication challenge using bt-pairing-tool (local passkey entry on ToT). The battery service characteristic should be readable and notifiable without any errors. 3. Pipe the output of bt-snoop-cli to Wireshark and confirm that: a. Fuchsia configured advertising using a random address. b. Local IRK and identity address were distributed over SMP. Check that the IRK matches what has been persisted in the stash. Check that the identity address matches the address of the active adapter (confirm via bt-cli). 4. Reboot Fuchsia, repeat step #1. Connect again using nRF Connect. The battery service should be accessible without additional pairing errors. 5. Check the snoop logs to confirm that Fuchsia used a different RPA when advertising. Change-Id: Ibb78b2de3049f9f351215ed4d878acfcca5569df
Showing
- src/connectivity/bluetooth/core/bt-host/gap/adapter.cc 10 additions, 10 deletionssrc/connectivity/bluetooth/core/bt-host/gap/adapter.cc
- src/connectivity/bluetooth/core/bt-host/gap/low_energy_address_manager.h 3 additions, 4 deletions...y/bluetooth/core/bt-host/gap/low_energy_address_manager.h
- src/connectivity/bluetooth/core/bt-host/gap/low_energy_address_manager_unittest.cc 6 additions, 0 deletions...h/core/bt-host/gap/low_energy_address_manager_unittest.cc
- src/connectivity/bluetooth/core/bt-host/gap/low_energy_connection_manager.cc 17 additions, 4 deletions...uetooth/core/bt-host/gap/low_energy_connection_manager.cc
- src/connectivity/bluetooth/core/bt-host/gap/low_energy_connection_manager.h 21 additions, 0 deletions...luetooth/core/bt-host/gap/low_energy_connection_manager.h
- src/connectivity/bluetooth/core/bt-host/gap/low_energy_connection_manager_unittest.cc 4 additions, 2 deletions...ore/bt-host/gap/low_energy_connection_manager_unittest.cc
- src/connectivity/bluetooth/core/bt-host/hci/fake_local_address_delegate.h 2 additions, 0 deletions.../bluetooth/core/bt-host/hci/fake_local_address_delegate.h
- src/connectivity/bluetooth/core/bt-host/hci/local_address_delegate.h 9 additions, 0 deletions...ivity/bluetooth/core/bt-host/hci/local_address_delegate.h
Loading
Please register or sign in to comment