[1.0.0]
Changed
- Enhanced internal test runner logging and error reporting.
- Renamed
LT_L2_LAST_RETtoLT_RET_T_LAST_VALUEfor clarity inlt_ret_t. - Refactored
lt_ex_macanddexample. - Refactored
lt_ex_hello_world_separate_APIexample. - Refactored
lt_ex_hello_worldexample. - Refactored
lt_ex_hw_walletexample. - Use
LIBT_DEBUGinstead ofNDEBUGinlt_port_{unix_tcp,raspberrypi_wiringpi}.c. - Renamed
config_description_tabletocfg_desc_table. - Functions
lt_ecc_eddsa_sign(),lt_ecc_ecdsa_sign(),lt_ecc_eddsa_sig_verify()andlt_ecc_ecdsa_sig_verify()accept zero length of the message to be signed. - Function
lt_ecc_ecdsa_sign()does not restrict message length - type ofmsg_lenchanged tosize_t. - Renamed
lt_random_get()tolt_random_value_get(), along with the separate API, to match the command name in the User API. - Renamed
L3_PACKET_MAX_SIZEtoL3_CYPHERTEXT_MAX_SIZE. - Renamed
L3_FRAME_MAX_SIZEtoL3_PACKET_MAX_SIZE. - Set
L3_RES_SIZE_SIZEdirectly to value 2. - Renamed
STATICtoLT_STATICdue to naming conflicts. - Moved
lt_uart_def_unix_ttolibtropic_port.h. - Updated
enum CONFIGURATION_OBJECTS_REGSwith values frominclude/tropic01_application_co.handinclude/tropic01_bootloader_co.hto be compatible with User API v1.3.0. - Use strict format string types from
inttypes.hor%zuforsize_t(increases good portability). - Moved
model_based_project/fromtests/to repo root and renamed totropic01_model/. - Added prefix
lt_to all helper functions. - Renamed Generic Linux SPI port to
lt_port_unix_spi.c. - Runtime state of Generic Linux ports (SPI, USB) is now kept in device structure in handle. This structure
is also used for port configuration (device mapping, speeds...). - Strict compile flags can now be activated with
LT_STRICT_COMP_FLAGSCMake variable, which is automatically set when examples or tests are built. - API change in
lt_random_bytes(),lt_port_random_bytes(): changedbuffparameter tovoid*, renamed parameterlentocount - API change in
lt_random_bytes(),lt_port_random_bytes(): addeds2parameter. - API change in
lt_get_log(): renamed tolt_get_log_req(), renamedmsg_len_maxtolog_msg_lenand made an output parameter. - API change in
lt_port_spi_transfer(),lt_l1_spi_transfer(),lt_l1_read(),lt_l1_write(): renamedtimeouttotimeout_ms
Added
- Macro
LT_CONFIG_OBJ_CNTfor number of objects in the configuration structure. - Parameter checks to LT_HELPERS functions.
- Added
LT_NONCE_OVERFLOWtolt_ret_t. - Value
LT_L3_R_MEM_DATA_READ_SLOT_EMPTYtolt_ret_tto indicate that the user slot is empty. - Functions
lt_ecc_ecdsa_sig_verify()andlt_ecdsa_verify(). - Strict compilation flags for examples and tests.
- Generic Unix SPI device support.
- Helper functions
lt_print_bytes()andlt_print_chip_id(). - Macros for chip package IDs and FAB IDs.
- Header files
include/tropic01_application_co.handinclude/tropic01_bootloader_co.hwith address enums and mask defines. - Model configuration is automatically created when tests are run in
tropic01_model/. - Enum
CONFIGURATION_OBJECTS_REGS_IDXwith indexes oflt_config_t.obj. - Macros
TO_MACANDD_SLOT_0_31,TO_MACANDD_SLOT_32_63,TO_MACANDD_SLOT_64_95,TO_MACANDD_SLOT_96_127. - Model project: ability to run tests with AddressSanitizer or Valgrind with
LT_ASANorLT_VALGRIND. - Support for
RESP_DISABLEDvalue of STATUS field in L2 frame.
Fixed
- Assigned value to
LT_L1_CHIP_BUSYandLT_L1_INT_TIMEOUTinlt_ret_t, incremented all values starting fromLT_L3_R_MEM_DATA_WRITE_WRITE_FAIL. - Added missing
LT_L1_INT_TIMEOUTinlt_ret_strs. - Fixed nonce overflow vulnerability in lt_l3_nonce_increase, the function now returns
LT_NONCE_OVERFLOWif the nonce cannot be increased anymore. - Calculation of number of chunks in the function
lt_l2_send_encrypted_cmd(). - Chip id parsing in
tests/model_based_project/create_model_cfg.py. - Function
lt_r_mem_data_read- changesizeto output parameter and its handling. - Set value of macro
L3_CMD_DATA_SIZE_MAXto 4111. - Added 13 of maximal padding to macro
L3_FRAME_MAX_SIZE. - Set value of macro
PING_LEN_MAXto 4096. - Allowed mcounter index 0 in libtropic API (
lt_mcounter_init). - Bug in
lt_random_value_getwhich caused stack smashing.
Removed
- Macro
LT_USE_ASSERT,assert()is always inserted. - Functions
get_conf_addr(),get_conf_desc(), accessing the configuration table directly is advised instead. - Removed
keylenparameter fromlt_ecc_key_read()andlt_in__ecc_key_read(). - Removed
rs_lenparameter fromlt_ecc_eddsa_sign()andlt_ecc_ecdsa_sign(). - Removed macro
LT_L3_EDDSA_SIGN_CMD_MSG_LEN_MIN. - Header file
include/TROPIC01_configuration_objects.h. - Checks with
<for enums (fixes compilation errors on STM32 and shouldn't be needed anyway). - File
tests/model_based_project/compile_tests.sh(refer totropic01_model/README.mdfor instructions about compiling tests). - File
tests/model_based_project/model_logging_cfg.py. - WiringPi port (
lt_port_raspberrypi_wiringpi.c), was replaced with Generic Linux SPI port (lt_port_unix_spi.c). - Parameter
max_lenfrom functionslt_get_info_riscv_fw_ver()andlt_get_info_spect_fw_ver(). - Attribute
__attribute__((aligned(4)))forstruct header_boot_v2_t.