Vincent Coubard
4d0126898c
BLE Nordic: Initialize and teardown tls platform context
2018-06-01 17:12:49 +01:00
paul-szczepanek-arm
e534f3b997
fix erroneous assert
2018-06-01 15:57:51 +01:00
paul-szczepanek-arm
ff7b13837f
check for invalid param
2018-06-01 15:57:39 +01:00
paul-szczepanek-arm
3a2dc69f11
fix not updating size of array
2018-06-01 15:57:22 +01:00
Andrew Leech
bf313aa1db
Move mbed_lib.json from targets folder to feature_ble folder
...
The functionality added all affects BLE features in use so this location is a better fit.
2018-06-01 13:37:16 +10:00
Andrew Leech
ff5ca11253
Allow configuration (via defines) of some of the key settings for the NRF51 softdevice.
...
* CENTRAL_LINK_COUNT
* PERIPHERAL_LINK_COUNT
* gatts_enable_params.attr_tab_size
* gatts_enable_params.service_changed
* common_enable_params.vs_uuid_count
These settings control the range of functionality enabled in the softdevice as well as ram consumption.
In particular reducing these values is critical to enable usage of 16K nrf51 devices.
2018-06-01 13:23:01 +10:00
Donatien Garnier
5da5ef45c0
Cordio H4: Added some comments explaining the use of RawSerial as opposed to using Serial
2018-05-31 11:11:28 -05:00
Donatien Garnier
0cb86ded76
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver
2018-05-31 10:28:45 -05:00
Cruz Monrreal
791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
...
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Donatien Garnier
f08ac2e9b2
Merge pull request #52 from pan-/fix-privacy-nrf52
...
Fix privacy nrf52
2018-05-23 11:50:28 -05:00
Vincent Coubard
db4d14c89d
BLE NRF52: Fix advertising filtering when no bonds are present.
2018-05-23 17:27:18 +01:00
Vincent Coubard
ef208912a6
BLE NRF52: Report correct own address type for connection
...
The function that gets the address doesn't work when privacy is enabled; report own address as private resolvable.
2018-05-23 17:27:18 +01:00
Vincent Coubard
30dac7cd8c
BLE NRF52: Fix identity address flag in connection request.
2018-05-23 17:27:07 +01:00
Vincent Coubard
1ba5a112f4
BLE: Fix wrong macro name for IAR
2018-05-23 17:11:26 +01:00
paul-szczepanek-arm
de41355c5c
Fix not processing all advertising reports if one is filtered out
...
filtering out individual reports instead of all
2018-05-23 14:24:54 +01:00
Paul Szczepanek
f4b7f32793
Merge pull request #49 from pan-/fix-privacy-backward-compatibility
...
Fix privacy backward compatibility
2018-05-23 14:20:49 +01:00
Vincent Coubard
cfe325cf0e
BLE NRF51: Do not filter advertising packet in peripheral if the device as no bond.
2018-05-22 17:40:18 +01:00
Vincent Coubard
ba61c09ffc
BLE NRF51: Resolve private address on connection in peripheral role
...
Soft device inconsistency: The address is not resolved automatically if the device is a peripheral.
2018-05-22 17:39:03 +01:00
Vincent Coubard
755cf5fa5f
BLE NRF51: Defer connection to a common function.
...
The soft device is not consistent as it is required to force the connection to a resolved resolvable address so it should be known if the target is an identity address.
2018-05-22 17:37:57 +01:00
Vincent Coubard
d427fcfb59
Nordic BLE: Remove dependency to mbedtls for CryptoToolbox::ah.
2018-05-22 17:33:49 +01:00
paul-szczepanek-arm
69a0c10f00
removing erroneous (and redundant) check
...
this is gating on the wrong flag and the call doesn't require a check in the first place
2018-05-22 14:37:02 +01:00
paul-szczepanek-arm
08cb7aefd2
fix not writing flags in the file
...
flags kept with the rest of data for each entry
2018-05-22 14:08:09 +01:00
paul-szczepanek-arm
84ff831141
measure file size with SEEK_END
...
I thought that's not portable but the rest of the codebase uses it so no reason not to
2018-05-22 12:25:11 +01:00
paul-szczepanek-arm
1cd0c20fd0
fix opening the file in the wrong mode
2018-05-22 12:11:07 +01:00
paul-szczepanek-arm
7d916a9997
fix not writing version number into the file
2018-05-22 11:45:38 +01:00
Andrew Leech
67140a2706
Redirect NRF asserts to mbed error() in TARGET_NRF5x and SDK 14.2
...
Add related details to TARGET_NRF5x Readme's
2018-05-22 11:36:31 +10:00
Andrew Leech
cfd248ee05
Enable ASSERTS's in nrf sdk to catch coding errors.
...
These will now flow through to mbed standard error handling.
2018-05-22 11:36:30 +10:00
Vincent Coubard
fb9e0dcbe7
BLE: Fix resolvable private address identification.
2018-05-21 15:30:19 +01:00
Vincent Coubard
b973a8a490
BLE: Add default constructor to peer_address_type_t
2018-05-21 15:29:54 +01:00
Vincent Coubard
bdad5d6496
BLE Generic: Handle peer address type backward compatibility.
2018-05-21 13:29:06 +01:00
Vincent Coubard
cc286fe84c
BLE: Cordio pal: Handle enhanced connection events.
2018-05-21 13:22:53 +01:00
Vincent Coubard
cbba6dd0d6
BLE PAL: Update connection event to support enhanced connection events.
2018-05-21 13:22:31 +01:00
Vincent Coubard
57ffa14b4b
Nordic BLE: Backport privacy backward compatibility to NRF51
2018-05-21 13:21:46 +01:00
paul-szczepanek-arm
62ba220100
doxygen fix
2018-05-21 11:42:32 +01:00
paul-szczepanek-arm
17e8ed9401
forward resolving list init
2018-05-21 11:34:40 +01:00
Vincent Coubard
14a1095c31
Nordic BLE: Disable secure connection support on NRF51.
2018-05-21 10:34:09 +01:00
Vincent Coubard
4c1a309117
Nordic BLE: Set own resolvable address to NULL.
...
This address is not accessible to the application.
2018-05-21 10:22:01 +01:00
Vincent Coubard
d962fc0174
BLE: factor code in GAP.
2018-05-21 10:20:43 +01:00
Vincent Coubard
28766bd873
BLE: Do not pass peer resolvable address in connection event handler
2018-05-21 10:17:44 +01:00
paul-szczepanek-arm
cd9f12ab45
return error codes
2018-05-18 13:59:30 +01:00
paul-szczepanek-arm
ace491d430
remove duplicate call
2018-05-18 13:54:15 +01:00
paul-szczepanek-arm
9da64e529e
refactor into separate functions for readability and correctness of pal matching db
2018-05-18 13:46:55 +01:00
paul-szczepanek-arm
439d002f7d
new API call to change db at runtime
2018-05-18 12:34:52 +01:00
paul-szczepanek-arm
608ad338e8
return error when not initialised
2018-05-18 10:24:16 +01:00
Vincent Coubard
c3bcd10cfd
BLE NRF52: Implement features related to peer_address_t
...
The overload of Gap::connect that accept peer_address_t has been added and gap connection and advertising report process have been updated to exploit peer_address_t in a backward compatible fashion.
2018-05-18 10:09:07 +01:00
Vincent Coubard
d361960aa3
BLE: Use peer_address_type_t instead of the legacy address in security manager.
2018-05-18 10:04:27 +01:00
paul-szczepanek-arm
a8ac925b4f
privacy doxygen overview
2018-05-17 16:48:49 +01:00
paul-szczepanek-arm
7e69444458
security manager doxygen overview updated
2018-05-17 14:10:57 +01:00
Vincent Coubard
a052afdd40
BLE: Update APIs to take advantage of ble::peer_address_type_t
...
Deprecation:
* Gap::AdvertisementCallback::addressType has been deprecated in favor of Gap::AdvertisementCallback::peerAddrType.
* Gap::ConnectionCallbackParams::peerAddrType has been deprecated in favor of Gap::ConnectionCallbackParams::peerAddressType.
* Gap::ConnectionCallbackParams::ownAddr has been deprecated in favor of nothing else as this information may be not available.
Overloads added to accept a peer_address_t:
* Gap::connect
* Gap::processConnectionEvent
* Gap::processAdvertisingReport
2018-05-17 13:27:15 +01:00
Vincent Coubard
0eb680a08b
GenericGap: Revert changes introduced to accomodate privacy.
2018-05-17 10:56:29 +01:00
Vincent Coubard
7f05fc0e00
BLE: Define peer_address_type_t
...
This type model a peer address, unlike BLEProtocol::AddressType, it is compatible with privacy concepts.
2018-05-17 10:30:24 +01:00
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