Nic Costa
55507eaf75
Fix race condition when generating OOB data
...
The GenericSecurityManager tracks the most recent OOB data generated
by the PAL and the PAL function to generate OOB data is expected to
be asynchronous such that the OOB data is returned via a callback.
There was a race condition on the security manager's oob data variable
because it was cleared (set to all zeros) after calling PAL generate.
The expectation was that the clear operation would occur before the
callback executed, but this is proving to not be the case. Instead,
the callback is being executed as if it were syncronous with PAL
generate, then PAL generate returns and the oob data is cleared,
thereby losing the generated oob data that was set in the callback.
To fix the issue, clear the oob data variables before calling into
the PAL.
2019-01-11 08:54:30 -06:00
Vincent Coubard
78d4a9b6c8
BLE: Cleanup enum duplicates in gap/Types.h
2018-11-26 10:24:35 +00:00
Vincent Coubard
02d61cfe24
BLE: Move new version of ::GAP in a new class ::ble::Gap .
2018-11-26 10:24:34 +00:00
paul-szczepanek-arm
e92863a7be
store secure connections ltk in both local and peer entry
2018-08-02 15:33:47 +01:00
paul-szczepanek-arm
bd8572e20f
missing return
...
function would potentially send a reject and accept at the same time
2018-06-07 17:18:08 +01:00
paul-szczepanek-arm
ff7b13837f
check for invalid param
2018-06-01 15:57:39 +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
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
17e8ed9401
forward resolving list init
2018-05-21 11:34:40 +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
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
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
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
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
23c6a69d66
key dist flags only in db now and not in control block of sec manager
2018-05-13 23:26:34 +01:00
paul-szczepanek-arm
ab117737fa
write back counter, sync entry by hand;e
2018-05-13 22:55:47 +01: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
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
Paul Szczepanek
9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic
2018-05-08 18:01:41 +01:00
Vincent Coubard
4e5639f5ca
BLE: Support encryption with secure connection key.
2018-05-02 17:51:48 +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
b0d5ba33bb
BLE: return an error when application tries to turn down encryption.
2018-04-20 15:49:14 +01:00
paul-szczepanek-arm
d1f3e4fd27
don't require master sends keys for signing key
2018-04-20 09:33:54 +01:00
Vincent Coubard
951a6be4c8
BLE: retrieve and fill resolving list at GenericSecurityManager startup.
2018-04-17 15:58:21 +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
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
55d3423a5e
typedef uint32_t
2018-04-09 13:35:17 +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
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
539a11ee31
sign counter added
2018-04-04 15:59:10 +01:00
paul-szczepanek-arm
cbf80e9da5
typos, style and other review fixes
2018-04-03 15:41:43 +01:00