From 1ac95e105b3de3da0a0985de9cc2178799d39d8f Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Tue, 1 May 2018 11:50:59 +0100 Subject: [PATCH] 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. --- .../source/generic/GenericSecurityManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp b/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp index e0dac6d25c..f531b7d2b5 100644 --- a/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp +++ b/features/FEATURE_BLE/source/generic/GenericSecurityManager.cpp @@ -139,14 +139,16 @@ ble_error_t GenericSecurityManager::requestPairing(connection_handle_t connectio _default_key_distribution.get_link() ); + initiator_distribution.set_signing( + cb->signing_override_default ? + cb->signing_requested : + _default_key_distribution.get_signing() + ); + /* if requested the initiator may send all the default keys for later * use when roles are changed */ if (_master_sends_keys) { initiator_distribution = _default_key_distribution; - /* override default if requested */ - if (cb->signing_override_default) { - initiator_distribution.set_signing(cb->signing_requested); - } } KeyDistribution responder_distribution(_default_key_distribution);