mirror of https://github.com/ARMmbed/mbed-os.git
display passkey handling, added null check to passkey contructor
parent
00b1b17e62
commit
1bf0d7b921
|
@ -51,7 +51,11 @@ public:
|
|||
static const uint8_t NUMBER_OFFSET = '0';
|
||||
|
||||
PasskeyAsci(uint8_t* passkey) {
|
||||
memcpy(asci, passkey, SecurityManager::PASSKEY_LEN);
|
||||
if (passkey) {
|
||||
memcpy(asci, passkey, SecurityManager::PASSKEY_LEN);
|
||||
} else {
|
||||
memset(asci, NUMBER_OFFSET, SecurityManager::PASSKEY_LEN);
|
||||
}
|
||||
}
|
||||
PasskeyAsci() {
|
||||
memset(asci, NUMBER_OFFSET, SecurityManager::PASSKEY_LEN);
|
||||
|
@ -92,6 +96,7 @@ struct SecurityEntry_t {
|
|||
uint8_t encrypt_data:1;
|
||||
uint8_t oob_mitm_protection:1;
|
||||
uint8_t oob:1;
|
||||
uint8_t secure_connections:1;
|
||||
};
|
||||
|
||||
struct SecurityEntryKeys_t {
|
||||
|
@ -183,7 +188,7 @@ public:
|
|||
bondable = initBondable;
|
||||
mitm = initMITM;
|
||||
iocaps = initIocaps;
|
||||
passkey = PasskeyAsci(initPasskey);
|
||||
displayPasskey = PasskeyAsci(initPasskey);
|
||||
legacyPairingAllowed = true;
|
||||
|
||||
return BLE_ERROR_NONE;
|
||||
|
@ -228,9 +233,9 @@ public:
|
|||
// Security settings
|
||||
//
|
||||
|
||||
ble_error_t setPasskey(const Passkey_t passkeyASCI, bool isStatic = false) {
|
||||
// FIXME: ADD API in the pal to set default passkey!
|
||||
return BLE_ERROR_NOT_IMPLEMENTED;
|
||||
virtual ble_error_t setDisplayPasskey(const Passkey_t passkey) {
|
||||
displayPasskey = passkey;
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
|
||||
ble_error_t setAuthenticationTimeout(connection_handle_t connection,
|
||||
|
@ -396,7 +401,7 @@ private:
|
|||
SecurityDb db;
|
||||
|
||||
SecurityIOCapabilities_t iocaps;
|
||||
PasskeyNum passkey;
|
||||
PasskeyNum displayPasskey;
|
||||
|
||||
bool mitm;
|
||||
bool bondable;
|
||||
|
|
Loading…
Reference in New Issue