[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
8 files changed
tree: 38f3f853f09a94297b31fe25524d7111f1fda321
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.