Vincent Coubard
e5d91932fd
BLE: Revert address type changes.
...
The changes made to BLEProtocol::AddressType was not entirelly backward compatible as BLEProtocol::AddressType split random addresses in three category while the type RANDOM is a superset of these types.
2018-05-17 10:26:04 +01:00
paul-szczepanek-arm
b845a9dc95
fixed doxygen
2018-05-16 17:24:17 +01:00
paul-szczepanek-arm
57a02d6329
fixed signature
2018-05-16 16:54:47 +01:00
Vincent Coubard
37c036ca6b
Nordic: Port privacy to softdevice v4.
...
Many things have changed; the identity list isn't shared anymore with the whitelist and resolution is handled by the stack itself.
2018-05-16 16:16:06 +01:00
Vincent Coubard
6c44a78166
Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev
2018-05-16 15:55:15 +01:00
Donatien Garnier
ad09ba0dcc
Fix handling of security escalation in on_connection_complete()
2018-05-16 13:54:25 +01:00
Donatien Garnier
3f7a7a4213
Merge
2018-05-16 12:44:36 +01:00
Donatien Garnier
7ef7ef553c
Fix is_random_xxx_address() functions in GenericGap that I had broken :)
2018-05-16 12:04:04 +01:00
Donatien Garnier
1fdb57e82c
Removed set_privacy() API and added is_privacy_supported() check to PAL + Generic GAP
2018-05-16 12:02:21 +01:00
paul-szczepanek-arm
1ae13bc80f
don't reset db on security manager reset as the docs require
2018-05-16 11:46:36 +01:00
paul-szczepanek-arm
bcca75973e
reseting the security db
2018-05-16 11:23:17 +01:00
paul-szczepanek-arm
c2bbc94b44
handle init of an already initialised security db
2018-05-16 11:01:37 +01:00
Vincent Coubard
afcbdfc7dc
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into filedb
2018-05-16 08:43:52 +01:00
Donatien Garnier
288c3952d8
Address Paul's comments
2018-05-15 18:37:50 +01:00
paul-szczepanek-arm
5c598688e4
templates for reading and writing to avoid repetition
2018-05-15 16:35:54 +01:00
Vincent Coubard
2cb6e659a9
Nordic BLE: Backport security fixes from nRF5 to nRF5x
2018-05-15 15:11:33 +01:00
Vincent Coubard
ca5a9f359a
Nordic BLE: remove unecessary nordic ble libraries.
2018-05-15 14:51:19 +01:00
Vincent Coubard
a22b4e5d5e
Nordic BLE: Remove nordic gap init.
...
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard
dd6a5350e2
Nordic BLE: Remove peer manager handling.
2018-05-15 14:51:18 +01:00
Vincent Coubard
6f24078507
Nordic BLE: route event handling correctly.
2018-05-15 14:51:18 +01:00
Vincent Coubard
167a660ac1
Nordic BLE: use pal security manager.
2018-05-15 14:51:18 +01:00
Vincent Coubard
31f8cd18f7
Nordic BLE: Backport Gap from nRF5
2018-05-15 14:51:18 +01:00
Vincent Coubard
39396955a2
Nordic BLE: simplify whitelist management.
2018-05-15 14:51:17 +01:00
Vincent Coubard
6810c02606
Nordic BLE: Fix processing of events.
...
If new events are signaled during processing then they should be processed when processEvent is called again. The goal is to let other processing happen and not process sollely ble events.
2018-05-15 14:51:17 +01:00
Vincent Coubard
8fbecf2e0d
Nordic BLE: Fix incorrect assignement
2018-05-15 14:51:17 +01:00
Vincent Coubard
68b3288ba8
Nordic BLE: Fix signature of nRF5xGattServer::hwCallback
2018-05-15 14:51:17 +01:00
Vincent Coubard
4a7c9a9a55
Nordic BLE: expose publically btle_handler
2018-05-15 14:51:17 +01:00
Vincent Coubard
2af5508c4c
Nordic BLE: Do not conditionnaly assign sm key pointers.
...
This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation.
2018-05-15 14:51:17 +01:00
Vincent Coubard
dc54da0a2d
Nordic BLE: Force signing and link requirements to false.
2018-05-15 14:51:16 +01:00
Vincent Coubard
02e3c13d25
Nordic BLE: Protect event signaled flag.
2018-05-15 14:51:16 +01:00
Vincent Coubard
f7f1272647
Nordic: Backport security manager pal for NRF5X targets.
2018-05-15 14:51:15 +01:00
Vincent Coubard
4acb3937e4
Cordio BLE: Fix potential memory leak in GattServer.
2018-05-15 14:32:29 +01:00
Vincent Coubard
ee720f30bb
BLE: Comment security requirement elevation for signed writes.
2018-05-15 12:17:59 +01:00
Vincent Coubard
2c7ed993ec
BLE: Fix security requirements in GattCharacteristic.
2018-05-15 12:17:34 +01:00
Vincent Coubard
2860365a3c
BLE: Improve readibility of condition.
2018-05-15 12:16:51 +01:00
paul-szczepanek-arm
49db7e2a2a
restoring db file blanks file if set to not restore, allow reusing the db
2018-05-15 11:46:39 +01:00
paul-szczepanek-arm
f8244a3d87
review comments, init partly moved to restore, restore setting enabled, null check on filepath
2018-05-15 10:24:59 +01:00
Donatien Garnier
6c6af1b0d5
Added missing masks and fixed bit ordering in is_random_xx_address() functions
2018-05-14 13:59:32 +01:00
Donatien Garnier
d8b63fc03d
Reordered initializers in GenericGap
2018-05-14 13:53:50 +01:00
Donatien Garnier
67ec6323fc
Added update_random_address() implementation in GenericGap
2018-05-14 13:52:29 +01:00
Donatien Garnier
3523cdb264
Missing initializer in GenericGap
2018-05-14 13:37:37 +01:00
Donatien Garnier
472d3de849
Give GenericGap access to the Security Manager's PAL
2018-05-14 13:36:02 +01:00
Donatien Garnier
a3d9d6cebd
Business logic for handling non-resolvable private addresses
2018-05-14 13:26:39 +01:00
Bartek Szatkowski
38df9306d7
Update wsf_types.h to support updated CMSIS
2018-05-14 12:18:21 +01:00
paul-szczepanek-arm
579cb5e222
avoid setting flags twice
2018-05-14 10:26:44 +01:00
paul-szczepanek-arm
f4f3a3c697
store ltk and csrk but not irk sent status
...
and missing asserts
2018-05-14 09:52:49 +01:00
paul-szczepanek-arm
a7f8d54761
more doxygen
2018-05-13 23:54:44 +01:00
paul-szczepanek-arm
d3524e2407
doxygen
2018-05-13 23:49:44 +01:00
paul-szczepanek-arm
8f90875cd6
reset entry now remove old keys
2018-05-13 23:49:27 +01:00
paul-szczepanek-arm
23c6a69d66
key dist flags only in db now and not in control block of sec manager
2018-05-13 23:26:34 +01:00
Donatien Garnier
69e35c49c8
Handle resolution policy for peripheral in GenericGap
2018-05-13 23:25:52 +01:00
paul-szczepanek-arm
ab117737fa
write back counter, sync entry by hand;e
2018-05-13 22:55:47 +01:00
Donatien Garnier
21471bb3c9
and make sure it compiles and that policy is only applied if privacy is enabled :)
2018-05-13 22:42:11 +01:00
Donatien Garnier
926efa4018
Filter out advertising reports for unresolved addresses if required
2018-05-13 22:37:59 +01:00
Donatien Garnier
6a2ffaeac0
Update own address type generation in GenericGap
2018-05-13 22:16:08 +01:00
Donatien Garnier
620ebc3f9a
Some fixes in GenericGap
2018-05-13 20:38:29 +01:00
Donatien Garnier
2509a88d58
Revert set_privacy() in Cordio GAP PAL impl
2018-05-13 20:37:14 +01:00
Donatien Garnier
1a623e6670
Added method to enable/disable privacy in GAP Pal with Cordio impl
2018-05-13 19:15:20 +01:00
Donatien Garnier
4c5e2a8094
Added method to update resolution settings in GenericGap
2018-05-13 19:14:56 +01:00
Donatien Garnier
cf03d40909
Doc fix in PalGap.h
2018-05-13 18:54:11 +01:00
Donatien Garnier
5734fca195
Added set_address_resolution method in GAP Pal with Cordio implementation
2018-05-13 18:53:23 +01:00
Donatien Garnier
7b4a813aca
Added stubs in GenericGap for privacy configuration methods
2018-05-13 18:52:54 +01:00
Donatien Garnier
e9ad148db0
Added privacy-related methods overrides in GenericGap
2018-05-13 17:57:27 +01:00
Donatien Garnier
33c46f5658
Remove LL resolving 'shorcut' when adding a device to resolving list - this should be controlled by the GAP layer
2018-05-13 17:49:00 +01:00
Cruz Monrreal
2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
...
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
paul-szczepanek-arm
3af4d0b50f
get identity list function argument needs to have its own memory allocated
2018-05-11 19:52:12 +01:00
paul-szczepanek-arm
a63f38e767
moved logic to security db and left storage in memory and file dbs
...
db created at init now
2018-05-11 19:41:33 +01:00
Donatien Garnier
40b6813dcf
Fix wrong use of DmLlPrivEnabled()
2018-05-11 18:52:27 +01:00
Donatien Garnier
71bd30daf3
More inline doc
2018-05-11 18:37:02 +01:00
Donatien Garnier
bcfbeb7f1a
Some doc adjustments
2018-05-11 18:23:37 +01:00
Donatien Garnier
3ca3c2db2c
Initial implementation of the Security Manager's Privacy feature for Cordio
2018-05-11 18:20:39 +01:00
paul-szczepanek-arm
678d494c5a
init _db pointer
2018-05-11 10:20:04 +01:00
paul-szczepanek-arm
afa4bdcf1a
pull common logic into secure db
2018-05-11 10:19:48 +01:00
Vincent Coubard
40a403e99b
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection
2018-05-10 12:05:36 +01:00
paul-szczepanek-arm
473482d204
move securitydb into generic
2018-05-10 11:08:31 +01:00
Cruz Monrreal
c97a8fb216
Merge pull request #6817 from pan-/fix-crypto_toolbox_f4-parameter-types
...
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
2018-05-09 11:33:27 -05:00
Cruz Monrreal
e33fb60c3d
Merge pull request #6849 from scartmell-arm/bug-critical-section-nordic
...
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 11:33:10 -05:00
paul-szczepanek-arm
b95da8d8c4
remove crypto when missing ECDH
2018-05-09 12:27:43 +01:00
Paul Szczepanek
fee986750d
fix case
2018-05-09 12:19:35 +01:00
Paul Szczepanek
b4d7bb6020
fix case
2018-05-09 12:19:27 +01:00
Paul Szczepanek
37b11d8ac5
fix case
2018-05-09 12:18:55 +01:00
Paul Szczepanek
367fe345ba
fix case
2018-05-09 12:18:42 +01:00
Paul Szczepanek
79b3bc4fce
fix case
2018-05-09 12:18:26 +01:00
paul-szczepanek-arm
b98ffa48da
fix uppercase X in nrf5x
2018-05-09 12:16:26 +01:00
paul-szczepanek-arm
6a26a8a6c8
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into security-manager-dev
2018-05-09 11:37:41 +01:00
paul-szczepanek-arm
c02b318436
fixed case in filename
2018-05-09 11:37:33 +01:00
Paul Szczepanek
2b02148ab6
Merge branch 'master' into security-manager-dev
2018-05-09 11:23:28 +01:00
paul-szczepanek-arm
b8fe37a00e
disable ECDH if the platform doesn't support it
...
otherwise you get linker errors
2018-05-09 11:01:10 +01:00
Steven Cartmell
1dfea4168f
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 10:54:26 +01:00
Marcus Chang
1aebdcbee5
Reorganize TARGET_MCU_NRF51822_UNIFIED directories
...
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.
This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Paul Szczepanek
9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic
2018-05-08 18:01:41 +01:00
Paul Szczepanek
214656a9ee
fix case in #include
2018-05-08 17:56:38 +01:00
Paul Szczepanek
1a35f3e217
fixed case in name
2018-05-08 17:49:22 +01:00
Cruz Monrreal
adcd7ec002
Merge pull request #6742 from pan-/ble-update-cordio-porting-guide
...
BLE: Update cordio porting guide
2018-05-08 10:42:19 -05:00
Cruz Monrreal
5b5c8ddb4e
Merge pull request #6743 from pan-/ble-cordio-h4-conditionnal-to-fc
...
BLE: Conditional compilation of H4 driver
2018-05-08 10:41:58 -05:00
Vincent Coubard
565921608e
Cordio: Improve cordio H4 driver.
...
Ommit H4 driver definition if serial flow control is not supported.
2018-05-04 16:36:05 +01:00
Vincent Coubard
34c9206054
BLE: update cordio porting guide.
...
Improve description of the requirements of the H4 driver.
2018-05-04 16:35:57 +01:00
Vincent Coubard
3f9186faa2
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
...
The type exposed in the header file were not aligned to the one used in
the implementation: ble::public_key_t instead of ble::public_key_coord_t.
2018-05-04 12:11:34 +01:00
Vincent Coubard
fd5903c22d
GenericGattClient: Fix discovery termination.
...
The procedure should be terminated whenever the server returns an error not equal
to ATTRIBUTE_NOT_FOUND. The block was effectivelly terminated but the
procedure was not. As a result the discovery was operating on already
freed memory.
2018-05-04 11:30:58 +01:00
Vincent Coubard
b5e8d4eacb
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection
2018-05-03 09:26:36 +01:00
Vincent Coubard
0a59e00b23
Nordic BLE: Update GATT server security management
...
This patch refines permission applied to characteristic and descriptors; instead of a single level of permission , each characteristic receives a permission for the read operation, one for the write operation and another one for the update operation.
As a consequence, updates are not sent if the link does not cover the update permission requirement.
Descriptors also benefits individually from read and write permission.
2018-05-02 19:15:24 +01:00
Vincent Coubard
4f1e574eff
Cordio GattServer: Fix uses of designated initializer.
...
These are not legal in C++ code.
2018-05-02 18:14:54 +01:00
Vincent Coubard
7e043ead96
Nordic BLE: Add stub implementation of remove_peer_csrk in security manager.
2018-05-02 17:52:39 +01:00
Vincent Coubard
4e5639f5ca
BLE: Support encryption with secure connection key.
2018-05-02 17:51:48 +01:00
Donatien Garnier
ba0f18c9ab
Fix casing in MemorySecurityDb.h
2018-05-02 17:39:10 +01:00
Vincent Coubard
f79eeb0173
Cordio: Update stack and pal to support LE security mode 2 level 2.
2018-05-02 14:32:38 +01:00
Vincent Coubard
01e3a004a6
Cordio: register server authorization callback.
2018-05-01 12:29:03 +01:00
Vincent Coubard
549a513dfb
Cordio: Enable client and server signing
2018-05-01 12:28:37 +01:00
Vincent Coubard
d0c4d7a8a3
Cordio: Forward server related events to CordioGattServer
2018-05-01 12:27:49 +01:00
Vincent Coubard
0f64b1c988
CordioGattServer: Global refactoring
...
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.
Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.
Handling of user authorization is also a change introduced by this refactoring.
2018-05-01 12:26:24 +01:00
Vincent Coubard
55eb7033b2
Generic Security Manager: Set csrk to stored when the peer csrk has been received.
2018-05-01 11:54:25 +01:00
Vincent Coubard
41a3442474
Generic Security Manager: Set ltk to stored when the peer ltk has been recveived.
2018-05-01 11:54:03 +01:00
Vincent Coubard
f90eacfd27
Generic Security Manager: remove peer csrk at disconnection
2018-05-01 11:53:18 +01:00
Vincent Coubard
1ac95e105b
ble - Generic Security Manager: set signing unconditionnal to role reversal.
...
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
2018-05-01 11:50:59 +01:00
Vincent Coubard
9880db7543
Generic Security Manager: Improve formating
2018-05-01 11:48:22 +01:00
Vincent Coubard
2e3c7e8ab7
Generic Security Manager: Set LinkKey to false unconditionally.
...
This key distribution flags is for dual mode devices; mbed does not support BR/EDR.
2018-05-01 11:45:24 +01:00
Vincent Coubard
e39bb4b92c
BLE - GenericGattClient: Exploit ENCRYPTED_WITH_SC_AND_MITM encryption.
...
IF link is encrypted, authenticated or authenticated with lesc then signed write must be transformed into regular write commands.
2018-05-01 11:38:30 +01:00
Vincent Coubard
2da6fa3947
Cordio PAL security manager: Copy locally own CSRK
...
The stack does not copy csrk when DmSecSetLocalCsrk is invoked; it just retains a pointer to it. Therefore a copy is kept inside the pal.
2018-05-01 11:35:16 +01:00
Vincent Coubard
e4813f4fe9
Cordio PAL Security Manager: Copy locally own IRK.
...
The IRK needs to be stored somewhere as it is not copied inside the stack, the stack just keeps a reference to it.
2018-05-01 11:33:36 +01:00
Vincent Coubard
2924bb4c86
Cordio PAL ATT Client: initialize the local sign counter to 0.
2018-05-01 11:29:45 +01:00
Vincent Coubard
74bc214961
BLE - Security Manager PAL: Add a function to remove the peer csrk.
...
If the the upper layer has registered a peer csrk on the pal security manager then it must remove it once the connection is closed.
This API allows the upper layer to remove the peer csrk registered earlier.
2018-05-01 11:27:38 +01:00
Vincent Coubard
1e277bad50
BLE: Lookup for non identity addresses when a secure entry is opened.
...
A peer may not share a valid IRK and identity address during pairing (in that case the identity address received is all zeros). When this happens, the entry must be retrieved by looking at the address used by the peer during the connection.
2018-05-01 11:24:44 +01:00
Vincent Coubard
c4b78ada0e
BLE: Set default mac address to 00:00:00:00:00:00
...
Both mac addresses are invalid but the bluetooth specification prefers to use all 0 addresses to represent an invalid address.
2018-05-01 11:17:47 +01:00
Vincent Coubard
80941af0f6
BLE: Add : LESC authenticated encryption to the list of possible link encryption.
2018-05-01 11:16:41 +01:00
Vincent Coubard
db565d38b3
BLE: remove useless flags in GattCharacteristic.
2018-04-26 19:00:43 +01:00
Vincent Coubard
486a3e020c
BLE: Add fine grained security to GattCharacteristic.
...
This patch adds independent management of security requirement for read, write and update operatiosn of a GattCharacteristic.
Requirements are defined after ble::att_security_requirement_t that maps LE security mode 1 and LE security mode 2.
The functions requireSecurity and getRequiredSecurity are deprecated as SecurityManager::ScurityMode_t does not map well with LE security modes.
2018-04-26 18:55:42 +01:00
Vincent Coubard
1c18351885
BLE: Remove unwanted documentation block of GattCharacteristic.
2018-04-26 17:29:29 +01:00
Vincent Coubard
9258b9ddb6
BLE: Add security requement support into GattAttribute.
2018-04-26 17:26:15 +01:00
Vincent Coubard
7afd01d84d
BLE: Add type describing ATT security requirements.
2018-04-26 17:22:21 +01:00
Vincent Coubard
27d36ba820
BLE: Add missing relational operator to SafeEnum.
2018-04-26 17:07:54 +01:00
Vincent Coubard
2c8b9ab3dc
BLE: Remove example section from cordio porting guide.
...
This section is not applicable in the public version of mbed-os.
2018-04-25 12:15:28 +01:00
Vincent Coubard
6bb80317f8
BLE: Update cordio porting guide
...
Remove the section "Include prebuilt libraries" as it is not applicable
anymore.
2018-04-25 11:48:23 +01:00
Vincent Coubard
b0d5ba33bb
BLE: return an error when application tries to turn down encryption.
2018-04-20 15:49:14 +01:00
Vincent Coubard
6a90232b6b
BLE: Update cordio stack binaries.
...
The new build contains a fix related to permission verification of
characteristic that requires signed write.
2018-04-20 14:57:14 +01:00
Vincent Coubard
cbb33ea938
BLE: Add comments to GenericSecurityManager::on_identity_list_retrieved.
2018-04-20 10:22:56 +01:00
Vincent Coubard
0b92397840
BLE: Fix flag IRK stored in Memory security DB.
2018-04-20 10:22:13 +01:00
paul-szczepanek-arm
d1f3e4fd27
don't require master sends keys for signing key
2018-04-20 09:33:54 +01:00
Donatien Garnier
f9b371fc0f
Handle required BLE5 softdevice commands
2018-04-19 09:40:41 -07:00
Donatien Garnier
aeab2ecbbf
Fix potential race condition in nRF5xn.cpp
2018-04-19 09:40:41 -07:00
Marcus Chang
97426d63e9
NRF52 BLE: Fix GCC C++11 include error
...
Change <memory> include to <new>
From: d001fb1c66
2018-04-19 09:40:41 -07:00
Donatien Garnier
64baf717e8
Upgrade NRF52 BLE API to version 5
...
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
* Disabled SWI1 interrupt manually from SWI driver module
* Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
* RAM settings for the application were adjusted as follow:
* Start: 0x20003800
* Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
* RAM settings for the application were adjusted as follow:
* Start: 0x20003700 (was 0x20003000)
* Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Paul Szczepanek
a99a4b8593
Merge pull request #33 from pan-/fix-cordio-addresses-type
...
BLE: Handle new addresses type in GenericGap.
2018-04-18 11:34:13 +01:00
Vincent Coubard
169e579de7
BLE: Handle new addresses type in GenericGap.
2018-04-17 17:05:41 +01:00
paul-szczepanek-arm
f56f57bf15
reorder enum to add new values at the end
2018-04-17 16:25:35 +01:00
Vincent Coubard
951a6be4c8
BLE: retrieve and fill resolving list at GenericSecurityManager startup.
2018-04-17 15:58:21 +01:00
Vincent Coubard
ede3d43743
BLE: Add function to querry the list of identity addresses present in the SecureDB.
2018-04-17 15:57:30 +01:00
Vincent Coubard
77b1903634
BLE: Add bonded device to resolving list at the end of bonding.
2018-04-17 14:16:35 +01:00
Vincent Coubard
ae8d5b4de1
BLE: Implement identity retrieval in secure DB.
2018-04-17 14:15:28 +01:00
Vincent Coubard
f905d2a4d4
BLE: Improve DB entry lookup.
...
The DB entry lookup now looks at the identity address and/or connection address to find a DB entry associated to an address.
If the entry has not been found in the DB and a new entry is returned then the connection address is not stored for private addresses.
2018-04-17 14:14:53 +01:00
Vincent Coubard
a3bb18d724
BLE: store identity address type in DB.
2018-04-17 14:11:05 +01:00
Vincent Coubard
06e0aa3440
BLE: flag that irk has been stored in the security entry.
2018-04-17 14:10:19 +01:00
Vincent Coubard
6fc74fbc44
BLE: Fix MemorySecurityDB constructor warning.
2018-04-17 14:09:00 +01:00
Vincent Coubard
15fa3bfd37
BLE: Add a function to retrieve a device identity.
2018-04-17 14:08:01 +01:00
Vincent Coubard
e8041510a6
BLE: Add a flag that indicate if the identity address is public or not.
2018-04-17 14:07:19 +01:00
Vincent Coubard
ab6821aab8
BLE: Add a flag indicating if irk is stored in the distribution flags.
2018-04-17 14:06:47 +01:00
Vincent Coubard
9643b57159
BLE: Remove flag SecurityDistributionFlags_t::local_address_is_public
...
This flag was not used and not useful.
2018-04-17 14:06:00 +01:00
Vincent Coubard
dfbf383614
BLE: Fix const correctness of ::Gap::getRandomAddressType
2018-04-17 14:03:57 +01:00
Vincent Coubard
51e1c76b4a
BLE: Set default mac address to all 00.
2018-04-17 14:03:20 +01:00
Vincent Coubard
b3c871c960
BLE: Implement privacy on Nordic targets.
2018-04-16 18:18:05 +01:00
Vincent Coubard
2a9d80c5f0
BLE: Change nRF5xSecurityManager::resolve_address signature
...
Return the resolving list entry instead of accepting in parameters.
2018-04-16 18:18:04 +01:00
Vincent Coubard
a18283d897
BLE: change nRF5xSecurityManager::get_resolving_list return
...
It now returns a resolving list entry.
2018-04-16 18:18:04 +01:00
Vincent Coubard
fb680db621
BLE: Implement resolving list in Nordic PAL security manager
2018-04-16 18:18:04 +01:00
Vincent Coubard
365f3d2527
BLE: Add ah in Nordic CryptoToolbox.
2018-04-16 18:18:04 +01:00
Vincent Coubard
a7f2384e10
BLE: Add default privacy configuration
2018-04-16 18:18:04 +01:00
paul-szczepanek-arm
9a9167602d
moved init code into non-const for clarity
2018-04-16 15:58:03 +01:00
paul-szczepanek-arm
12899b1e09
fix const induced recursive call
2018-04-16 15:34:15 +01:00
paul-szczepanek-arm
6b67a6d0a6
missing deref after signature change
2018-04-16 15:06:37 +01:00
Paul Szczepanek
d8f5100822
Merge pull request #30 from pan-/sm-privacy
...
BLE: Add Gap privacy interfaces.
2018-04-12 14:59:27 +01:00
Vincent Coubard
90c85955ad
BLE: Fix GAP privacy related signatures.
2018-04-12 11:04:44 +01:00
Vincent Coubard
2811e00868
BLE: Fix Gap privacy related documentation
2018-04-12 10:37:13 +01:00
Paul Szczepanek
9be8837f77
Merge pull request #29 from paul-szczepanek-arm/no-sign-when-encrypted
...
check encryption before signing
2018-04-11 15:51:02 +01:00
Vincent Coubard
8643fd55ed
BLE: Add stub for signing API in Nordic pal security manager.
2018-04-11 14:22:51 +01:00
Vincent Coubard
1f02913a2c
BLE: Add Gap privacy interfaces.
...
This commit adds API to enable and configure the device privacy.
It deprecates address random types present in Gap::AddressType as these types are not appropriate for scan reports, connection initiation and the connection event. Now user should use the function Gap::getRandomAddressType to find the type of a random address.
The function gap::setAddress is deprecated as it is not portable and can colide with privacy.
2018-04-11 14:18:42 +01:00
paul-szczepanek-arm
1e6455da0b
check encryption before signing
2018-04-11 13:37:04 +01:00
paul-szczepanek-arm
3aaedf6f48
fixed missed function rename
2018-04-11 12:34:57 +01:00
Paul Szczepanek
6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
...
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm
1ba920a338
missing init
2018-04-10 16:47:29 +01:00
paul-szczepanek-arm
70067105d6
class in header
2018-04-10 16:42:43 +01:00
paul-szczepanek-arm
a2484b63b0
Signing event monitor proxy to bind both server and client
2018-04-10 14:58:29 +01:00
paul-szczepanek-arm
4fff20583d
sign counter kept track by the class using it
2018-04-09 17:49:54 +01:00
paul-szczepanek-arm
deeb0ea7e0
redundant store for sign counter
2018-04-09 15:11:26 +01:00
paul-szczepanek-arm
637dcb9bc8
missing *
2018-04-09 15:10:25 +01:00
paul-szczepanek-arm
55d3423a5e
typedef uint32_t
2018-04-09 13:35:17 +01:00
paul-szczepanek-arm
be912ded5b
normalised the getters const insanity
2018-04-09 12:14:52 +01:00
Vincent Coubard
f53a0e4906
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic
2018-04-09 09:09:01 +01:00
paul-szczepanek-arm
57149b69e4
monitor for signing events and set local counter
2018-04-04 19:24:00 +01:00
paul-szczepanek-arm
1d74dfa1f9
redundant funcs removed
2018-04-04 18:02:16 +01:00
Vincent Coubard
dcff810457
BLE: replace byte_array_t::buffer with byte_array_t::data
2018-04-04 17:20:08 +01:00
paul-szczepanek-arm
acfc5b218d
set cordio csrk and counter
2018-04-04 17:16:34 +01:00
paul-szczepanek-arm
2e1c5fc123
completely redundant
2018-04-04 17:16:16 +01:00
paul-szczepanek-arm
539a11ee31
sign counter added
2018-04-04 15:59:10 +01:00
Vincent Coubard
17b3e26429
BLE: remove trace in Nordic PAL security manager
2018-04-04 15:42:47 +01:00
Vincent Coubard
04ab07ff16
BLE: Add documentation to CryptoToolbox.
2018-04-04 15:41:20 +01:00
Vincent Coubard
59a301a256
BLE: CryptoToolbox enhancement
...
- Rename LescCrypto into CryptoToolbox
- Use ArrayView of fixed size as parameters
- Add licence
2018-04-04 15:31:31 +01:00
Vincent Coubard
cd39406d20
BLE: Add conversion function from byte_array_t to ArrayView.
2018-04-04 15:28:52 +01:00
Vincent Coubard
5761caff00
BLE: Extend ArrayView to encode size in type.
...
With this change, it is possible to encode the size of the array viewed by an ArrayView into the type itself: ArrayView<T, Size>. Such objects are lighter than ArrayView of arbitrary size and allows verification of the size at compile time.
This change also fix operator== and bring new make_ArrayView overloads.
2018-04-04 15:28:17 +01:00
Vincent Coubard
9e1f0b34f8
BLE: Fix byte_array_t subscript operator
2018-04-04 15:22:15 +01:00
Vincent Coubard
d8f3d9c5ef
BLE: provide non const overload of byte_array_t::data member function.
2018-04-04 15:21:54 +01:00
Vincent Coubard
bf41bb3164
BLE: Export byte_array_t size exploitable at compile time.
2018-04-04 15:21:05 +01:00
Vincent Coubard
7bf0eb009a
BLE: use ArrayView to pass and get parameters in Crypto API
...
This change allow vendor pal code to use its own array format.
2018-04-04 11:04:13 +01:00
paul-szczepanek-arm
cbf80e9da5
typos, style and other review fixes
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
c1e2e07241
missing line from commit
...
(github client fail)
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
15c06acfe4
style fix
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
dfdfcfb25e
style fix
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
e276478d58
only bother reacting to verification failures if we want to use signing
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
f5fee68f99
fixed naming for sig failure count
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
9283413c4c
count failures, trigger reparing when verification fails
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
780d8a4375
let the stack know whether csrk is authenticated
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
511135f31c
signing only for the slave, unless keys requested to be sent by master
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
8d966dbe8c
invalid mic event
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm
5ae9cc3b53
set peer csrk on pal
2018-04-03 15:41:43 +01:00
Paul Szczepanek
381b99bc61
Merge pull request #25 from paul-szczepanek-arm/oob-gen
...
generate oob at will and without passing in connection handle
2018-04-03 15:30:21 +01:00
paul-szczepanek-arm
576796b289
reset OOB on use
2018-04-03 15:29:26 +01:00
paul-szczepanek-arm
26b047549c
extra comments for api
2018-04-03 15:17:15 +01:00
paul-szczepanek-arm
0a494a0bbc
all_zeros now free functions
2018-04-03 14:47:27 +01:00
paul-szczepanek-arm
ba5b0f30d2
added comments about address for oob generation
2018-04-03 13:54:29 +01:00
paul-szczepanek-arm
3c1a5a4a56
incorrect retval usage fixed
2018-04-03 12:16:49 +01:00
Vincent Coubard
3272863f83
BLE Nordic: Support LESC.
2018-03-29 17:24:46 +01:00
Vincent Coubard
f0e18fa007
BLE: Add LESC crypto toolbox for Nordic.
2018-03-29 17:23:54 +01:00
Vincent Coubard
3218e79805
BLE: Fix reference to security manager in Nordic event handler.
2018-03-29 17:23:24 +01:00
Vincent Coubard
95cd37b491
BLE: Add const overload for byte_array_t subscribt operator.
2018-03-29 17:22:48 +01:00
Donatien Garnier
8b66c4bd28
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-28 10:44:09 +01:00
paul-szczepanek-arm
aa90f0df65
rely solely on random vlalue to know if already calculating
...
simplify by setting a fake random value at the start so that first run is the same as subsequent runs
2018-03-27 12:25:50 +01:00
paul-szczepanek-arm
c542650734
removed unused param from call
2018-03-26 18:07:29 +01:00
paul-szczepanek-arm
e1885486fa
only generate oob if using oob
2018-03-26 18:00:05 +01:00
paul-szczepanek-arm
d1b4713ae6
removed redundancy
2018-03-26 17:53:40 +01:00
paul-szczepanek-arm
02ba2848a8
avoid recalculating oob fi already calculating
2018-03-26 17:48:32 +01:00
Vincent Coubard
87c2045f5e
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic
2018-03-26 17:12:37 +01:00
Vincent Coubard
db20ecbbde
Merge branch 'security-manager-dev' into oob-gen
2018-03-26 16:49:55 +01:00
Vincent Coubard
3579653533
Cordio: Implement missing functions for secure connection
2018-03-26 15:48:59 +01:00
Martin Kojtal
afeb3066c3
Revert "BLE: Gatt client unit tests"
2018-03-26 11:51:29 +01:00
paul-szczepanek-arm
98efb9da06
generate oob at will and without passing in connection handle
2018-03-23 18:31:27 +00:00
Cruz Monrreal
387027dddb
Merge pull request #6086 from pan-/gatt-client-unit-tests
...
BLE: Gatt client unit tests
2018-03-23 10:56:09 -05:00
Vincent Coubard
b859907481
Cordio: remove generate_public_key from the security manager.
2018-03-23 12:06:08 +00:00
Vincent Coubard
0a710e5331
BLE: Initialize the pal in GenericSecurityManager
2018-03-23 12:06:08 +00:00
Vincent Coubard
e25d5c9aa3
BLE: qualification of SecurityManager types
2018-03-23 12:06:08 +00:00
Paul Szczepanek
d7595803d0
Merge pull request #23 from paul-szczepanek-arm/legacy-oob
...
allow preloading legacy oob, generate tk
2018-03-23 10:48:11 +00:00
paul-szczepanek-arm
6833c79fb3
don't request encrypt when pending
2018-03-22 17:54:13 +00:00
paul-szczepanek-arm
81cb1f9c83
enable encryption for slave request added
2018-03-22 17:11:15 +00:00
paul-szczepanek-arm
350924129f
fix the attempt oob flag if we receive oob
2018-03-22 12:32:01 +00:00
paul-szczepanek-arm
2b2d9a2453
reset pending state when attempt ends, added comments
2018-03-22 12:23:37 +00:00
paul-szczepanek-arm
c848c79a5b
avoid code redundancy
2018-03-22 12:10:21 +00:00
paul-szczepanek-arm
909f9513cf
allow preloading legacy oob, generate tk
2018-03-22 12:01:34 +00:00
paul-szczepanek-arm
66867d4dd3
oob stored in generic and handed over to pal when requested
2018-03-16 14:48:04 +00:00
Vincent Coubard
5e8630dcc6
BLE Nordic: Complete implementation of pal security manager
2018-03-15 11:24:31 +00:00
Vincent Coubard
1638902341
BLE: Whitespace fix
2018-03-15 09:34:41 +00:00
Vincent Coubard
761beafeb3
BLE: Complete nRF5xGap initialization list
2018-03-15 09:34:21 +00:00
Vincent Coubard
288abf5287
BLE: Add nRF5x constructor
2018-03-15 09:33:25 +00:00
Vincent Coubard
c3fd90430a
BLE: Fix references to ConnectionEventMonitor::EventHandler
2018-03-15 09:32:58 +00:00
Vincent Coubard
eb8ec9c22d
Merge branch 'nordicpalsm' of https://github.com/donatieng/mbed-os into sc-cordio
2018-03-12 10:15:18 +00:00
paul-szczepanek-arm
1521dee773
add doxygen comment about OOB deneration cause bu setOOBDataUsage
2018-03-09 18:06:56 +00:00
Vincent Coubard
5a2008211a
Cordio: Implement missing functions for secure connection
2018-03-09 18:06:22 +00:00
Vincent Coubard
38bee37804
Cordio: remove generate_public_key from the security manager.
2018-03-09 18:05:31 +00:00
Vincent Coubard
36ca6be69a
BLE: Initialize the pal in GenericSecurityManager
2018-03-09 18:04:47 +00:00
Vincent Coubard
bd7be3d643
BLE: qualification of SecurityManager types
2018-03-09 17:56:59 +00:00
paul-szczepanek-arm
19bb13c8c5
one last typo
2018-03-09 14:56:37 +00:00
paul-szczepanek-arm
1f8c5c1231
fixed typos
2018-03-09 14:22:28 +00:00
paul-szczepanek-arm
7c82e91981
fixed typo
2018-03-09 12:49:10 +00:00
jiangkun1994
af7c1c919d
fixes a typo in README.md
2018-03-07 03:33:31 +08:00
jiangkun1994
5be35c92da
fixes some typos in README.md
2018-03-07 03:27:45 +08:00
paul-szczepanek-arm
b8ba99a184
handling OOB data generation and verification now pushed down to PAL level
2018-03-05 11:29:13 +00:00
Donatien Garnier
a3383c139b
Addressed Vincent's comments
2018-03-01 20:32:37 +00:00
Donatien Garnier
713ab14d22
Removed deprecated Security Manager
2018-03-01 20:06:38 +00:00
paul-szczepanek-arm
ded1403399
security manager overview doc fixes
2018-03-01 19:55:44 +00:00
Donatien Garnier
7b6b02a746
Nordic PAL - Breaks existing SM
2018-03-01 19:50:13 +00:00
paul-szczepanek-arm
371f183a6a
added one more sequence diagram
2018-03-01 18:49:43 +00:00
paul-szczepanek-arm
1f52e42bcf
more detailed comment for confirmation request
2018-03-01 18:31:16 +00:00
paul-szczepanek-arm
68f25611d5
no need to ask for encryption after pairing, fold deref under the null check
2018-03-01 17:47:18 +00:00
paul-szczepanek-arm
e706b41ccf
removed redundant event for SC OOB request, fixed comments
2018-03-01 16:39:44 +00:00
Vincent Coubard
f0405690b7
BLE: Resolve issue with address type in advertising report.
2018-03-01 15:48:21 +00:00
Vincent Coubard
8e21b5391a
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os into pr-sm
2018-03-01 15:39:56 +00:00
Vincent Coubard
03f79eec39
BLE: Remove Nordic Pal SM draft.
2018-03-01 15:39:51 +00:00
paul-szczepanek-arm
392ee6ec7c
removed get encryption key size from API
2018-03-01 15:29:52 +00:00
paul-szczepanek-arm
0870b30aa6
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-03-01 15:18:00 +00:00
paul-szczepanek-arm
b89f9f2482
added callback on encryption request even if lower and restructured for clarity
2018-03-01 15:17:36 +00:00
Donatien Garnier
00df64b26c
Fixed PasskeyAscii constructor
2018-03-01 15:16:47 +00:00
Vincent Coubard
e8f29f7327
BLE - Cordio - PAL SM: refine comments and formating.
2018-03-01 14:59:06 +00:00
Vincent Coubard
36247b32b8
BLE - Cordio PAL SM: Implement Keypress notification
2018-03-01 14:58:01 +00:00
Vincent Coubard
56af3cb1be
CBLE - Cordio PAL SM: Implement slave security request notification
2018-03-01 14:57:05 +00:00
Vincent Coubard
da6ede34a8
BLE - Cordio PAL SM: Select correct on_ltk_request overload.
2018-03-01 14:56:30 +00:00
Vincent Coubard
628ffea6de
BLE - Cordio PAL SM: Forward local keys
2018-03-01 14:55:45 +00:00
Vincent Coubard
18c93990b6
BLE - Cordio PAL Sm: generate random passkey displayed.
2018-03-01 14:55:12 +00:00
Vincent Coubard
ecc7118490
BLE - Cordio PAL SM: Implement send_keypress_notification
2018-03-01 14:54:06 +00:00
Vincent Coubard
9043714443
BLE - Cordio PAL SM: Select correct security level in enable_encryption
2018-03-01 14:53:33 +00:00
Vincent Coubard
79db2af488
BLE - Cordio PAL SM: Choose correct security level in set_ltk
2018-03-01 14:53:00 +00:00
Vincent Coubard
4858388672
BLE - Cordio PAL SM: comment get_authentication_timeout
2018-03-01 14:52:09 +00:00
Vincent Coubard
054b7808b4
BLE - Cordio PAL SM: implement set_authentication_timeout
2018-03-01 14:51:43 +00:00
Vincent Coubard
a057e5c0d2
BLE - Cordio PAL SM: Fix force secure connection.
2018-03-01 14:50:31 +00:00
Vincent Coubard
cd7d9c551c
Cordio pal SM: comment appropriately privacy related functions.
2018-03-01 14:47:46 +00:00
Vincent Coubard
1170b3132d
BLE: Remove useless pal sm API
2018-03-01 14:46:12 +00:00
Vincent Coubard
e29ea95fc9
BLE: Return error when security deascalation is requested.
2018-03-01 14:44:18 +00:00
paul-szczepanek-arm
7e2f5ee008
fix not setting the mitm performed state correctly
2018-03-01 14:25:22 +00:00
paul-szczepanek-arm
bc11834125
fix not setting encryption state in generic
2018-03-01 13:59:19 +00:00
paul-szczepanek-arm
d5b8439bae
removed redundant check
...
we already checked the current encryption and it is encrypted
2018-03-01 13:03:49 +00:00
paul-szczepanek-arm
179ad1626f
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-03-01 12:56:33 +00:00
paul-szczepanek-arm
cebc0f8fd7
create encryption result event even when nothing changes
2018-03-01 12:56:29 +00:00
Vincent Coubard
c00ae29ca7
Cordio: Update stack binaries.
...
New binaries contains a fix in configuration handling.
2018-03-01 11:01:19 +00:00
Vincent Coubard
d050c4e4af
BLE: Fix CordioPalSM set_io_capability
2018-03-01 10:24:13 +00:00
Vincent Coubard
dbf4a8da49
BLE: Implement CordioSM get_secure_connection_support.
2018-03-01 10:22:42 +00:00
Vincent Coubard
766b8765ad
BLE: Accept pairing request when the user authorization is not required.
2018-03-01 10:21:35 +00:00
paul-szczepanek-arm
f9a79bed15
fixed initiator distribution bug and setting LINK distribution field based on SC
2018-02-28 17:43:54 +00:00
paul-szczepanek-arm
d20c4efbf3
documentation overview for securitymanager
2018-02-28 17:00:56 +00:00
paul-szczepanek-arm
701c18b428
missing documentation, removed privacy call from api
2018-02-28 13:49:51 +00:00
paul-szczepanek-arm
c52d324dab
pass in information about the mitm and sc quality of the ltk to the pal
2018-02-28 12:02:54 +00:00
paul-szczepanek-arm
abcc5db44b
fix setting default values which were overriding even when unset
2018-02-28 10:00:58 +00:00
paul-szczepanek-arm
975544f274
link key distribution decision made in generic security manager
2018-02-27 23:26:34 +00:00
paul-szczepanek-arm
96de1c2752
header guards renamed
2018-02-27 17:25:57 +00:00
paul-szczepanek-arm
8e41de2e25
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-02-27 17:23:25 +00:00
paul-szczepanek-arm
e186985b26
addressing PR review: added documentation, moved code and renamed vars
2018-02-27 17:22:13 +00:00
Vincent Coubard
81126ad7ce
BLE: remove draft of nordic pal security manager.
2018-02-27 14:35:56 +00:00
Vincent Coubard
bf8204a21b
BLE: remove host testing from sm pr
2018-02-27 13:42:03 +00:00
paul-szczepanek-arm
fc01cff1b3
removed using statements from header
2018-02-27 12:25:01 +00:00
paul-szczepanek-arm
d264512c8c
remove virtual as per review request
2018-02-27 12:15:40 +00:00
paul-szczepanek-arm
536f541b93
mic event no longer present in user api, removing call
2018-02-27 12:13:48 +00:00
Vincent Coubard
928dbcf325
BLE: Fix prefix of BLEProtocol::AddressType
2018-02-27 12:12:17 +00:00
paul-szczepanek-arm
957cee39fe
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os
2018-02-27 11:57:20 +00:00
paul-szczepanek-arm
0f1fd58c38
removed MIC related functions and events from the user API
2018-02-27 11:57:16 +00:00
Vincent Coubard
0b0d614787
Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os into pr-sm
2018-02-27 11:54:32 +00:00
paul-szczepanek-arm
62e9011525
public key renaned (added coord), also contains missing commit for oob_rand rename
2018-02-27 11:50:04 +00:00
Vincent Coubard
361ae8c7a3
BLE: fix references to oob_rand_t.
2018-02-27 11:48:21 +00:00
paul-szczepanek-arm
4010bade89
reanmed type as per review request
2018-02-27 11:43:46 +00:00
paul-szczepanek-arm
4fd29630b3
removed redundant type
2018-02-27 11:23:22 +00:00
Vincent Coubard
871ebb6708
BLE: Add host test instructions.
2018-02-27 11:19:59 +00:00
Vincent Coubard
c6bca57633
BLE: Improve generic gatt client tests documentation.
2018-02-27 11:15:48 +00:00
paul-szczepanek-arm
8142cb5131
redundant call removed
2018-02-27 10:45:31 +00:00
paul-szczepanek-arm
5de1979f5c
types renamed as per review requests
2018-02-27 10:33:35 +00:00
paul-szczepanek-arm
b0c7d729fc
variable name updated in the undefed cmac blocks
2018-02-27 10:00:07 +00:00
paul-szczepanek-arm
55106362f0
removed redundant type
2018-02-27 09:59:35 +00:00
paul-szczepanek-arm
c9690c9f59
upate doxygen since passkey is no longer a pointer
2018-02-27 09:22:36 +00:00
Vincent Coubard
47eea76c03
BLE: Test db entry open and close in the generic security manager.
2018-02-27 09:00:26 +00:00
Vincent Coubard
7833d798da
BLE: Fix security manager mocks
2018-02-27 09:00:26 +00:00
Vincent Coubard
b939721421
BLE: Ensure passkey is not null before integer conversion
2018-02-27 09:00:26 +00:00
Vincent Coubard
3554a63dc8
BLE: Add default addressType to processAdvertisementReport
...
This patch should be reverted once the ST shield library and mbed-os-cliapp have been updated to support this change in the porting API.
2018-02-26 09:59:17 +00:00
Vincent Coubard
1f4e2b1820
BLE: Fix Gap::processAdvertisementReport documentation
2018-02-23 17:32:22 +00:00
Vincent Coubard
47e005e14c
BLE: Fix address report in Maxim port.
2018-02-23 15:50:34 +00:00
Vincent Coubard
d586f7f9d2
BLE: update SecurityDB comments.
2018-02-23 13:54:41 +00:00
Vincent Coubard
11a809ee1c
BLE: remove MorySecurityDb include from generic security manager.
2018-02-23 11:19:21 +00:00
Vincent Coubard
1ded0d7198
BLE: Split security manager control block from the secure DB.
2018-02-23 11:15:08 +00:00
Vincent Coubard
52910af33e
BLE: Add mock for SecurityManagerEventHandler.
2018-02-23 11:13:42 +00:00
Vincent Coubard
7db6aeb19b
BLE: Add mock and stub for ConnectionEventMonitor.
2018-02-23 11:13:42 +00:00
Vincent Coubard
2bb73fd8bb
BLE: Cleanup includes of pal::ConnectionEventMonitor.
2018-02-23 11:13:42 +00:00
paul-szczepanek-arm
02f01f0e1d
Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm
2018-02-22 11:53:00 +00:00
Vincent Coubard
1698c2d5be
BLE: Add missing encryption implementation in cordio pal SM.
2018-02-22 11:51:02 +00:00
paul-szczepanek-arm
1da5d74470
temporary key encryption mitm quality reflected
2018-02-22 11:50:11 +00:00
paul-szczepanek-arm
6b0ba64ee2
SM fixes to init and register the event handler correctly
2018-02-21 18:35:44 +00:00
Vincent Coubard
9e98a72198
BLE: Move cordio default scan and connection params in global memory.
2018-02-21 17:43:39 +00:00
Vincent Coubard
ad78b3e023
BLE: Handle NULL parameters in Gap::connect.
2018-02-21 17:43:38 +00:00
Vincent Coubard
9c6f44de91
BLE: Force stop scan before connection initiation.
2018-02-21 17:43:38 +00:00
Vincent Coubard
c5be493bb7
BLE: Add address type in AdvertisementCallbackParams_t.
2018-02-21 17:41:14 +00:00
Vincent Coubard
e3d7f2bb05
BLE: Add address type in AdvertisementCallbackParams_t.
2018-02-21 14:14:31 +00:00
paul-szczepanek-arm
c65419239f
fixed compiler errors for pal after its update
2018-02-20 18:01:21 +00:00
Vincent Coubard
4ce0ed9c0c
BLE: Remove dependency of GenericSecurityManager towards gap.
2018-02-19 17:46:41 +00:00
Vincent Coubard
28f2f46974
BLE: Hide event monitor inside pal.
2018-02-19 17:41:18 +00:00
Vincent Coubard
8b9e08e128
BLE tests: Add stub for device.h .
2018-02-19 17:32:10 +00:00
Vincent Coubard
bcea06fb32
BLE: Fix inclusion of mbed_error.h
2018-02-19 17:32:10 +00:00
Vincent Coubard
cc896f1b52
BLE: Add mock for the security db.
2018-02-19 17:32:10 +00:00
paul-szczepanek-arm
396ca2ca20
removed redundant cast
2018-02-19 17:29:45 +00:00
paul-szczepanek-arm
990e21247c
pull in cordio security manager into BLE
2018-02-19 17:26:24 +00:00
paul-szczepanek-arm
dd7bc50e4b
Merge branch 'master' into palsm
2018-02-19 16:39:10 +00:00
paul-szczepanek-arm
ecacbda507
compiler errors fixed after the merge
2018-02-19 16:28:01 +00:00
paul-szczepanek-arm
8cf7b3b06f
Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm
2018-02-19 15:35:39 +00:00
paul-szczepanek-arm
d9156a28e2
connection monitor
2018-02-19 15:32:07 +00:00
Vincent Coubard
9b12c6b11d
BLE: Add SecurityManager tests to the build script.
2018-02-19 14:44:30 +00:00
Vincent Coubard
15cfcba16a
BLE: Move security DB into PAL.
2018-02-19 14:43:56 +00:00
Vincent Coubard
c7672994d2
BLE tests: Mock pal::SecurityManager.
2018-02-19 14:34:07 +00:00
Vincent Coubard
6529d677c1
BLE: Fix include prefixes.
2018-02-19 13:46:46 +00:00
Vincent Coubard
863bdfbb75
BLE: Add unit test for the Generic GattClient.
...
These tests are build around gtest and gmock and solely run on a host; cmake is
used as a build system:
- cd features/FEATURE_BLE/tests
- mkdir build
- cd build
- cmake ..
- make
- ./gatt-client-tests
2018-02-19 13:23:23 +00:00
Andrew Leech
d001fb1c66
Avoid importing <memory> as this causes a typedef conflict on `error_t` whien compiling with gcc "-std=gnu++11" or above
2018-02-16 12:10:44 +11:00
Vincent Coubard
aeb992ee3c
BLE: Add unit test for the Generic GattClient.
...
These tests are build around gtest and gmock and solely run on a host; cmake is
used as a build system:
- cd features/FEATURE_BLE/tests
- mkdir build
- cd build
- cmake ..
- make
- ./gatt-client-tests
2018-02-13 17:01:25 +00:00
paul-szczepanek-arm
2f1e211da1
set entry state on connect
2018-02-13 16:41:36 +00:00
paul-szczepanek-arm
d44af8c40a
don't handle event handler memory by the SM
2018-02-13 12:11:17 +00:00
paul-szczepanek-arm
55045010d6
fixed all the compilation errors and recent pal changes
2018-02-13 11:01:30 +00:00
paul-szczepanek-arm
35b4ae4bc7
typos
2018-02-12 14:42:31 +00:00
paul-szczepanek-arm
581b5755b8
removed duplicate event handler, removed redundant using statements
2018-02-12 13:40:04 +00:00
paul-szczepanek-arm
2c1fcc7235
style
2018-02-12 10:27:27 +00:00
paul-szczepanek-arm
90c30c9022
typo
2018-02-11 18:19:56 +00:00
paul-szczepanek-arm
c93e800eea
missing ref
2018-02-11 18:13:54 +00:00
paul-szczepanek-arm
934d8f9235
pointers changed to references for a consistent PAL
2018-02-11 18:08:21 +00:00
paul-szczepanek-arm
68db4dd52f
avoiding compiler issues
2018-02-11 15:37:23 +00:00
Vincent Coubard
2e64b710a1
Ble: fix size function in advertising_data_t and address_t.
2018-02-09 16:43:29 +00:00
Paul Szczepanek
379c86dd66
Merge pull request #11 from pan-/palsm-orig
...
Cordio update
2018-02-09 16:40:16 +00:00
paul-szczepanek-arm
e91ab466ea
doxygen added
2018-02-09 16:39:01 +00:00
paul-szczepanek-arm
18062fc9de
GAP integration for connection and disconnection events
2018-02-09 16:35:16 +00:00
paul-szczepanek-arm
e7cf1529ec
remobed todo, will be handled by db
2018-02-09 14:21:24 +00:00
paul-szczepanek-arm
e0c308f8f2
fix buffer not being moved in random number generation
2018-02-09 13:59:03 +00:00
paul-szczepanek-arm
769c97e32c
random data generation
2018-02-09 13:55:33 +00:00
paul-szczepanek-arm
fe9b558a2a
init random number on local device for OOB data
2018-02-09 13:29:37 +00:00
paul-szczepanek-arm
564749674f
cmac using the tls implementation
2018-02-09 12:54:08 +00:00
paul-szczepanek-arm
947c6ed239
implement oob data store in db
2018-02-09 11:11:35 +00:00
paul-szczepanek-arm
0806584e45
oob presence set correctly for legacy pairing
2018-02-09 10:52:39 +00:00
paul-szczepanek-arm
a2cff3079e
move oob to db, add cmac helper func
2018-02-08 21:48:43 +00:00
paul-szczepanek-arm
0a54ca39d0
move pairing under its own heading to match other parts
2018-02-08 18:41:35 +00:00
paul-szczepanek-arm
56530d4917
sc oob verification needs local random value
2018-02-08 18:35:02 +00:00
paul-szczepanek-arm
d061c89e31
storing sc oob, checking for its presence
2018-02-08 18:23:23 +00:00
paul-szczepanek-arm
cba77ad5d1
saving public keys
2018-02-08 16:36:06 +00:00
paul-szczepanek-arm
0b15798673
style and moved for clarity
2018-02-08 16:03:52 +00:00
paul-szczepanek-arm
b5b86b72fe
oob handling inside genric for secure connections
2018-02-08 15:17:12 +00:00
paul-szczepanek-arm
1b6a84d5a4
oob data propagated to pal
2018-02-07 10:16:44 +00:00
paul-szczepanek-arm
20444c8dd7
missing implementations
2018-02-07 08:59:48 +00:00
paul-szczepanek-arm
4c56f8980d
removed redundancy in types
2018-02-06 23:08:32 +00:00
paul-szczepanek-arm
8cc36650df
added OOB to interface, moved address type to common
2018-02-06 22:59:21 +00:00
paul-szczepanek-arm
b6be4df162
doxygen
2018-02-06 22:01:54 +00:00
paul-szczepanek-arm
1446142b60
ltk for secure connections
2018-02-06 21:50:57 +00:00
paul-szczepanek-arm
3236eada5e
multiple ltks single irk and csrk
2018-02-06 21:16:22 +00:00
paul-szczepanek-arm
7aa9ae7888
fix typos
2018-02-06 15:39:31 +00:00
paul-szczepanek-arm
aba65d7fd5
added doxygen
2018-02-06 14:32:47 +00:00
paul-szczepanek-arm
9bc8c56df3
address types added, secure connectins oob added
2018-02-06 10:17:31 +00:00
paul-szczepanek-arm
32e91ac168
removed idenitty list as resolution will be done insite the db asynchronously
2018-02-01 10:00:10 -06:00
paul-szczepanek-arm
f53359f60c
doxygen
2018-01-31 16:42:35 -06:00
paul-szczepanek-arm
132b9e01bf
fix encryption call to accept 16 octets
2018-01-31 16:23:45 -06:00
paul-szczepanek-arm
714069b965
deal with failed LTK retrieval, remove unused functionality, more doxygen
2018-01-31 14:16:56 -06:00
paul-szczepanek-arm
5498b79f55
doxygen, moved types to common
2018-01-31 12:06:01 -06:00
paul-szczepanek-arm
62502fe1c8
more doxygen and naming consistency
2018-01-31 11:27:32 -06:00
paul-szczepanek-arm
2060ad5df0
we don't need two event handler since now the generic security manager implements the interface
2018-01-30 17:01:30 -06:00
paul-szczepanek-arm
e686eec048
missing implementation for whitelist from bond table and more doxygen
2018-01-30 16:49:35 -06:00
paul-szczepanek-arm
322ee90797
doxygen fixes
2018-01-30 14:00:21 -06:00
paul-szczepanek-arm
9e79ba4ee4
doxygen
2018-01-30 11:27:12 -06:00
paul-szczepanek-arm
faf134ae60
move helper funcitons under their own heading
2018-01-29 17:16:47 -06:00
paul-szczepanek-arm
9786244386
removed redundant const
2018-01-29 16:00:53 -06:00
paul-szczepanek-arm
d0c4186b9e
moved fucntion impl to match position in header
2018-01-29 21:20:15 +00:00
paul-szczepanek-arm
eb899bc798
split identity away from meta data and csrk, moved privacy feature from db to security manager
2018-01-29 21:10:08 +00:00
paul-szczepanek-arm
f4d29bbef6
clear up private address resolution
2018-01-29 19:22:08 +00:00
paul-szczepanek-arm
647aa1eebe
split security manager into a header and moved types to common types
...
plus a bit of extra doxygen comments
2018-01-29 17:57:00 +00:00
paul-szczepanek-arm
ed0722c303
upgraded oob data to octet type
2018-01-28 10:08:15 +00:00
paul-szczepanek-arm
724aef96a3
moved types to common header
2018-01-28 07:07:54 +00:00
paul-szczepanek-arm
1cc5312d1e
octet type for keys
2018-01-24 10:22:53 +00:00
paul-szczepanek-arm
38f8a5b8d5
separate live state from stored state in entry
2018-01-23 17:01:44 +00:00
paul-szczepanek-arm
8ef3311be0
naive memory implementation for verification purposes
2018-01-23 16:01:54 +00:00
paul-szczepanek-arm
c476fceba3
correct naming for private members
2018-01-23 15:36:57 +00:00
paul-szczepanek-arm
92965baaa8
removed redundant mitm field
2018-01-23 12:27:03 +00:00
paul-szczepanek-arm
56ea4202d7
read mitm of the csrk key not pairing
2018-01-23 12:21:32 +00:00
paul-szczepanek-arm
bc1e809ca3
keeping state of connection, storing mitm quality of keys
2018-01-23 12:20:12 +00:00
paul-szczepanek-arm
f635555a74
refresh not needed, done through requesting encryption on encrypted link
2018-01-23 12:19:38 +00:00
paul-szczepanek-arm
f1044fe2b6
internal function naming
2018-01-23 11:25:28 +00:00
paul-szczepanek-arm
4aa7158c4b
temporary code for use during verification before we integrate with gap
2018-01-23 10:47:16 +00:00
paul-szczepanek-arm
10b5e648fd
slave request handling
2018-01-22 21:01:05 +00:00
paul-szczepanek-arm
8b84b93b2c
fix to apply defaults for pairing response
2018-01-22 17:32:13 +00:00
paul-szczepanek-arm
2b7db78d7b
pairing through a single function to keep settings
2018-01-22 17:27:01 +00:00
paul-szczepanek-arm
b4e85b3d06
moved db into its own file
2018-01-22 16:50:15 +00:00
paul-szczepanek-arm
2d8451f770
block legacy pairing when requested
2018-01-22 16:39:41 +00:00
paul-szczepanek-arm
305975b15a
hint role reversal, set the correct ltk keys
2018-01-22 16:21:30 +00:00
paul-szczepanek-arm
69aac8abee
const fix
2018-01-22 14:55:49 +00:00
paul-szczepanek-arm
2ae05ea6aa
enabling signing
2018-01-22 14:54:17 +00:00
paul-szczepanek-arm
1208dc7c34
readability
2018-01-22 14:37:34 +00:00
paul-szczepanek-arm
533f6a464a
restructure cases to avoid warnings
2018-01-22 14:35:02 +00:00
paul-szczepanek-arm
4c56d4c90b
returning ref to array for csrk
2018-01-22 14:30:22 +00:00
paul-szczepanek-arm
cba92fe82c
db changes to suport peer and local keys
2018-01-22 14:11:22 +00:00
paul-szczepanek-arm
5e0ed3db01
pul events to retrieve local ltk edvi rand
2018-01-22 13:50:30 +00:00
paul-szczepanek-arm
d1c29faaa8
added slave security request
2018-01-22 11:49:42 +00:00
paul-szczepanek-arm
3300395468
missing init, removed redeclaration
2018-01-22 09:57:35 +00:00
paul-szczepanek-arm
d880f6238d
encryption needs ltk rand and ediv
2018-01-21 22:57:05 +00:00
paul-szczepanek-arm
e301f7a1c3
removed redundant checks
2018-01-21 21:43:02 +00:00
paul-szczepanek-arm
9be7dbef78
mitm quality added
2018-01-21 19:54:41 +00:00
paul-szczepanek-arm
0ef6740fc3
line wrap
2018-01-21 19:41:18 +00:00
paul-szczepanek-arm
e2a4c08d1f
set link security and set link ecryption added
2018-01-21 19:38:36 +00:00
paul-szczepanek-arm
4820d64b9a
moved signing to matching positin in file
2018-01-21 18:47:06 +00:00
paul-szczepanek-arm
b20a49f7a3
only one key distribution settings
2018-01-21 18:45:31 +00:00
paul-szczepanek-arm
7f90c7c889
signing enabling
2018-01-21 18:26:35 +00:00
Vincent Coubard
7b169997c8
BLE Cordio: partial implementation of set ltk.
2018-01-19 18:49:39 +00:00
Vincent Coubard
a849f7f433
BLE Cordio: Enable handling of security.
2018-01-19 18:42:59 +00:00
paul-szczepanek-arm
467b36eaaf
get link security no longer needed in generic
2018-01-19 17:57:55 +00:00
paul-szczepanek-arm
f18af9f54d
retrieving signing key
2018-01-19 17:55:53 +00:00
paul-szczepanek-arm
ad8dd5fb2c
fix wrap
2018-01-19 16:53:10 +00:00
paul-szczepanek-arm
0367cebaa2
vincent style wrapping
2018-01-19 16:52:17 +00:00
paul-szczepanek-arm
cb660985a2
get rid of all the virtual warnings and fix enum types
2018-01-19 16:41:18 +00:00
paul-szczepanek-arm
e100f7c01f
returning csrk key, init distribution list
2018-01-19 16:20:37 +00:00
paul-szczepanek-arm
9fda5550db
missing conn handle
2018-01-19 16:19:33 +00:00
paul-szczepanek-arm
3074d12ff1
security mode split into encryption and signing key
2018-01-19 15:56:18 +00:00
paul-szczepanek-arm
ebe2439ff7
move deprecated funcs down, add replacement for encryption status
2018-01-19 14:58:07 +00:00
Vincent Coubard
818ec8c8ec
BLE SM: Align CordioPalSecurityManager with PalSecurityManager and fill the blanks
2018-01-19 14:36:55 +00:00
Vincent Coubard
4fcb304f27
BLE SM: Fix rand end ediv length
2018-01-19 14:36:54 +00:00
paul-szczepanek-arm
49e1fc3932
moving pairing to its own group to match the other layers
2018-01-19 14:24:28 +00:00
Vincent Coubard
888a050381
BLE SM: Slight API adjustements and docs
2018-01-19 12:22:51 +00:00
paul-szczepanek-arm
4fb9593f9f
removed todo
2018-01-19 12:13:09 +00:00
paul-szczepanek-arm
5fcf2a6cfb
Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm
2018-01-19 11:40:29 +00:00
paul-szczepanek-arm
9e3797cb3c
timeout pal funcs combined into single result on api side
2018-01-19 11:38:42 +00:00
Vincent Coubard
44a366d103
BLE SM: Fix compilation errors
2018-01-19 11:30:27 +00:00
paul-szczepanek-arm
8b36d5ed65
fixed non-matching types
2018-01-19 10:44:48 +00:00
paul-szczepanek-arm
c3b434b3a2
fixed pal name of oob request
2018-01-19 10:40:59 +00:00
paul-szczepanek-arm
b60a464785
constness and refs fixes
2018-01-19 10:38:27 +00:00
paul-szczepanek-arm
ab056aa17e
set io caps, removed redundant params from pairing request
2018-01-19 10:30:38 +00:00
paul-szczepanek-arm
081b99e80a
link security reading from db to determine stats
2018-01-18 23:33:19 +00:00
paul-szczepanek-arm
2fe405a2a8
propagated changes from pal to api and generic
2018-01-18 20:14:35 +00:00
paul-szczepanek-arm
9c1444f49c
dropped redundant passkey num class
2018-01-18 20:13:49 +00:00
paul-szczepanek-arm
021a1fdf76
io caps and key size now stored by stack, secured cahgned to encrypted, moved passkey classes to pal
2018-01-18 17:40:08 +00:00
paul-szczepanek-arm
82c0847ab8
missed one pointer to pointer
2018-01-18 17:24:10 +00:00
paul-szczepanek-arm
b88a2700de
fixed the pointers to pointers
2018-01-18 17:23:31 +00:00
paul-szczepanek-arm
b63930f53f
fixed refs to arrays
2018-01-18 17:21:59 +00:00
paul-szczepanek-arm
3f26435ad9
pariring typo
2018-01-18 17:20:43 +00:00
paul-szczepanek-arm
779d6eb7ae
updated old key_ditribution type and fixed refs to pointers
2018-01-18 17:19:59 +00:00
paul-szczepanek-arm
dee47771fd
updated implementations with new classes for auth and distribution masks
2018-01-18 15:42:50 +00:00
paul-szczepanek-arm
73e5f2d655
removed old events that are now only in legacy handling
2018-01-18 14:38:25 +00:00
paul-szczepanek-arm
01cdceb97f
key distribution now a class
2018-01-18 12:08:33 +00:00
Paul Szczepanek
5a056a1351
Merge pull request #7 from pan-/palsm-cordio-implementation
...
Palsm cordio and Nordic implementation
2018-01-18 10:20:32 +00:00
paul-szczepanek-arm
25107b1ad8
todo
2018-01-17 22:19:45 +00:00
paul-szczepanek-arm
8db6427fde
use common io caps type
2018-01-17 21:40:06 +00:00
paul-szczepanek-arm
b00b746aa0
removed old type
2018-01-17 21:27:06 +00:00
paul-szczepanek-arm
2f04aece23
shared types in common header, connected up the events in handlers
2018-01-17 21:22:48 +00:00
Vincent Coubard
743e57ffaa
Nordic BLE: Draft SM event handler.
2018-01-17 18:37:48 +00:00
Vincent Coubard
7e37cc739f
Nordic BLE: SM pal function draft (legacy pairing)
2018-01-17 18:37:48 +00:00
Vincent Coubard
5277f5a0fd
BLE: Fix signature of get_secure_connections_support in implementations.
2018-01-17 18:37:48 +00:00
Vincent Coubard
527a31663c
BLE - Nordic: Add Skeleton for the security manager
2018-01-17 18:37:48 +00:00
Vincent Coubard
ffb59eecb8
CORDIO BLE: Add PAL SM event handling (draft).
2018-01-17 18:37:47 +00:00
paul-szczepanek-arm
2fb67d2c7d
authentication mask now a class, pairing and authenticating
2018-01-17 15:39:29 +00:00
paul-szczepanek-arm
49df59ebc1
deref pointer
2018-01-17 13:26:37 +00:00
paul-szczepanek-arm
42eeacbe7c
remove redundant func
2018-01-17 13:15:15 +00:00
paul-szczepanek-arm
8197f09bd5
acoid creattion of passkey object to do the conversion
2018-01-17 12:38:35 +00:00
paul-szczepanek-arm
1a7e3faa18
fixed passkey classes
2018-01-17 12:28:48 +00:00
paul-szczepanek-arm
6420465c29
fix func calls args
2018-01-17 11:40:32 +00:00
paul-szczepanek-arm
a3cf83ac02
key distribution
2018-01-17 11:38:36 +00:00
Vincent Coubard
e2a2582549
BLE: Fix inclusion of BLE.h (case)
2018-01-17 11:31:50 +00:00
paul-szczepanek-arm
44f2f7b9d7
expose get number to avoid implicit casts for clarity
2018-01-17 11:25:32 +00:00
paul-szczepanek-arm
1bf0d7b921
display passkey handling, added null check to passkey contructor
2018-01-17 11:09:54 +00:00
paul-szczepanek-arm
00b1b17e62
removed broken assignment operator
2018-01-17 11:04:37 +00:00
paul-szczepanek-arm
f8c9fe7329
get sc support in pal to match api
2018-01-17 10:52:24 +00:00
paul-szczepanek-arm
d6a3347443
default state for legeacy pairing alllowed, removed obsolete code
2018-01-17 10:49:35 +00:00
paul-szczepanek-arm
9c6f57a733
name clash fixed
2018-01-17 10:48:07 +00:00
paul-szczepanek-arm
943206dd07
db restoring, legacy pairing disallowing, removed set SC support
2018-01-17 10:46:56 +00:00
paul-szczepanek-arm
11874aac3b
whitelist generations needs to be async
2018-01-17 10:30:34 +00:00
paul-szczepanek-arm
dcce428c40
conversion of passkeys, uniform calls
2018-01-16 19:39:25 +00:00
paul-szczepanek-arm
c03c7fc587
Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm
2018-01-16 19:38:44 +00:00
Cruz Monrreal
671c2d7e90
Merge pull request #5346 from scartmell-arm/feature-hal-spec-critical-section
...
Add Critical Section HAL API specification
2018-01-16 12:49:38 -06:00
paul-szczepanek-arm
53f0b6a187
keypress notification setting
2018-01-16 18:16:15 +00:00
Vincent Coubard
9bd0fa5708
BLE Cordio: Fix call to SafeEnum<>::value()
2018-01-16 18:11:38 +00:00
Vincent Coubard
e4b5681563
Cordio: Add SecurityManager singleton
2018-01-16 18:09:35 +00:00
Vincent Coubard
c3c24d8641
Cordio: Implementation of base functions necessary for legacy pairing.
2018-01-16 18:04:40 +00:00
Vincent Coubard
0cd4f93041
Add skeleton of the PalSecurityManager for the Cordio Stack.
2018-01-16 17:19:26 +00:00
Vincent Coubard
6aa3d35d82
Set virtual specifier to on_keys_distributed .
2018-01-16 17:18:49 +00:00
paul-szczepanek-arm
83d582827d
legacy pairing support call in api
2018-01-16 14:48:08 +00:00
paul-szczepanek-arm
e02ae313ac
added on_ prefixes, added split key distribution
2018-01-16 12:46:59 +00:00
paul-szczepanek-arm
f9ed3b2456
passkey types fixed
2018-01-16 12:43:25 +00:00
Paul Szczepanek
cc41857ab6
Merge pull request #3 from pan-/palsm-interface-improvement
...
Palsm interface improvement
2018-01-16 12:38:27 +00:00
paul-szczepanek-arm
f93ed1087d
split keys dsitribution, unirm on_ prefix, docs
2018-01-16 12:22:12 +00:00
Vincent Coubard
f71490b59b
Merge with palsm.
2018-01-16 12:19:41 +00:00
Vincent Coubard
75c7460575
Remove setPinCode function (not needed) and oob related functions.
2018-01-16 12:13:14 +00:00
Vincent Coubard
323bae44e1
Fixe compilation errors
2018-01-16 12:12:30 +00:00
Vincent Coubard
4df41f3ee8
Add mention of function that sets a default passkey.
2018-01-16 12:11:04 +00:00
paul-szczepanek-arm
f33d93345b
random data request
2018-01-16 11:50:49 +00:00
Vincent Coubard
9d08b2ddb3
Fixes:
...
* replace invalid using statement by typedef
* replace SecurityIOCapabilities_t by io_capability_t in send_pairing_response
* fix failure type in cancel_pairing
2018-01-16 11:29:38 +00:00
paul-szczepanek-arm
8e89dfbbfd
redundant types removed
2018-01-16 11:23:36 +00:00
Vincent Coubard
aede2a5680
Move ::SecurityManagerEventHandler and ::LegacySecurityManagerEventHandler into ::SecurityManager .
...
Fixes access right and compilation error.
2018-01-16 11:23:33 +00:00
paul-szczepanek-arm
4d3a4c530d
removed bredr oob
2018-01-16 11:21:45 +00:00
paul-szczepanek-arm
daab0b4fe1
fix error type name and unified connection handle name
2018-01-16 11:15:39 +00:00
paul-szczepanek-arm
52669fff98
match accept pairing with request pairing
2018-01-16 11:10:03 +00:00
Vincent Coubard
d3ca4a9cb3
Merge branch 'palsm' into palsm-interface-improvement
2018-01-16 10:23:45 +00:00
paul-szczepanek-arm
b95943b28e
added more missing implementations for generic
...
removed virtual keyword since this is implementation
2018-01-15 22:32:57 +00:00
paul-szczepanek-arm
4dd5e7d124
match generic sm order with the rest, added missing set secure funcs
2018-01-15 22:17:05 +00:00
paul-szczepanek-arm
a5d98d9c66
rearrange security manager so it matches pal, insert missing paring funcs
2018-01-15 22:05:44 +00:00
paul-szczepanek-arm
585f60d1fc
missing irk added, authorisation for pairing optional, minor cleanup of names
2018-01-15 21:46:02 +00:00
paul-szczepanek-arm
c86d13a7cc
removed redundant param from pair req
2018-01-15 21:44:54 +00:00
paul-szczepanek-arm
b818b87965
remove redundant pal api calls
2018-01-15 20:22:13 +00:00
Vincent Coubard
e78840427a
Add few new types.
...
Remove c192, r192, c256 and r256 references.
Refactor function names
2018-01-15 19:42:32 +00:00
paul-szczepanek-arm
92a83cf526
generic security manager implements the pal handler, added first db entry handler
2018-01-15 19:02:53 +00:00
paul-szczepanek-arm
f308702b1d
split security entry
2018-01-15 18:14:39 +00:00
Vincent Coubard
03f07bb7ce
Refactor resolving list management.
...
Use address type from gap rather than BLEProtocol::AddressBytes_t .
2018-01-15 15:05:50 +00:00
Vincent Coubard
81904fd867
Remove bonded list storage from the adaptation layer.
...
Such processing should be handled at the upper layer.
Initiating encryption of a given connection should be made with the start
encryption command. This command accepts the parameters Rand, EDIV and
LTK.
A request of encryption request generate an LTK request event that is
forwarded to the upper layer which then reply with the LTK presents in the
Security DB or reject the request.
2018-01-15 14:36:32 +00:00
Vincent Coubard
be664d1c33
Remove whitelist management: already present in the gap addaptation layer.
2018-01-15 14:32:12 +00:00
Vincent Coubard
1ee56f6b83
Convert SecurityManagerEventHandler into a pure interface.
...
Convert most functions of SecurityManager into virtual pure functions.
Protect access to the get_event_handler function and remove function set_app_event_handler.
2018-01-15 14:25:27 +00:00
paul-szczepanek-arm
2f49b66c52
callbacks allow updates
2018-01-15 11:45:52 +00:00
paul-szczepanek-arm
145fcc5791
security db iface draft
2018-01-15 08:31:33 +00:00
Daniel Schuler
271b09cda6
Add presentation format descriptor support for NRF52
2018-01-13 15:49:40 -08:00
paul-szczepanek-arm
bbe408e82b
naming fix
2018-01-12 15:55:26 +00:00
paul-szczepanek-arm
5474083469
use direct params not struct for pairing
2018-01-12 15:51:24 +00:00
paul-szczepanek-arm
af4bdc7562
typo
2018-01-12 15:40:15 +00:00
paul-szczepanek-arm
8a01d8fcb0
encryption funcs
2018-01-12 15:32:11 +00:00
paul-szczepanek-arm
b81a2b9fdb
corrected list funcs
2018-01-12 14:55:13 +00:00
paul-szczepanek-arm
749e39b175
missing error messages for paring
2018-01-12 14:50:09 +00:00
paul-szczepanek-arm
ff690ee8d6
removed redundant settings funcstions from pal
2018-01-12 14:17:57 +00:00
paul-szczepanek-arm
ccd1c92bfe
params needs to be ref
2018-01-12 13:37:54 +00:00
paul-szczepanek-arm
ce6f032970
pairing params added
2018-01-12 12:41:43 +00:00
paul-szczepanek-arm
c202076d1e
clear up type confusion, added key funcs to pal
2018-01-12 12:00:34 +00:00
paul-szczepanek-arm
7325ca90fd
make clear which event handler it is, remove pairing result as that's covered by security complete
2018-01-12 11:36:03 +00:00
paul-szczepanek-arm
9a948b73da
minor name and compilation fixes
2018-01-12 11:18:26 +00:00
paul-szczepanek-arm
a45237dc51
split interfaces
2018-01-11 18:45:27 +00:00
paul-szczepanek-arm
6655b67dd6
legacy oob and pairing cancel
2018-01-11 18:27:45 +00:00
Cruz Monrreal
dc87f0b1e6
Merge pull request #5313 from pan-/ble-cordio-pal-gap
...
Cordio: Pal Gap implementation
2018-01-11 10:35:42 -06:00
Cruz Monrreal
b32828bc37
Merge pull request #5739 from pan-/nordic-new-client
...
BLE: Nordic pal client implementation
2018-01-11 10:26:47 -06:00
paul-szczepanek-arm
8a0aba398b
boilerplate
2018-01-11 13:17:47 +00:00
paul-szczepanek-arm
da3ecfc2e4
add keysize set and split up settings
2018-01-11 11:54:21 +00:00
paul-szczepanek-arm
827af85476
fixed call
2018-01-10 18:01:41 +00:00
paul-szczepanek-arm
1e3c1a96ec
fixed deafult event handler init and reset
2018-01-10 15:12:59 +00:00
Vincent Coubard
d33b02818a
BLE: Implement Generic GattClient reset logic.
2018-01-10 14:31:52 +00:00
Vincent Coubard
29988d5265
BLE: Align naming of GattClient procedure control blocks.
2018-01-10 14:18:00 +00:00
Vincent Coubard
3061db271d
BLE: Put generic gattclient procedures inside the GattClient class
2018-01-10 14:15:08 +00:00
paul-szczepanek-arm
67d1148a56
added timeout changed pointers to refs
2018-01-09 16:55:12 +00:00
Steven Cartmell
061795c489
Move in_critical_section implementation into the HAL
...
- Add function to HAL hal_in_critical_section()
- Wrap assert in FEATURE_UVISOR macro
2018-01-09 10:41:29 +00:00
Vincent Coubard
c5bc247217
Nordic BLE: Use SD API version rather than SDK define.
2018-01-08 14:00:23 +00:00
Vincent Coubard
e9ba84168b
Nordic BLE: Fix PalGattClient for SDK v13.
2018-01-08 13:52:42 +00:00
paul-szczepanek-arm
b1f73b4a5c
file rename to match class name
2018-01-08 12:12:47 +00:00
Vincent Coubard
e8bad03a1c
Nordic BLE: Simplification and clarification of pal client implementation.
2018-01-08 12:04:02 +00:00
Vincent Coubard
331e8f2aed
BLE: Fix include dependency in UUID.h.
2018-01-08 12:01:30 +00:00
paul-szczepanek-arm
580bfdfcb2
authorisation for pairing
2018-01-08 11:40:27 +00:00
paul-szczepanek-arm
0dcb9efb3e
add missing pal funcs, deprecate misnamed get link security
2018-01-08 11:28:48 +00:00
paul-szczepanek-arm
a268b6b831
decided to keep auth and sec mode and ditch ssp
2018-01-08 10:44:32 +00:00
paul-szczepanek-arm
2a05581177
no auth needed, security status for att
2018-01-07 23:18:14 +00:00
paul-szczepanek-arm
9863d71f44
requesting pair, force sc option
2018-01-07 22:22:55 +00:00
paul-szczepanek-arm
e1676dc1cc
added MITM to user facing security manager api
2018-01-05 17:32:49 +00:00
Steven Cartmell
e14bee5209
Fix potential race condition in critical section HAL API
...
Call underlying HAL implementation to enter critical section/disable interrupts
before incrementing the global critical section counter.
Modify HAL implementations to track first entrances to the critical section and
only update the saved state on first enter.
2018-01-05 14:55:58 +00:00
Steven Cartmell
3c9ae7bf1c
NRF51_DK: Add Critical Section HAL implementation
2018-01-05 14:55:57 +00:00
paul-szczepanek-arm
e75042e3e4
handle legacy callbacks
...
this way you can have both old porting code and new app code and new porting code and old app code and they both work
2018-01-04 15:08:40 +00:00
paul-szczepanek-arm
69b248ae68
generic security manager using the pal
2018-01-03 18:04:22 +00:00
paul-szczepanek-arm
eee2ddf709
class interface to avoid multiplying boilerplate code for the callbacks
2018-01-03 15:03:13 +00:00
paul-szczepanek-arm
6f7da0ce1d
mitm callbacks
2018-01-02 17:54:22 +00:00
paul-szczepanek-arm
ed405e1849
moving cbs to evt block
2017-12-22 16:41:45 +00:00
paul-szczepanek-arm
6fd1859881
draft pal
2017-12-22 16:37:28 +00:00
Vincent Coubard
70e5a14a4d
BLE: Generic Gap - fix address management.
2017-12-21 17:39:25 +00:00
Vincent Coubard
65f74bf8ac
BLE: Address GattClient comments
...
* invalid namespace name documentation
* vocabulary
* typo
* Add constants to improve readability
* Fix abort usages
2017-12-21 16:51:10 +00:00
Vincent Coubard
3fdb749a33
BLE: Remove old client implementation.
2017-12-20 16:27:12 +00:00
Vincent Coubard
865bd94fbd
BLE: Enable Generic client on Nordic targets.
2017-12-20 16:26:40 +00:00
Vincent Coubard
dea488b4f0
BLE: Introduce pal client adaptation layer for nordic targets.
2017-12-20 16:13:06 +00:00
Vincent Coubard
b554fce00f
BLE: Fix doxygen warnings.
2017-12-13 18:30:38 +00:00
Vincent Coubard
c621a92a6a
BLE: Put GapEvent into INVALID doxygen sections.
2017-12-13 16:15:21 +00:00
Vincent Coubard
82f669b61f
BLE: Fix doxygen warnings.
...
Replace @important tag by @attention.
2017-12-13 16:14:16 +00:00
Martin Kojtal
5c01c3e59c
Merge pull request #5633 from paul-szczepanek-arm/master
...
BLE: added function converting error codes into strings
2017-12-12 17:42:10 +00:00
Martin Kojtal
484b4a29d1
Merge pull request #5311 from pan-/ble-generic-gap
...
BLE: Add generic GAP implementation.
2017-12-12 17:38:06 +00:00
paul-szczepanek-arm
4ac75bd7b2
added function converting error codes into strings
2017-12-01 15:25:21 +00:00
Martin Kojtal
9f8ac6523c
Merge pull request #5300 from pan-/ble-pal-event-queue
...
Ble pal event queue
2017-11-30 18:16:45 +00:00
Martin Kojtal
969f8af386
Merge pull request #5589 from pan-/ble-nordic-set-description-handle
...
Nordic: Set handle of user description descriptors.
2017-11-30 18:07:48 +00:00
Martin Kojtal
1498a807c7
Merge pull request #5592 from pan-/ble-nordic-fix-gatt-server-write
...
BLE: Fix GattServer::write on Nordic targets.
2017-11-30 18:05:27 +00:00
Vincent Coubard
6c015b98c9
BLE: Fix greater than or equal to comparision in GattCharacteristic.
2017-11-27 19:08:33 +00:00
Vincent Coubard
6f19dea656
BLE: Fix GattServer::write on Nordic targets.
...
GattServer::write on Nordic's targets use sd_ble_gatts_hvx to send an
handle value Notification or Indication; This function can fail if the
connection handle is invalid or if Updates are not enabled for this
connection.
This patch workaround those limitations.
2017-11-27 18:56:51 +00:00
Vincent Coubard
a665f3e06d
Nordic: Set handle of user description descriptors.
2017-11-27 14:26:05 +00:00
Jimmy Brisson
1ea4e4c446
Merge pull request #5549 from pan-/ble-gatt-server-doc-update
...
Ble gatt server doc update
2017-11-22 10:21:11 -06:00
Jimmy Brisson
23408e40d1
Merge pull request #5299 from pan-/ble-generic-event-filter
...
Ble: generic event filter
2017-11-22 10:14:13 -06:00
Amanda Butler
8e7d74c91a
Update GattService.h
...
Fix minor typos.
2017-11-21 16:08:30 -06:00
Amanda Butler
1da844bdf9
Update GattServer.h
...
Copy edit, mostly for active voice and because American English treats collective nouns as singular.
2017-11-21 16:06:12 -06:00
Amanda Butler
70041c1fdc
Update GattCharacteristic.h
...
Make minor copy edits, mostly for American English.
2017-11-21 15:41:06 -06:00
Amanda Butler
036ea46c8f
Update GattAttribute.h
...
Make minor copy edits for precise language and active voice.
2017-11-21 15:03:03 -06:00
Vincent Coubard
d153af332c
BLE: Update GattServer documentation.
2017-11-21 18:30:08 +00:00
Vincent Coubard
c4351d31d8
BLE: Update GattAttribute documentation.
2017-11-17 14:39:39 +00:00
Martin Kojtal
2a7fcdfe48
Merge pull request #5296 from pan-/generic-access-service-abstraction-layer
...
BLE: Generic access service abstraction layer
2017-11-16 16:22:29 +00:00
Martin Kojtal
81dbd035ab
Merge pull request #5392 from pan-/improve-ble-docs
...
Improve ble docs
2017-11-16 16:21:50 +00:00
Martin Kojtal
b76b3f723d
Merge pull request #5472 from pan-/doc_battery_service
...
BLE: Update BatteryService documentation.
2017-11-16 16:17:50 +00:00
Amanda Butler
a855251cba
Copy edit HeartRateService.h
...
Make minor copy edits.
2017-11-13 04:12:03 -06:00
Vincent Coubard
93a4a2a87b
BLE: update heart rate service definition.
...
This patch includes:
* Documentation update.
* Code simplification and correctness; the value overloads based on the
size of the hrm counter has been removed in favor of runtime check which
is more correct.
* The control point characteristic has been removed since HeartRate value
byte does not support the accumulated energy expanded.
2017-11-10 15:38:39 +00:00
Vincent Coubard
220652ffac
BLE: Fix assertion in Battery service.
2017-11-10 11:02:48 +00:00
Amanda Butler
521345307b
Copy edit BatteryService.h
...
Make minor copy edits, mostly for active voice and U.S. spelling.
2017-11-09 12:39:18 -06:00
Vincent Coubard
423cd23ec0
BLE: Update BatteryService documentation.
2017-11-09 18:08:32 +00:00
Martin Kojtal
82f5b58f4c
Merge pull request #5295 from pan-/GAP-platform-abstraction-layer
...
BLE: Gap platform abstraction layer
2017-11-09 16:54:11 +00:00
Amanda Butler
3dc28ce01b
Copy edit GattCharacteristic.h
...
Copy edit file.
2017-11-08 15:09:00 -06:00
Amanda Butler
bdf0cbb3c9
Copy edit GapAdvertisingData.h
...
Copy edit file.
2017-11-08 14:58:38 -06:00
Amanda Butler
6f7f5ae57e
Copy edit GattClient.h
...
Make copy edits to file.
2017-11-08 14:14:04 -06:00
Amanda Butler
3a80f8b823
Copy edit Gap.h
...
Copy edit file.
2017-11-08 11:32:31 -06:00
Amanda Butler
6e20887724
Copy edit GattServer.h
...
Copy edit, mostly for consistent tense and hyphenation.
2017-11-07 17:56:44 -06:00
Amanda Butler
5178f89c8b
Copy edit GattCallbackParamTypes.h
...
Copy edit for active voice.
2017-11-07 17:42:40 -06:00
Amanda Butler
91fa78d980
Copy edit GapScanningParams.h
...
Copy edit, mostly for consistent tense across documents.
2017-11-07 17:33:16 -06:00
Amanda Butler
9052cf45c3
Copy edit GattAttribute.h
...
Make minor copy edits for active voice and phrasing.
2017-11-07 17:27:41 -06:00
Amanda Butler
fcb50dd5c8
Copy edit ServiceDiscovery.h
...
Make minor copy edits, mostly for consistent tense.
2017-11-07 17:24:17 -06:00
Amanda Butler
1720a484dd
Copy edit UUID.h
...
Copy edit, mostly for consistent tense and consistent use of hyphens.
2017-11-07 17:00:34 -06:00
Amanda Butler
71bc3f74da
Copy edit blecommon.h
...
Copy edit, mostly for consistent punctuation.
2017-11-07 16:33:49 -06:00