examples/fips_validation: fix TDES interim callback

Fix missing callback registration and the incorrect
callback definition for interim NK_STR. The callback
should compare input key against the interim.

Fixes: 527cbf3d5e ("examples/fips_validation: support TDES parsing")
Cc: stable@dpdk.org

Signed-off-by: Archana Muniganti <marchana@marvell.com>
This commit is contained in:
Archana Muniganti 2020-06-11 19:14:15 +05:30 committed by Akhil Goyal
parent 27f30e288e
commit a18622864c

View File

@ -59,9 +59,7 @@ static int
parse_tdes_uint8_hex_str(const char *key, char *src, struct fips_val *val);
static int
parse_tdes_interim(const char *key,
__rte_unused char *text,
struct fips_val *val);
parse_tdes_interim(const char *key, char *text, struct fips_val *val);
struct fips_test_callback tdes_tests_vectors[] = {
{KEYS_STR, parse_tdes_uint8_hex_str, &vec.cipher_auth.key},
@ -77,6 +75,7 @@ struct fips_test_callback tdes_tests_vectors[] = {
struct fips_test_callback tdes_tests_interim_vectors[] = {
{ENC_STR, parse_tdes_interim, NULL},
{DEC_STR, parse_tdes_interim, NULL},
{NK_STR, parse_tdes_interim, NULL},
{NULL, NULL, NULL} /**< end pointer */
};
@ -94,21 +93,23 @@ struct fips_test_callback tdes_writeback_callbacks[] = {
};
static int
parse_tdes_interim(const char *key,
__rte_unused char *text,
parse_tdes_interim(const char *key, char *text,
__rte_unused struct fips_val *val)
{
if (strstr(key, ENC_STR))
info.op = FIPS_TEST_ENC_AUTH_GEN;
else if (strstr(key, DEC_STR))
info.op = FIPS_TEST_DEC_AUTH_VERIF;
else if (strstr(NK_STR, "NumKeys = 1"))
info.interim_info.tdes_data.nb_keys = 1;
else if (strstr(NK_STR, "NumKeys = 2"))
info.interim_info.tdes_data.nb_keys = 2;
else if (strstr(NK_STR, "NumKeys = 3"))
info.interim_info.tdes_data.nb_keys = 3;
else
else if (strstr(key, NK_STR)) {
if (strcmp(text, "NumKeys = 1") == 0)
info.interim_info.tdes_data.nb_keys = 1;
else if (strcmp(text, "NumKeys = 2") == 0)
info.interim_info.tdes_data.nb_keys = 2;
else if (strcmp(text, "NumKeys = 3") == 0)
info.interim_info.tdes_data.nb_keys = 3;
else
return -EINVAL;
} else
return -EINVAL;
return 0;