Add crypto configuration components #769
No reviewers
Labels
No labels
api-break
approved
bug
component-docs
component-platform
component-test
dependencies
deprecation
DO-NOT-MERGE
enhancement
good first issue
help wanted
needs-adoption
needs-backports
needs-ci
needs-design-approval
needs-info
needs-preceding-pr
needs-review
needs-reviewer
needs-work
priority-high
priority-low
priority-medium
priority-scheduled
priority-very-high
resolved-after-1.1
single-reviewer
size-l
size-m
size-optimisation
size-s
size-xs
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Mbed-TLS/TF-PSA-Crypto!769
Loading…
Reference in a new issue
No description provided.
Delete branch "conf-crypto-components"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Add the equivalent of all Mbed TLS components-configuration-crypto.sh but:
Only 14 commits to review starting from https://github.com/Mbed-TLS/TF-PSA-Crypto/pull/769/commits/ab99f98dc9c0d8cf08ccc5cb687809d4cfb2270c (merge commit to get the Mbed TLS components-configuration-crypto.sh components and their history into TF-PSA-Crypto).
Fixes #65, #63, #67
PR checklist
There are also a couple of remaining references to
library/libmbedcrypto.a@ -470,0 +512,4 @@}# check_renamed_symbols HEADER LIB# Check that symbols renamed by HEADER are not present in LIB.This comment was related to the function
are_empty_libraries()which has been removed. Should we remove it as well?Reviewed the following:
8426c9bc51-> Looks good and verified locallyc0ea3da206because of cases likeunsupported-MD5andctr_drbgthat is it not clear how they are affected by the new components. This PR is undoing some of the changes introduced inba96751781by #729check_renamed_symbolsthat will need to be addressed even if we remove the references to thelibmbedcrypto.aSince the CI is happy I am not going to complain about increased coverage
Comment: This is not very intuitive as to why those now work with the added components.
@ -470,0 +512,4 @@}# check_renamed_symbols HEADER LIB# Check that symbols renamed by HEADER are not present in LIB.As @valeriosetti I am a bit concerned as to why this was passing the CI to begin with. Looking at the check_renamed_symbols is not working as intended
This logic has a bug. It was intended to invert the return of grep, and return 1 when it finds no match, but currently
nmis failing it'sretcodeis inverted. We need to split that logicWe should be doing
nm "$2" | sed 's/.* //' | not grep -x -F "$(sed -n 's/^ *# *define *\([A-Z_a-z][0-9A-Z_a-z]*\)..*/\1/p' "$1")"If these tests were still not executed, analyze_outcomes.py would complain.
Looking at the CI's outcomes.csv, these test cases are now covered by component_test_ccm_aes_sha256, component_test_tfm_config_as_is ...
@valeriosetti @minosgalanakis I believe I have addressed all your comments in the following commits:
check_renamed_symbols()robustnessTo resolve a conflict with the current head of
development, I then mergedtf-psa-crypto/developmentinto this PR. This avoids having to redo the merge ofmbedtls/developmentneeded to get the Mbed TLS configuration-crypto components. Note that the merge was done with commit8426c9bcfrommbedtls/development, andtests/scripts/components-configuration-crypto.shis unchanged in the current head ofmbedtls/development.Finally, after merging
tf-psa-crypto/development, some additional adjustments were needed to fully resolve the conflict and get CI passing again (3 commits).I hope this helps with your re-review. It would be good if you could give the re-review some priority, as this PR may bit-rot quite quickly, essentially as soon as we change something in
components-configuration-crypto.sh.I noticed a mistake when making the 1.1 backport. Since Ronald is away, I'll push a commit here (cherry-picked from the 1.1 PR).
@ -467,6 +468,916 @@ component_test_accel_hash () {ctestcomponent_full_no_pkparse_pkwriteandcomponent_full_no_pkwritealready exist incomponents-configuration.shunder the namescomponent_tf_psa_crypto_full_no_pkparse_pkwriteandcomponent_tf_psa_crypto_full_no_pkwrite.LGTM to me thank you