Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host privacy implementation #13560

Merged

Conversation

pan-
Copy link
Member

@pan- pan- commented Sep 7, 2020

Summary of changes

Refactoring of Privacy so it works with controller supporting LL private address resolution and LL private address generation. If not supported by the controller, generation is handled by the host.

The core of this change is the new PrivateAddressController class which handles private addresses generation, resolving list management and address resolution.

It replaces the PAL previously splitted between the SecurityManager and the Gap PAL.

State:

  • Host private address generation
  • Host private address resolution
  • Controller address generation
  • Private address when advertising
  • Private address when scanning
  • Private address when initiating
  • Address resolution of advertising and scan report
  • Address resolution of connection request

Preceding PR: #13475

Impact of changes

Migration actions required

Documentation


Pull request type

[] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[x] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Reviewers


@mergify
Copy link

mergify bot commented Sep 9, 2020

This PR cannot be merged due to conflicts. Please rebase to resolve them.

@pan- pan- force-pushed the host-privacy-implementation branch from 97d0906 to 8c798fd Compare September 9, 2020 15:10
This PAL interface is responsible for generating, resolving private address and maintaining the controller or host resolving list.
It also indicates to upper level if LL resolution is supported or not and allows them to enable it.
It controls private address generation and host or controller address resolution.
Resolution list has been removed from the pal as this is handled by the PrivateAddressController.
A race condition was present if a single event was present in the event queue and the event was generating a new event.
@pan- pan- force-pushed the host-privacy-implementation branch from 8c798fd to 9e7385a Compare September 9, 2020 15:20
@pan- pan- changed the base branch from master to feature-ble-host-privacy September 9, 2020 15:30
@pan- pan- changed the base branch from feature-ble-host-privacy to master September 9, 2020 15:34
@pan- pan- changed the base branch from master to feature-ble-host-privacy September 9, 2020 15:34
@pan-
Copy link
Member Author

pan- commented Sep 9, 2020

This is a feature branch and it will moved, we're merging this work now and provide remaining features in next PRs.

@pan- pan- merged commit a8e3694 into ARMmbed:feature-ble-host-privacy Sep 9, 2020
@pan-
Copy link
Member Author

pan- commented Sep 9, 2020

Review of this work was here: https://github.com/pan-/mbed/pull/8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants