Commit Graph

31406 Commits (a1259ecf22fb390c2493cfbb376b538bb0a0ccee)

Author SHA1 Message Date
Paul Szczeanek ec2808be31 filter based on resolving list size 2020-10-05 11:54:04 +01:00
Paul Szczeanek 457268825d add nrf override for host resolution 2020-10-05 11:54:04 +01:00
Paul Szczeanek 03cc0f9940 host privacy config option to enable it 2020-10-05 11:54:04 +01:00
Vincent Coubard 76f89f6f89 BLE: Factorize peripheral privacy applied when connected 2020-10-05 11:54:04 +01:00
Vincent Coubard e4b317c1b1 BLE: Add workaround for cordio use of global random address
In Cordio, the global random address is used when the local device is connected instead of the advertising set one.
This can cause pairing to fail if the advertising set address and the global random address are different.
This workaround forces the global random address to be set when advertising is started and extended advertising is present.
2020-10-05 11:54:04 +01:00
Vincent Coubard 8fe2d7ebbe BLE: Report connection internally when address resolution has completed. 2020-10-05 11:54:03 +01:00
Vincent Coubard 8716298ea2 BLE: Update DB entry if current entry doesn't match requested EDIV and RAND 2020-10-05 11:54:03 +01:00
Vincent Coubard 4c1afe8e83 BLE: Update identity address when retrieved from the DB 2020-10-05 11:54:03 +01:00
Vincent Coubard 7c8a754667 BLE: Remove set advertising timeout from SM pal 2020-10-05 11:54:03 +01:00
Vincent Coubard 02667389db BLE: Fix insertion to host resolving list. 2020-10-05 11:54:03 +01:00
Vincent Coubard 3a632a3685 BLE: Check if the resolving list item is populated instead of IRK validity 2020-10-05 11:54:03 +01:00
Vincent Coubard 1daee237e9 BLE: Queue address resolution in event queue to avoid synchronous execution
Otherwise when no IRK are available, the process will execute synchronously, calling the callback before the return of the function.
2020-10-05 11:54:03 +01:00
Vincent Coubard dee20fe5a7 BLE: Check if extended advertising is available to clear advertising set upon connection 2020-10-05 11:54:03 +01:00
Paul Szczeanek f126793f20 Add host reolustion for advertising and connections 2020-10-05 11:53:59 +01:00
Paul Szczeanek 593c1776b4 add EventList class for storing pending events 2020-10-05 11:53:23 +01:00
Paul Szczeanek 44b2e73ef1 Add setters to events 2020-10-05 11:53:23 +01:00
Paul Szczeanek df17942c2c remove unused enhanced conn complete 2020-10-05 11:53:23 +01:00
Paul Szczeanek 0a3cd69fc6 event handler should not affect internal state 2020-10-05 11:53:22 +01:00
Paul Szczeanek 685af00fd5 split resolve addres into cache and not cache 2020-10-05 11:53:22 +01:00
Vincent Coubard 4859dbe426 BLE: Set identity address to random static.
This also ensure the random static address used by gap is the correct one.
2020-10-05 11:53:22 +01:00
Vincent Coubard 0b98682109 BLE: Add function to set the identity address used by the controller/platform.
The function to get it has been removed as this operation is driven by the security manager.
2020-10-05 11:53:22 +01:00
Vincent Coubard 5cb05958a9 BLE: Add function to get the device random static address. 2020-10-05 11:53:22 +01:00
Vincent Coubard f897729d5c Cordio: Add API to set the local identity address. 2020-10-05 11:53:22 +01:00
Vincent Coubard 9eac36879a BLE: improve scan state bookkeeping 2020-10-05 11:53:22 +01:00
Vincent Coubard 9df7fc9b7e BLE: Fix state update when event handler not present 2020-10-05 11:53:22 +01:00
Vincent Coubard 48f4cfbe04 BLE: return stack busy instead of invalid state when applicable
enabling/disabling scanning and advertising operations can be prevented if the previous operations hasn't completed.
Return that the stack is busy and cannot fulfill the request at the moment rather than the state is invalid.
2020-10-05 11:53:22 +01:00
Vincent Coubard 3c22f8ae1d BLE: privacy tracing cleanup 2020-10-05 11:53:22 +01:00
Vincent Coubard 19d89366d7 BLE: Private address when initiating connection 2020-10-05 11:53:22 +01:00
Vincent Coubard c39d03a531 BLE: Implement private address rotation for initiating. 2020-10-05 11:53:22 +01:00
Vincent Coubard 4685322f4e BLE: Add routine that computes the random address to use depending on the procedure. 2020-10-05 11:53:21 +01:00
Vincent Coubard 559640cbd5 BLE: check LL resolution availability before enabling it. 2020-10-05 11:53:21 +01:00
Vincent Coubard e5128689aa BLE: Fix random static address storage 2020-10-05 11:53:21 +01:00
Vincent Coubard 924f8b1dc9 BLE: Update state when scan started/stopped callback received. 2020-10-05 11:53:21 +01:00
Vincent Coubard d8c6820cbd BLE: Add callback for scan started and stoped. 2020-10-05 11:53:21 +01:00
Vincent Coubard b8549ec91d BLE: rename address resolution handler. 2020-10-05 11:53:21 +01:00
Vincent Coubard 4b853956d9 BLE: Add resolvable and non resolvable private address rotation with advertising 2020-10-05 11:53:15 +01:00
Vincent Coubard f810ec4c2a BLE: Add initiating flag into gap to track if the local device tries to connect to a peer. 2020-10-05 11:50:34 +01:00
Vincent Coubard 13771b8172 BLE: Remove address resolution from GAP pal 2020-10-05 11:50:34 +01:00
Vincent Coubard 7e16ee448e BLE: Bind address controller with Gap 2020-10-05 11:50:33 +01:00
Vincent Coubard 313676a089 BLE: Add gap handlers to be informed when advertising as started or been stopped 2020-10-05 11:50:33 +01:00
Vincent Coubard 23f7a187fb BLE: Pal event queue pop before execution.
A race condition was present if a single event was present in the event queue and the event was generating a new event.
2020-10-05 11:50:33 +01:00
Vincent Coubard 237278be24 BLE: Update security manager to use the PrivateAddressController
Resolution list has been removed from the pal as this is handled by the PrivateAddressController.
2020-10-05 11:50:33 +01:00
Vincent Coubard 44681ee982 BLE: Add PrivateAddressController module.
It controls private address generation and host or controller address resolution.
2020-10-05 11:50:33 +01:00
Vincent Coubard 7dacae73b2 BLE: Add cordio implementation of PalPrivateAddressController 2020-10-05 11:50:33 +01:00
Vincent Coubard f1dbc893f3 BLE: Introduce PalPrivateAddressController
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.
2020-10-05 11:50:33 +01:00
Vincent Coubard 742356158f BLE: Add resolvable_address_timeout_t datatype. 2020-10-05 11:50:33 +01:00
Vincent Coubard bc860db7c5 ble: Add privacy mode to the pal 2020-10-05 11:50:32 +01:00
Vincent Coubard f7dfc5c9f2 BLE: Update ble::Duration to support default values 2020-10-05 11:50:32 +01:00
Mika Leppänen 4bf2c3a964 Mesh interface global up is indicated always on bootstrap
This indicates e.g. to client that IP address has changed or connection
to network has been established.
2020-10-05 12:59:44 +03:00
Paul Szczeanek 97f10a11cc fix missed member initialisation 2020-10-02 17:23:10 +01:00