#include "CC_UserCredential.h"
Go to the source code of this file.
Typedefs | |
typedef bool(* | u3c_credential_type_validator_t) (u3c_credential_t *, RECEIVE_OPTIONS_TYPE_EX *) |
Functions | |
bool | find_existing_credential (const u3c_credential_t *const p_credential, u3c_credential_metadata_t *p_existing_metadata) |
bool | validate_credential_data (u3c_credential_t *p_credential, RECEIVE_OPTIONS_TYPE_EX *p_rx_options) |
bool | validate_new_credential_metadata (const u3c_credential_metadata_t *const p_metadata) |
bool | validate_associated_uuid (uint16_t uuid) |
bool | validate_new_credential_data (u3c_credential_t *p_credential, RECEIVE_OPTIONS_TYPE_EX *p_rx_options) |
bool | validate_admin_pin_code (u3c_admin_code_metadata_t *const data) |
Validates that credential does not exist in the database, is not a duplicate of the admin code and conforms to the manufacturer security rules. | |
bool | validate_user_name_encoding (const uint8_t *p_name, uint8_t p_name_length, u3c_user_name_encoding p_name_encoding) |
User Credential Command Class credential validation.
typedef bool(* u3c_credential_type_validator_t) (u3c_credential_t *, RECEIVE_OPTIONS_TYPE_EX *) |
Function pointer type for Credential Type Validators
bool find_existing_credential | ( | const u3c_credential_t *const | p_credential, |
u3c_credential_metadata_t * | p_existing_metadata ) |
Checks whether a Credential is identical to an existing Credential in the database.
[in] | p_credential | Pointer to the incoming credential |
[out] | p_existing_metadata | Pointer to the existing credential metadata (valid only if true was returned) |
bool validate_admin_pin_code | ( | u3c_admin_code_metadata_t *const | data | ) |
Validates that credential does not exist in the database, is not a duplicate of the admin code and conforms to the manufacturer security rules.
This function checks that the following requirements are satisfied:
CC:0083.01.1A.13.004 - AC is not a duplicate of the current AC CC:0083.01.1A.13.005 - AC is not a duplicate of the existing credential CC:0083.01.1A.11.011 - Manufacturer and application specific requirements
data | Pointer to structure containing Admin Code information. |
bool validate_associated_uuid | ( | uint16_t | uuid | ) |
Validates that a UUID belongs to an existing user.
[in] | uuid | UUID to check if exists |
bool validate_credential_data | ( | u3c_credential_t * | p_credential, |
RECEIVE_OPTIONS_TYPE_EX * | p_rx_options ) |
Function for validating a Credential against the rules mandated by the specification
[in] | p_credential | Pointer to the incoming credential |
[in] | p_rx_options | Pointer to the properties of the incoming frame |
bool validate_new_credential_data | ( | u3c_credential_t * | p_credential, |
RECEIVE_OPTIONS_TYPE_EX * | p_rx_options ) |
Validates that a new Credential is not a duplicate and that it conforms to the manufacturer's security rules and sends the required reports if these checks fail.
[in] | p_credential | Pointer to the incoming Credential data |
[in] | p_rx_options | Pointer to the properties of the incoming frame (set to NULL if a response should not be sent) |
bool validate_new_credential_metadata | ( | const u3c_credential_metadata_t *const | p_metadata | ) |
Validates that a new Credential conforms to the active configuration of the User Credential Command Class.
[in] | p_metadata | Pointer to the incoming Credential data |
bool validate_user_name_encoding | ( | const uint8_t * | p_name, |
uint8_t | p_name_length, | ||
u3c_user_name_encoding | p_name_encoding ) |
Validates user name encoding.
[in] | p_name | User name string. |
[in] | p_name_length | Length of username in bytes. |
[in] | p_name_encoding | User name encoding. |