examples/fips_validation: fix TDES interim callback
authorArchana Muniganti <marchana@marvell.com>
Thu, 11 Jun 2020 13:44:15 +0000 (19:14 +0530)
committerAkhil Goyal <akhil.goyal@nxp.com>
Sat, 18 Jul 2020 21:09:01 +0000 (23:09 +0200)
Fix missing callback registration and the incorrect
callback definition for interim NK_STR. The callback
should compare input key against the interim.

Fixes: 527cbf3d5ee3 ("examples/fips_validation: support TDES parsing")
Cc: stable@dpdk.org
Signed-off-by: Archana Muniganti <marchana@marvell.com>
examples/fips_validation/fips_validation_tdes.c

index 84dd288..a1ddd57 100644 (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;