Z-Wave Protocol Controller Reference
Z-Wave Security Validation

Utility to verify if a frame should be discarded or kept based on its security level. More...

Collaboration diagram for Z-Wave Security Validation:

Functions

bool zwave_security_validation_is_security_valid_for_support (zwave_controller_encapsulation_scheme_t minimal_scheme, const zwave_controller_connection_info_t *connection)
 Verifies if a frame supported by us can be accepted based on the security it was received on. More...
 
bool zwave_security_validation_is_security_valid_for_control (const zwave_controller_connection_info_t *connection)
 Verifies if a frame supported by another node can be accepted based on the security it was received on. More...
 
bool zwave_security_validation_is_s2_nif_downgrade_attack_detected (zwave_node_id_t node_id, const uint8_t *nif, uint8_t nif_length)
 Verifies if a the S2 Command Class has disappeared from the NIF, whereas it was reported as supported previously. More...
 

Detailed Description

Utility to verify if a frame should be discarded or kept based on its security level.

Function Documentation

◆ zwave_security_validation_is_s2_nif_downgrade_attack_detected()

bool zwave_security_validation_is_s2_nif_downgrade_attack_detected ( zwave_node_id_t  node_id,
const uint8_t *  nif,
uint8_t  nif_length 
)

Verifies if a the S2 Command Class has disappeared from the NIF, whereas it was reported as supported previously.

Parameters
node_idThe NodeID for which the NIF is processed.
nifRaw byte array for the NIF.
nif_lengthThe length of the byte array.
Returns
True if the frame is accepted and should go through. False otherwise.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_security_validation_is_security_valid_for_control()

bool zwave_security_validation_is_security_valid_for_control ( const zwave_controller_connection_info_t connection)

Verifies if a frame supported by another node can be accepted based on the security it was received on.

Parameters
connectionConnection Info object to use for the remote node information.
Returns
True if the frame is accepted and should be accepted. False otherwise.
Here is the call graph for this function:

◆ zwave_security_validation_is_security_valid_for_support()

bool zwave_security_validation_is_security_valid_for_support ( zwave_controller_encapsulation_scheme_t  minimal_scheme,
const zwave_controller_connection_info_t connection 
)

Verifies if a frame supported by us can be accepted based on the security it was received on.

Parameters
minimal_schemeThe minimal security scheme that the Command Class handler has registered.
connectionConnection Info object to use for the remote node information.
Returns
True if the frame is accepted and should be accepted. False otherwise.
Here is the call graph for this function:
Here is the caller graph for this function: