1b5800d069
Add initialization for structures
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-28 15:45:59 +02:00
92ca1bc481
Add initialization for structures
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-28 15:36:25 +02:00
58a7a063f8
Add initialization for structures
...
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com >
2022-09-28 15:32:08 +02:00
662b301c27
Merge pull request #6309 from gilles-peskine-arm/all-sh-force-2.28
...
Backport 2.28: Fix all.sh --force
2022-09-23 17:04:09 +02:00
53cac34579
Simplify test for ecdsa_verify
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
c60b10a218
Correct documentation for mbedtls_ecdsa_verify
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
3852c708c1
Improve test descriptions
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
bcbe333fbc
Paramaterise ecdsa_verify test case more clearly
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
b9579fd150
Minor tidy-up
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
78508c496c
Changelog for ECDSA verify fix
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
622b048e3e
Fix duplicate test names
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
c763e1775a
Add missing newlines
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
4268731b2f
Fix ECDSA signature verification edge-case
...
For R and S equal to 1, ensure the public key is checked
for validity.
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
535dccebdc
Add unit tests for ECDSA with invalid public key
...
Add tests for a case in ECDSA signing where an invalid public
key is accepted in signature verification.
Test data taken from the OSS-fuzz issue, and additional
generated with python-ecdsa.
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2022-09-23 10:42:33 +01:00
7959858f4c
Don't remove programs/fuzz/Makefile
...
Other programs/*/Makefile are only created by CMake, but programs/fuzz has
its own Makefile in the repository. Fixes #6247 .
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-09-22 10:19:52 +02:00
423dd13357
Don't try restoring a file if no backup is available
...
This caused `all.sh --force` to fail on a clean build tree.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2022-09-22 10:19:51 +02:00
05998a00b1
Add file generated by generate_bignum_tests.py
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:09:23 +01:00
4ed94a4f7e
Use a script specific description in CLI help
...
Previous changes used the docstring of the test_generation module,
which does not inform a user about the script.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:09:23 +01:00
64334d96d0
Update references to file targets in docstrings
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:08:53 +01:00
38c2491ef4
Add combination_pairs helper function
...
Wrapper function for itertools.combinations_with_replacement, with
explicit cast due to imprecise typing with older versions of mypy.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:08:53 +01:00
1965d48cad
Use typing.cast instead of unqualified cast
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:08:53 +01:00
113ddd0df6
Add toggle for test case count in descriptions
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:08:24 +01:00
f518276457
Update comments/docstrings in TestGenerator
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:08:22 +01:00
8b2d14bbd7
Replace L/R inputs with A/B
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:07:42 +01:00
46c09a66de
Move symbol definition out of __init__
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:07:42 +01:00
3edcee72c4
Use simpler int to hex string conversion
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:07:42 +01:00
e53be35c09
Remove unused imports
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:07:42 +01:00
0d07e86a44
Rework TestGenerator to add file targets
...
BaseTarget-derived targets are now added to TestGenerator.targets in
initialization. This reduces repeated code in generate_xxx_tests.py
scripts which use this framework.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 17:07:37 +01:00
6cc5e5f0d9
Use Python 3.5 style typing for dependencies
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:49:13 +01:00
486b3410a4
Add dependencies attribute to BaseTarget
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:49:13 +01:00
18f94d8175
Use combinations_with_replacement
for inputs
...
When generating combinations of values, `itertools.combinations` will
not allow inputs to be repeated. This is replaced so that cases where
input values match are generated, i.e. ("0", "0").
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:49:13 +01:00
2b0f7d8d56
Modify wording in docstrings
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:49:13 +01:00
6f67bae527
Fix trailing whitespace
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:48:39 +01:00
ac86390da8
Use argparser default for targets
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:48:39 +01:00
b03420fb3b
Clarify documentation
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:47:33 +01:00
b29f59f5ff
Disable abstract check in pylint
...
Version of pylint used in CI does not recognize abstract subclasses of
BaseTarget, so disable warning in these abstract classes.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
412c497cbe
Fix TARGET types and code style
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
d77d33defb
Raise NotImplementedError in abstract methods
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
486d25850f
Disable pylint unused arg in __new__
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
478a4ce1fe
Use typing casts for fixed-width tuples
...
Enforces fixed-width tuple types where mypy does not recognize.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
9509f44d79
Add missing typing
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
6d04142972
Remove trailing whitespace in description
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
cace1aa02e
Use __new__() for case counting
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
c34d037fa0
Split generate_tests to reduce code complexity
...
Previous implementation mixed the test case generation and the
recursive generation calls together. A separate method is added to
generate test cases for the current class' test function. This reduces
the need to override generate_tests().
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
47e37b3b75
Use ABCMeta for abstract classes
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
008d90d424
Add details to docstrings
...
Clarification is added to docstrings, mostly in abstract classes.
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
1c2a732203
Convert bools to int before arithmetic
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
02998c470a
Remove unneeded list concatenation
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
70d3f3dcdc
Remove abbreviations and clarify attributes
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00
dcad1e93fe
Separate common test generation classes/functions
...
Signed-off-by: Werner Lewis <werner.lewis@arm.com >
2022-09-21 16:46:39 +01:00