From: Brandon Lo
Added function to parse algorithm for CMAC test.
Signed-off-by: Brandon Lo
Signed-off-by: Gowrishankar Muthukrishnan
--
v5:
* parser_read_cmac_direction_str implementation moved to static.
---
examples/fips_validation/fips_validation.c | 19 ---
examples/fips_validation/main.c| 3 +++
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/examples/fips_validation/fips_validation.c
b/examples/fips_validation/fips_validation.c
index e8520f59cf..ab4c0d0eca 100644
--- a/examples/fips_validation/fips_validation.c
+++ b/examples/fips_validation/fips_validation.c
@@ -460,6 +460,8 @@ fips_test_parse_one_json_vector_set(void)
info.algo = FIPS_TEST_ALGO_AES_GCM;
if (strstr(algo_str, "HMAC"))
info.algo = FIPS_TEST_ALGO_HMAC;
+ if (strstr(algo_str, "CMAC"))
+ info.algo = FIPS_TEST_ALGO_AES_CMAC;
else
return -EINVAL;
@@ -470,7 +472,6 @@ int
fips_test_parse_one_json_group(void)
{
int ret, i;
- json_int_t val;
json_t *param;
if (info.interim_callbacks) {
@@ -478,8 +479,20 @@ fips_test_parse_one_json_group(void)
for (i = 0; info.interim_callbacks[i].key != NULL; i++) {
param = json_object_get(json_info.json_test_group,
info.interim_callbacks[i].key);
- val = json_integer_value(param);
- snprintf(json_value, 255, "%"JSON_INTEGER_FORMAT, val);
+ switch (json_typeof(param)) {
+ case JSON_STRING:
+ snprintf(json_value, 256, "%s",
json_string_value(param));
+ break;
+
+ case JSON_INTEGER:
+ snprintf(json_value, 255,
"%"JSON_INTEGER_FORMAT,
+ json_integer_value(param));
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
/* First argument is blank because the key
* is not included in the string being parsed.
*/
diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index 45b453b913..d104d82221 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -1947,6 +1947,9 @@ fips_test_one_test_group(void)
case FIPS_TEST_ALGO_HMAC:
ret = parse_test_hmac_json_init();
break;
+ case FIPS_TEST_ALGO_AES_CMAC:
+ ret = parse_test_cmac_json_init();
+ break;
default:
return -EINVAL;
}
--
2.25.1