* feat: Added LEB128 in data inspector
* feat: Added support for editing LEB128 values
* Moved LEB functions from utils.cpp to crypto.cpp
* Added placeholders for translations
* Made DataInspector::impl::Entry.maxSize mandatory
* Fixed undefined leftshifting behaviour
* sys: Initial refactoring of the SharedData class
* sys/pattern: More refactoring, make every provider have its own patterns
* sys: Finished up refactoring. No more SharedData!
* sys: Fixed compile on Unix
* tests: Fixed unit tests
* sys: Moved view and lang files
* pattern: Added assignment operator support to for loops
* tests: Fixed compile issue
* Update TEST_ASSERT to do nothing if condition is true
The TEST_ASSERT should not return if the condition is true, because:
- it prevents the usage of multiple TEST_ASSERT in a single test case,
- that behavior differs from how the assert in the standard library
works, and thus may give unexpected results.
Make the TEST_ASSERT to print an error message (with an formatted
optional user part) when it fails to make debugging easier.
* Fix some bugs in TestProvider, add unit tests
Use pointer-to-vector in TestProvider so writes can be tested, too.
* Add test EncodeDecode16, fix some encode16 bugs
The function mbedtls_mpi_write_string needs a bit longer buffer than the
resulting string actually will be.
Known bug: mbedtls_mpi_read_binary ingores initial null bytes
* Add test EncodeDecode64, fix some bugs
The functions mbedtls_base64_encode and mbedtls_base64_decode needs a
bit longer buffer than the resulting string actually will be.
* Remove check for empty data from TestProvider
It can be valid to get the hash of empty string.
* Add tests for CRC calculation
Two type of thests:
- compare the result of the CRC calculation to a known to be good
results,
- generate random data as message, calculate of it's CRC and append that
to the message, the CRC of this new data should be 0.
* Add test for hash algorithms
* Add includes in tests
* Remove the use of C++20 ranges
It seems that Apple Clang does not support range-based constrained
algorithms at this time.
* Replace encode16 implementation
To encode the zero bytes at the begining of the input vector, too.