Commit Graph

87 Commits (7e2acee49a35d1744efe03aa3ab5c17493b51a22)

Author SHA1 Message Date
Paul Szczeanek e71f452e9d fix missing return 2020-11-23 09:06:42 +00:00
Paul Szczeanek 63887d19a8 update the peer address when LTK has been found in old entry 2020-11-23 09:06:30 +00:00
Paul Szczeanek 187ed98d82 update the connected status of db entry 2020-11-23 09:06:05 +00:00
Paul Szczeanek 6f844e1a71 fix indexing in ble security db 2020-11-23 09:02:56 +00:00
Hugues Kamba bf84a5b329 CMake: Rename CMake targets
* mbed-os renamed mbed-core
* mbed-os-<COMPONENT> renamed mbed-<COMPONENT>
2020-11-06 17:25:22 +00:00
Hugues Kamba 0ddc75a8f6 CMake: Fix BLE private address linker error
List newly added files in CMake input source files.
2020-11-06 17:25:22 +00:00
Hugues Kamba fa98689639 CMake: Componentize Mbed OS into multiple CMake targets (#13732)
Aside from the core mbed-os CMake target, a number of targets have been created so they can optionally be included by application executables that require them using `target_link_libraries()`.

Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: Rajkumar Kanagaraj <rajkumar.kanagaraj@arm.com>
2020-11-06 17:25:21 +00:00
Hugues Kamba e22b19d6db CMake: Fix build failure due to BLE dir changes 2020-11-06 17:25:21 +00:00
Martin Kojtal c29a2e2338
Merge pull request #13811 from pan-/ble-conditional-compilation
Ble conditional compilation
2020-11-06 16:11:10 +00:00
Paul Szczeanek 34c75ffb45 fix wrong advertising set handle being passed to handler 2020-10-28 08:42:58 +00:00
Paul Szczeanek 9e509f435b fix incorrect parameter check in periodic advertising 2020-10-27 15:09:30 +00:00
Vincent Coubard 87ea47f211 BLE: Refactor Gap::reset to make it more readable 2020-10-27 14:22:54 +00:00
Vincent Coubard 557eac0617 BLE: Conditional compilation of the security manager
Depends on the role (central or peripheral), signing enabled and secure connection enabled.
2020-10-23 16:19:38 +01:00
Vincent Coubard 2e859cdab4 BLE: Conditionally compile PAL depending on the feature selected.
Previously (most) of the code was not pulled in because the pal interface was not virtual.
2020-10-23 12:17:31 +01:00
Paul Szczeanek 934e111107 fix advertising report not terminating early for unwanted reports 2020-10-19 15:47:40 +01:00
Paul Szczeanek 2c906110fc missing host resolution for rpa when extended advertising is available 2020-10-19 15:47:39 +01:00
Paul Szczeanek 0931709516 replace current bool state combination for keeping track of ble scanning with an enum that covers all states 2020-10-19 15:47:39 +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 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 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 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 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 5cb05958a9 BLE: Add function to get the device random static 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 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