Skip to content

Commit

Permalink
Merge pull request ARMmbed#10 from pan-/palsm-orig
Browse files Browse the repository at this point in the history
Cordio PAL SM alignement
  • Loading branch information
paul-szczepanek-arm committed Jan 19, 2018
2 parents 49e1fc3 + 818ec8c commit 9082065
Show file tree
Hide file tree
Showing 3 changed files with 145 additions and 67 deletions.
4 changes: 2 additions & 2 deletions features/FEATURE_BLE/ble/pal/PalSecurityManager.h
Expand Up @@ -39,8 +39,8 @@ typedef uint8_t oob_data_t[16];
typedef uint8_t irk_t[16];
typedef uint8_t csrk_t[16];
typedef uint8_t ltk_t[16];
typedef uint8_t ediv_t[8];
typedef uint8_t rand_t[2];
typedef uint8_t ediv_t[2];
typedef uint8_t rand_t[8];
typedef uint8_t random_data_t[8];
typedef uint32_t passkey_num_t;

Expand Down
Expand Up @@ -66,16 +66,16 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
virtual ble_error_t add_device_to_resolving_list(
advertising_peer_address_type_t peer_identity_address_type,
address_t peer_identity_address,
irk_t peer_irk,
irk_t local_irk
const irk_t peer_irk,
const irk_t local_irk
);

/**
* @see ::ble::pal::SecurityManager::remove_device_from_resolving_list
*/
virtual ble_error_t remove_device_from_resolving_list(
advertising_peer_address_type_t peer_identity_address_type,
address_t peer_identity_address
const address_t& peer_identity_address
);

/**
Expand Down Expand Up @@ -168,17 +168,17 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
/**
* @see ::ble::pal::SecurityManager::set_ltk
*/
virtual ble_error_t set_ltk(connection_handle_t connection, ltk_t ltk);
virtual ble_error_t set_ltk(connection_handle_t connection, const ltk_t ltk);

/**
* @see ::ble::pal::SecurityManager::set_irk
*/
virtual ble_error_t set_irk(const irk_t& irk);
virtual ble_error_t set_irk(const irk_t irk);

/**
* @see ::ble::pal::SecurityManager::set_csrk
*/
virtual ble_error_t set_csrk(const csrk_t& csrk);
virtual ble_error_t set_csrk(const csrk_t csrk);

/**
* @see ::ble::pal::SecurityManager::generate_irk
Expand All @@ -190,6 +190,28 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
*/
virtual ble_error_t generate_csrk();

////////////////////////////////////////////////////////////////////////////
// Global parameters
//

/**
* @see ::ble::pal::SecurityManager::set_display_passkey
*/
virtual ble_error_t set_display_passkey(const passkey_num_t passkey);

/**
* @see ::ble::pal::SecurityManager::set_io_capability
*/
virtual ble_error_t set_io_capability(io_capability_t io_capability);

/**
* @see ::ble::pal::SecurityManager::set_encryption_key_requirements
*/
virtual ble_error_t set_encryption_key_requirements(
uint8_t min_encryption_key_size,
uint8_t max_encryption_key_size
);

////////////////////////////////////////////////////////////////////////////
// Authentication
//
Expand All @@ -199,10 +221,8 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
*/
virtual ble_error_t send_pairing_request(
connection_handle_t connection,
io_capability_t io_capability,
bool oob_data_flag,
AuthenticationMask authentication_requirements,
uint8_t maximum_encryption_key_size,
KeyDistribution initiator_dist,
KeyDistribution responder_dist
);
Expand All @@ -212,10 +232,8 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
*/
virtual ble_error_t send_pairing_response(
connection_handle_t connection,
io_capability_t io_capability,
bool oob_data_flag,
AuthenticationMask authentication_requirements,
uint8_t maximum_encryption_key_size,
KeyDistribution initiator_dist,
KeyDistribution responder_dist
);
Expand Down Expand Up @@ -252,7 +270,7 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {
* @see ::ble::pal::SecurityManager::oob_data_request_reply
*/
virtual ble_error_t oob_data_request_reply(
connection_handle_t connection, const oob_data_t& oob_data
connection_handle_t connection, const oob_data_t oob_data
);

/**
Expand All @@ -274,6 +292,10 @@ class CordioSecurityManager : public ::ble::pal::SecurityManager {

// Event handler
static bool sm_handler(const wsfMsgHdr_t* msg);

private:
bool _use_default_passkey;
passkey_num_t _default_passkey;
};

} // cordio
Expand Down

0 comments on commit 9082065

Please sign in to comment.