examples/fips_validation: fix buffer overflow
[dpdk.git] / examples / fips_validation / fips_validation.h
index b604db9..deba83e 100644 (file)
@@ -14,6 +14,7 @@
 #define MAX_NB_TESTS           10240
 #define MAX_BUF_SIZE           2048
 #define MAX_STRING_SIZE                64
+#define MAX_FILE_NAME_SIZE     256
 #define MAX_DIGEST_SIZE                64
 
 #define POSITIVE_TEST          0
@@ -31,6 +32,7 @@ enum fips_test_algorithms {
                FIPS_TEST_ALGO_HMAC,
                FIPS_TEST_ALGO_TDES,
                FIPS_TEST_ALGO_SHA,
+               FIPS_TEST_ALGO_AES_XTS,
                FIPS_TEST_ALGO_MAX
 };
 
@@ -105,6 +107,11 @@ enum fips_tdes_test_types {
        TDES_MMT /* Multi block Message Test */
 };
 
+enum fips_tdes_test_mode {
+       TDES_MODE_CBC = 0,
+       TDES_MODE_ECB
+};
+
 enum fips_ccm_test_types {
        CCM_VADT        = 1, /* Variable Associated Data Test */
        CCM_VPT,                 /* Variable Payload Test */
@@ -130,6 +137,7 @@ struct hmac_interim_data {
 
 struct tdes_interim_data {
        enum fips_tdes_test_types test_type;
+       enum fips_tdes_test_mode test_mode;
        uint32_t nb_keys;
 };
 
@@ -154,8 +162,10 @@ struct fips_test_interim_info {
        enum fips_test_algorithms algo;
        char *one_line_text;
        char *vec[MAX_LINE_PER_VECTOR];
+       uint32_t vec_start_off;
        uint32_t nb_vec_lines;
        char device_name[MAX_STRING_SIZE];
+       char file_name[MAX_FILE_NAME_SIZE];
 
        union {
                struct aesavs_interim_data aes_data;
@@ -215,6 +225,9 @@ parse_test_ccm_init(void);
 int
 parse_test_sha_init(void);
 
+int
+parse_test_xts_init(void);
+
 int
 parser_read_uint8_hex(uint8_t *value, const char *p);