* development: (44 commits)
Add test for building without CTR_DRBG
Add usage info of generate_psa_constants script
Fix undeclared deps on CTR_DRBG in programs/fuzz
Fix undeclared deps on MBEDTLS_CTR_DRBG in tests
Finish the documentation of normalize_path
Generate PSA constant names in CMake build dir
Run assemble_changelog.py in all.sh
Wrap line to 79 columns
Some .pem files are openssl output and have tabs and that's ok
.dsw files are Visual Studio stuff
Permit empty files
Normalize line endings
Check only files checked into Git
Exclude binary files from text checks
Regex mechanism for check-specific exemptions
Check all files by default
More accurate variable name
Fix article in documentation
Add output of `python3` version
Add output of make and cmake versions
...
Invasive testing strategy
Create a new header `common.h`.
Introduce a configuration option `MBEDTLS_TEST_HOOKS` for test-specific code, to be used in accordance with the invasive testing strategy.
People who prefer to rely on HMAC_DRBG (for example because they use it for
deterministic ECDSA and don't want a second DRBG for code size reasons) should
be able to build and run the tests suites without CTR_DRBG.
Ideally we should make sure the level of testing (SSL) is the same regardless
of which DRBG modules is enabled, but that's a more significant piece of work.
For now, just ensure everything builds and `make test` passes.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
While at it, fix a few other obvious ones such as ENTROPY and TIMING_C when
applicable.
A non-regression test for CTR_DRBG will be added in a follow-up commit.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
While at it, declare deps on ENTROPY as well.
A non-regression test will be added in a follow-up commit.
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit modifies the generate_psa_constants.py script to take as
input argument the location of where to write the
psa_constant_names_generated.c file.
For make-based build system, this commit does not change anything.
For CMake build system, this commit modifies the generation location of
that file to be inside the build directory and include it from there in
psa_constant_names.c
Fix#3365
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
Convert all text files to Unix line endings unless they're Windows
stuff.
Make sure that all text files have a trailing newline.
Remove whitespace at the end of lines.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
We're only interested in files that are committed and pushed to be
included in Mbed TLS, not in any other files that may be lying around.
So ask git for the list of file names.
This script is primarily intended to run on the CI, and there it runs
on a fresh Git checkout plus potentially some other checkouts or
leftovers from a previous part of the CI job. It should also run
reasonably well on developer machines, where there may be various
additional files. In both cases, git is available.
Ad hoc directory exclusions are no longer needed.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Have an explicit list of exemptions for specific checks rather than
whitelisting files to check. Some checks, such as permissions, should
apply to all files.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Add output of python3 version to output_env.sh.
Added in addition to the version of `python` as some
project's scripts try both executable names.
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
When generate_errors.pl was first written, there was no asn1.h. But
now there is one and it does not need any special treatment.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
* development: (81 commits)
Add changelog entry file
Remove obsolete comment
Changelog entry noting the behavior change and storage format change
Update SE support to pass a location when registering a driver
Update SE support to pass a location when registering a driver
Update the SE interface to pass a location when registering a driver
Fix macros
Missing word
Define a macro to construct a lifetime from persistence and location
Document PSA_KEY_PERSISTENCE_xxx and PSA_KEY_LOCATION_xxx
Rename and clarify the default persistent location and persistence
PSA_KEY_LIFETIME_PERSISTENT is a lifetime, not just a storage area
Shorten type and value names for lifetime parts
Define some structure for lifetime values
Fix typo in program benchmark.
Add changelog entry for #3310.
Add variable initialization to large SSL TLS function.
Add Changelog entry for #3312
Scope reduction to enable NULL check to protect dereferencing.
Expose SSL HW record acceleration error.
...
Make the contributing document link to how to create a changelog rather
than just linking to the Changelog itself.
Signed-off-by: Paul Elliott <paul.elliott@arm.com>