From 628ffea6de30d9f8c24d3c9a73b51ade6b2dfd82 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 1 Mar 2018 14:55:45 +0000 Subject: [PATCH] BLE - Cordio PAL SM: Forward local keys --- .../source/CordioPalSecurityManager.cpp | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp index 747a798682..730035ed14 100644 --- a/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp +++ b/features/FEATURE_BLE/targets/TARGET_CORDIO/source/CordioPalSecurityManager.cpp @@ -503,22 +503,16 @@ bool CordioSecurityManager::sm_handler(const wsfMsgHdr_t* msg) { switch(evt->type) { case DM_KEY_LOCAL_LTK: - // FIXME: forward local ltk -#if 0 - printf("local ltk: "); - for (size_t i = 0; i < sizeof(ltk_t); ++i) { - printf("%02X ", evt->keyData.ltk.key[i]); - } - printf("\r\n"); + handler->on_keys_distributed_local_ltk( + connection, + ltk_t(reinterpret_cast(evt->keyData.ltk.key)) + ); - printf("local ediv: %04X\r\n", evt->keyData.ltk.ediv); - printf("local rand: "); - for (size_t i = 0; i < sizeof(rand_t); ++i) { - printf("%02X ", evt->keyData.ltk.rand[i]); - } - printf("\r\n"); - memcpy(local_ltk, evt->keyData.ltk.key, sizeof(local_ltk)); -#endif + handler->on_keys_distributed_local_ediv_rand( + connection, + ediv_t(reinterpret_cast(&(evt->keyData.ltk.ediv))), + evt->keyData.ltk.rand + ); break; case DM_KEY_PEER_LTK: