Warn if lines are truncated in algorithm test utilities.
Support for new test files: DRBG and CCM.
This commit is contained in:
parent
daaf5088fd
commit
84c7a8f7dc
@ -339,8 +339,8 @@ static void xtstest(FILE *in, FILE *out)
|
|||||||
|
|
||||||
static void ccmtest(FILE *in, FILE *out)
|
static void ccmtest(FILE *in, FILE *out)
|
||||||
{
|
{
|
||||||
char buf[2048];
|
char buf[200048];
|
||||||
char lbuf[2048];
|
char lbuf[200048];
|
||||||
char *keyword, *value;
|
char *keyword, *value;
|
||||||
long l;
|
long l;
|
||||||
unsigned char *Key = NULL, *Nonce = NULL;
|
unsigned char *Key = NULL, *Nonce = NULL;
|
||||||
@ -376,6 +376,7 @@ static void ccmtest(FILE *in, FILE *out)
|
|||||||
{
|
{
|
||||||
*p = 0;
|
*p = 0;
|
||||||
strcpy(buf, p + 1);
|
strcpy(buf, p + 1);
|
||||||
|
strcat(buf, "\n");
|
||||||
decr = 1;
|
decr = 1;
|
||||||
}
|
}
|
||||||
if (!strcmp(keyword,"Plen"))
|
if (!strcmp(keyword,"Plen"))
|
||||||
|
@ -280,6 +280,9 @@ int parse_line(char **pkw, char **pval, char *linebuf, char *olinebuf)
|
|||||||
/* Remove trailing space from value */
|
/* Remove trailing space from value */
|
||||||
p = value + strlen(value) - 1;
|
p = value + strlen(value) - 1;
|
||||||
|
|
||||||
|
if (*p != '\n')
|
||||||
|
fprintf(stderr, "Warning: missing EOL\n");
|
||||||
|
|
||||||
while (*p == '\n' || isspace((unsigned char)*p))
|
while (*p == '\n' || isspace((unsigned char)*p))
|
||||||
*p-- = 0;
|
*p-- = 0;
|
||||||
|
|
||||||
|
@ -266,6 +266,30 @@ my @fips_aes_cfb1_test_list = (
|
|||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
my @fips_aes_ccm_test_list = (
|
||||||
|
|
||||||
|
# AES CCM tests
|
||||||
|
|
||||||
|
"AES CCM",
|
||||||
|
|
||||||
|
[ "DVPT128", "fips_gcmtest -ccm" ],
|
||||||
|
[ "DVPT192", "fips_gcmtest -ccm" ],
|
||||||
|
[ "DVPT256", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VADT128", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VADT192", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VADT256", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VNT128", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VNT192", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VNT256", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VPT128", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VPT192", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VPT256", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VTT128", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VTT192", "fips_gcmtest -ccm" ],
|
||||||
|
[ "VTT256", "fips_gcmtest -ccm" ]
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
# Triple DES tests
|
# Triple DES tests
|
||||||
|
|
||||||
my @fips_des3_test_list = (
|
my @fips_des3_test_list = (
|
||||||
@ -348,6 +372,16 @@ my @fips_des3_cfb1_test_list = (
|
|||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
my @fips_drbg_test_list = (
|
||||||
|
|
||||||
|
# SP800-90 DRBG tests
|
||||||
|
"SP800-90 DRBG",
|
||||||
|
[ "CTR_DRBG", "fips_drbgvs" ],
|
||||||
|
[ "Hash_DRBG", "fips_drbgvs" ],
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
# Verification special cases.
|
# Verification special cases.
|
||||||
# In most cases the output of a test is deterministic and
|
# In most cases the output of a test is deterministic and
|
||||||
# it can be compared to a known good result. A few involve
|
# it can be compared to a known good result. A few involve
|
||||||
@ -384,6 +418,7 @@ my $bufout = '';
|
|||||||
my $list_tests = 0;
|
my $list_tests = 0;
|
||||||
my $minimal_script = 0;
|
my $minimal_script = 0;
|
||||||
my $outfile = '';
|
my $outfile = '';
|
||||||
|
my $no_warn_missing = 0;
|
||||||
|
|
||||||
my %fips_enabled = (
|
my %fips_enabled = (
|
||||||
dsa => 1,
|
dsa => 1,
|
||||||
@ -399,7 +434,9 @@ my %fips_enabled = (
|
|||||||
aes => 1,
|
aes => 1,
|
||||||
"aes-cfb1" => 0,
|
"aes-cfb1" => 0,
|
||||||
des3 => 1,
|
des3 => 1,
|
||||||
"des3-cfb1" => 0
|
"des3-cfb1" => 0,
|
||||||
|
drbg => 0,
|
||||||
|
ccm => 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach (@ARGV) {
|
foreach (@ARGV) {
|
||||||
@ -412,6 +449,10 @@ foreach (@ARGV) {
|
|||||||
elsif ( $_ eq "--debug" ) {
|
elsif ( $_ eq "--debug" ) {
|
||||||
$debug = 1;
|
$debug = 1;
|
||||||
}
|
}
|
||||||
|
elsif ( $_ eq "--quiet-missing" ) {
|
||||||
|
$ignore_missing = 1;
|
||||||
|
$no_warn_missing = 1;
|
||||||
|
}
|
||||||
elsif ( $_ eq "--ignore-missing" ) {
|
elsif ( $_ eq "--ignore-missing" ) {
|
||||||
$ignore_missing = 1;
|
$ignore_missing = 1;
|
||||||
}
|
}
|
||||||
@ -481,6 +522,8 @@ push @fips_test_list, @fips_aes_test_list if $fips_enabled{"aes"};
|
|||||||
push @fips_test_list, @fips_aes_cfb1_test_list if $fips_enabled{"aes-cfb1"};
|
push @fips_test_list, @fips_aes_cfb1_test_list if $fips_enabled{"aes-cfb1"};
|
||||||
push @fips_test_list, @fips_des3_test_list if $fips_enabled{"des3"};
|
push @fips_test_list, @fips_des3_test_list if $fips_enabled{"des3"};
|
||||||
push @fips_test_list, @fips_des3_cfb1_test_list if $fips_enabled{"des3-cfb1"};
|
push @fips_test_list, @fips_des3_cfb1_test_list if $fips_enabled{"des3-cfb1"};
|
||||||
|
push @fips_test_list, @fips_drbg_test_list if $fips_enabled{"drbg"};
|
||||||
|
push @fips_test_list, @fips_aes_ccm_test_list if $fips_enabled{"aes-ccm"};
|
||||||
|
|
||||||
if ($list_tests) {
|
if ($list_tests) {
|
||||||
my ( $test, $en );
|
my ( $test, $en );
|
||||||
@ -716,7 +759,7 @@ sub sanity_check_files {
|
|||||||
|
|
||||||
#print STDERR "FILES $tst, $cmd, $req, $resp\n";
|
#print STDERR "FILES $tst, $cmd, $req, $resp\n";
|
||||||
if ( $req eq "" ) {
|
if ( $req eq "" ) {
|
||||||
print STDERR "WARNING: missing request file for $tst\n";
|
print STDERR "WARNING: missing request file for $tst\n" unless $no_warn_missing;
|
||||||
$bad = 1;
|
$bad = 1;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
@ -793,7 +836,7 @@ END
|
|||||||
}
|
}
|
||||||
if ( $req eq "" ) {
|
if ( $req eq "" ) {
|
||||||
print STDERR
|
print STDERR
|
||||||
"WARNING: Request file for $tname missing: test skipped\n";
|
"WARNING: Request file for $tname missing: test skipped\n" unless $no_warn_missing;
|
||||||
$skipcnt++;
|
$skipcnt++;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user