added timeout changed pointers to refs

pull/6188/head
paul-szczepanek-arm 2018-01-09 16:55:12 +00:00
parent b1f73b4a5c
commit 67d1148a56
3 changed files with 36 additions and 15 deletions

View File

@ -152,7 +152,7 @@ public:
return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */
} }
virtual ble_error_t getLinkSecurity(Gap::Handle_t handle, SecurityMode_t *mode) { virtual ble_error_t getLinkSecurity(Gap::Handle_t handle, SecurityMode_t &mode) {
(void) handle; (void) handle;
(void) mode; (void) mode;
return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */
@ -212,6 +212,17 @@ public:
return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */ return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */
} }
virtual ble_error_t setAuthenticationTimeout(connection_handle_t handle, uint32_t timeout_in_ms) {
(void) handle;
(void) timeout_in_ms;
return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */
}
virtual ble_error_t getAuthenticationTimeout(connection_handle_t handle, uint32_t *timeout_in_ms) {
(void) handle;
(void) timeout_in_ms;
return BLE_ERROR_NOT_IMPLEMENTED; /* Requesting action from porters: override this API if security is supported. */
}
virtual ble_error_t setSecureConnectionsSupport(bool enabled, bool secure_connections_only = false) { virtual ble_error_t setSecureConnectionsSupport(bool enabled, bool secure_connections_only = false) {
(void) enabled; (void) enabled;
(void) secure_connections_only; (void) secure_connections_only;

View File

@ -97,7 +97,7 @@ public:
virtual ble_error_t refresh_encryption_key(connection_handle_t) = 0; virtual ble_error_t refresh_encryption_key(connection_handle_t) = 0;
virtual ble_error_t set_authentication_timeout(connection_handle_t, uint16_t timeout /*x10 ms*/) = 0; virtual ble_error_t set_authentication_timeout(connection_handle_t, uint16_t timeout /*x10 ms*/) = 0;
virtual ble_error_t get_authentication_timeout(connection_handle_t, uint16_t *timeout /*x10 ms*/) = 0; virtual ble_error_t get_authentication_timeout(connection_handle_t, uint16_t &timeout /*x10 ms*/) = 0;
virtual ble_error_t set_pin_code(uint8_t pin_length, uint8_t *pin_code, bool static_pin = false) = 0; virtual ble_error_t set_pin_code(uint8_t pin_length, uint8_t *pin_code, bool static_pin = false) = 0;
virtual ble_error_t set_passkey(passkey_num_t passkey) = 0; virtual ble_error_t set_passkey(passkey_num_t passkey) = 0;
@ -105,9 +105,9 @@ public:
/* feature support */ /* feature support */
virtual ble_error_t set_secure_connections_support(bool enabled, bool secure_connections_only = false) = 0; virtual ble_error_t set_secure_connections_support(bool enabled, bool secure_connections_only = false) = 0;
virtual ble_error_t get_secure_connections_support(bool *enabled, bool *secure_connections_only) = 0; virtual ble_error_t get_secure_connections_support(bool &enabled, bool &secure_connections_only) = 0;
virtual ble_error_t get_encryption_key_size(connection_handle_t, uint8_t *size) = 0; virtual ble_error_t get_encryption_key_size(connection_handle_t, uint8_t &size) = 0;
/* security level */ /* security level */
@ -115,7 +115,7 @@ public:
SecurityIOCapabilities_t iocaps = IO_CAPS_NONE, SecurityIOCapabilities_t iocaps = IO_CAPS_NONE,
bool send_keypresses = false) = 0; bool send_keypresses = false) = 0;
virtual ble_error_t set_oob_data_usage(Gap::Handle_t connectionHandle, bool useOOB, bool OOBProvidesMITM) = 0; virtual ble_error_t set_oob_data_usage(connection_handle_t connectionHandle, bool useOOB, bool OOBProvidesMITM) = 0;
/* triggers pairing if required */ /* triggers pairing if required */
virtual ble_error_t set_security_mode(connection_handle_t handle, virtual ble_error_t set_security_mode(connection_handle_t handle,
@ -123,11 +123,11 @@ public:
virtual ble_error_t get_security_mode(connection_handle_t handle, virtual ble_error_t get_security_mode(connection_handle_t handle,
SecurityMode_t *mode) = 0; SecurityMode_t &mode) = 0;
virtual ble_error_t get_encryption_status(connection_handle_t handle, virtual ble_error_t get_encryption_status(connection_handle_t handle,
LinkSecurityStatus_t *mode) = 0; LinkSecurityStatus_t &mode) = 0;
virtual ble_error_t request_pairing(bool authentication_required = true) = 0; virtual ble_error_t request_pairing(bool authentication_required = true) = 0;
virtual ble_error_t accept_pairing_request(bool accept = true, bool authentication_required = true) = 0; virtual ble_error_t accept_pairing_request(bool accept = true, bool authentication_required = true) = 0;
@ -142,10 +142,10 @@ public:
virtual ble_error_t passkey_entered(connection_handle_t, Passkey_t passkey) = 0; virtual ble_error_t passkey_entered(connection_handle_t, Passkey_t passkey) = 0;
virtual ble_error_t send_keypress_notification(connection_handle_t, Keypress_t keypress) = 0; virtual ble_error_t send_keypress_notification(connection_handle_t, Keypress_t keypress) = 0;
virtual ble_error_t set_oob(connection_handle_t handle, C192_t*, R192_t*) = 0; virtual ble_error_t set_oob(connection_handle_t handle, C192_t&, R192_t&) = 0;
virtual ble_error_t set_extended_oob(connection_handle_t handle, C192_t*, R192_t*, C256_t*, R256_t*) = 0; virtual ble_error_t set_extended_oob(connection_handle_t handle, C192_t&, R192_t&, C256_t&, R256_t&) = 0;
virtual ble_error_t get_local_oob_data(connection_handle_t handle, C192_t*, R192_t*) = 0; virtual ble_error_t get_local_oob_data(connection_handle_t handle, C192_t&, R192_t&) = 0;
virtual ble_error_t get_local_extended_oob_data(connection_handle_t handle, C192_t*, R192_t*, C256_t*, R256_t*) = 0; virtual ble_error_t get_local_extended_oob_data(connection_handle_t handle, C192_t&, R192_t&, C256_t&, R256_t&) = 0;
/* Entry points for the underlying stack to report events back to the user. */ /* Entry points for the underlying stack to report events back to the user. */
public: public:

View File

@ -18,7 +18,7 @@
#define __GENERIC_SECURITY_MANAGER_H__ #define __GENERIC_SECURITY_MANAGER_H__
#include "SecurityManager.h" #include "SecurityManager.h"
#include "PalSm.h" #include "PalSecurityManager.h"
namespace ble { namespace ble {
namespace generic { namespace generic {
@ -34,7 +34,7 @@ public:
(void)requireMITM; (void)requireMITM;
loadState(); loadState();
pal.set_security_settings(enableBonding, iocaps); pal.set_security_settings(enableBonding, iocaps);
pal.set_passkey(passkey); setPasskey(passkey);
return BLE_ERROR_NONE; return BLE_ERROR_NONE;
} }
@ -51,8 +51,18 @@ public:
} }
} }
virtual ble_error_t setAuthenticationTimeout(connection_handle_t handle, uint32_t timeout_in_ms) {
return pal.set_authentication_timeout(handle, timeout_in_ms / 10);
}
virtual ble_error_t getAuthenticationTimeout(connection_handle_t handle, uint32_t *timeout_in_ms) {
uint16_t timeout_in_10ms;
ble_error_t status = pal.get_authentication_timeout(handle, timeout_in_10ms);
timeout_in_ms = 10 * timeout_in_10ms;
return status;
}
virtual ble_error_t getLinkSecurity(Gap::Handle_t connectionHandle, LinkSecurityStatus_t *securityStatusP) { virtual ble_error_t getLinkSecurity(Gap::Handle_t connectionHandle, LinkSecurityStatus_t *securityStatusP) {
return pal.get_encryption_status(connectionHandle, securityStatusP); return pal.get_encryption_status(connectionHandle, *securityStatusP);
} }
ble_error_t setLinkSecurity(Gap::Handle_t connectionHandle, SecurityMode_t securityMode) { ble_error_t setLinkSecurity(Gap::Handle_t connectionHandle, SecurityMode_t securityMode) {