Description
In both TF-PSA-Crypto and mbedtls, move private headers from include/mbedtls
to include/mbedtls/private
. Adjust #include
directives accordingly. The goal is that you have to type /private/
when #include
ing a private header. See https://github.com/gilles-peskine-arm/TF-PSA-Crypto/blob/7cce26bc7993b7df39d9a43db75d02c4dde86511/docs/architecture/0e-plans.md#move-private-headers for more context.
This requires coordinated action in all three repositories, since Mbed TLS can include private TF-PSA-Crypto headers and mbedtls-framework can include private headers from both projects.
This is a single task, rather than done piece by piece, because each move of a header that is used in another project is an incompatible change. So we need to either prepare a transition period (which would be a lot more work), or deal with multiple small breaking changes (which is a lot of work because each breaking change is a hassle for the whole team, not just the task itself), or make a single breaking change (which is only a hassle once).
This task should be done with the help of a search-and-replace script. Include the script in the changelog message for the corresponding commit, which should consist purely of the changes made by the script.
This may require changes to build scripts. Keep them to a minimum, so that this task doesn't balloon with out-of-scope changes.
The following crypto headers are becoming private:
aes.h
aria.h
bignum.h
block_cipher.h
camellia.h
ccm.h
chacha20.h
chachapoly.h
cipher.h
cmac.h
config_adjust_legacy_from_psa.h
config_adjust_psa_superset_legacy.h
config_adjust_test_accelerators.h
config_psa.h
ctr_drbg.h
des.h
dhm.h
ecdh.h
ecdsa.h
ecjpake.h
ecp.h
entropy.h
error_common.h
gcm.h
hmac_drbg.h
md5.h
oid.h
pkcs12.h
pkcs5.h
poly1305.h
ripemd160.h
rsa.h
sha1.h
sha256.h
sha3.h
sha512.h
The following mbedtls headers are becoming private:
config_adjust_ssl.h
config_adjust_x509.h
Everest is out of scope here because it requires specific changes in build scripts. It's covered by Mbed-TLS/TF-PSA-Crypto#229.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status