Commit Graph

142 Commits (61d88dd617cd30c67c43a51f36a3510b401a043f)

Author SHA1 Message Date
Martin Kojtal 61aa6817f0
Merge pull request #13724 from harmut01/license_refactor
Add license notice to Arm copyrighted source files
2020-10-16 09:09:53 +01:00
Martin Kojtal 75f3b6cb1c
Merge pull request #13717 from ARMmbed/feature-ble-host-privacy
Feature ble host privacy
2020-10-15 15:07:54 +01:00
Harrison Mutai 4fad1112e5 Add SPDX license identifier to Arm files
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
2020-10-15 10:47:27 +01:00
Vincent Coubard 5f1b716bfb
Merge pull request #13760 from paul-szczepanek-arm/privacy-fix-ifdef
Fix conditional compilation for ble
2020-10-14 13:35:16 +01:00
Paul Szczeanek 119d459361 fix removed friend function 2020-10-14 09:58:11 +01:00
Paul Szczeanek 9f09bb4956 rename private address controller to match security manager 2020-10-13 17:40:37 +01:00
Paul Szczeanek 3f9798b52d Fix conditional compilation based on config 2020-10-13 17:32:49 +01:00
Vincent Coubard 2a4a097a93 BLE: Take advantage of controller based address resolution on WB55 2020-10-13 16:16:48 +01:00
Vincent Coubard e1842ccd87 BLE: Workaround for WB55 connection event
The connection event reported by the WB55 is incorrect if controller privacy is not enable and the peer connects with an unknown private resolvable address: The RPA field contains the connection address (it should be empty) and the peer address is all FF while it should be equal to the connection address.
2020-10-13 16:16:17 +01:00
Martin Kojtal 83579b1aa5
Merge pull request #13704 from paul-szczepanek-arm/reset-fix
ble: reset transport last and reset the default chars in gatt server
2020-10-13 11:21:21 +01:00
Martin Kojtal 35f97f4e98
Merge pull request #13729 from AGlass0fMilk/implicit-cccd
BLE: Enable getting an implicitly-created CCCD through `GattCharacteristic::getDescriptor`
2020-10-13 11:18:40 +01:00
Johnny Robeson e27571fb83 This fixes lto type mismatch warnings in 3 functions
```sh
[Warning] pal_rtc.h@76,6: type of 'PalRtcCompareSet' does not match original declaration [-Wlto-type-mismatch]
[Warning] pal_rtc.h@73,6: type of 'PalRtcEnableCompareIrq' does not match original declaration [-Wlto-type-mismatch]
[Warning] pal_rtc.h@74,6: type of 'PalRtcDisableCompareIrq' does not match original declaration [-Wlto-type-mismatch]
```
2020-10-12 07:02:18 -04:00
George Beckstein f9af08c0ad Add error if allocation of cccd attribute fails 2020-10-09 09:47:05 -04:00
George Beckstein fa2c3633dd Add doxygen guard to private function 2020-10-07 13:32:17 -04:00
George Beckstein eccb3e9bda Make setImplicitCCCD private and add impl::GattServer as a friend class 2020-10-07 13:31:09 -04:00
George Beckstein ca9b70582c Remove nullptr check when deleting _implicit_cccd 2020-10-07 13:12:08 -04:00
George Beckstein 5c82533d06 Enabled getting an implicitly-created CCCD through GattCharacteristic::getDescriptor 2020-10-06 19:26:32 -04:00
Vincent Coubard f32141a051 BLE: Notify application when advertising start or stop
Applicable for legacy and extended advertising.
2020-10-05 11:54:05 +01:00
Paul Szczeanek 6ee5740941 use _initiating to block scan manipulation 2020-10-05 11:54:05 +01:00
Paul Szczeanek f0bbc4c7ae use enum for state 2020-10-05 11:54:05 +01:00
Paul Szczeanek b0086919ed scan forever and allow cancellation 2020-10-05 11:54:05 +01:00
Paul Szczeanek 18c218b027 allow host resolved address to be used for connection 2020-10-05 11:54:04 +01:00
Vincent Coubard 4744c87b6c Set privacy mode to device mode in LL.
Do not enable address resolution when a new entry is added.
2020-10-05 11:54:04 +01:00
Vincent Coubard bb35cba134 BLE: Add function to signal privacy initialization. 2020-10-05 11:54:04 +01:00
Paul Szczeanek 5216a9aa8c only apply policy if privacy enabled 2020-10-05 11:54:04 +01:00
Paul Szczeanek d4360383e1 do not reject conn if no bond 2020-10-05 11:54:04 +01:00
Paul Szczeanek b67230cbdb apply peripheral policy on ll privacy 2020-10-05 11:54:04 +01:00
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