Commit 1d7cec10 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

More options to allow directory locations to be specified in mkfipsscr.pl

script. Make AES/DES algorithm test programs handle Win32 path separator.
Switch off verbose mode in AES test program.
parent 38507506
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])

#define AES_BLOCK_SIZE 16

#define VERBOSE 1
#define VERBOSE 0

/*-----------------------------------------------*/

@@ -727,6 +727,10 @@ int proc_file(char *rqfile)
	}
    strcpy(rfn,afn);
    rp=strstr(rfn,"req/");
#ifdef OPENSSL_SYS_WIN32
    if (!rp)
	rp=strstr(rfn,"req\\");
#endif
    assert(rp);
    memcpy(rp,"rsp",3);
    rp = strstr(rfn, ".req");
+4 −0
Original line number Diff line number Diff line
@@ -590,6 +590,10 @@ int proc_file(char *rqfile)
	}
    strcpy(rfn,afn);
    rp=strstr(rfn,"req/");
#ifdef OPENSSL_SYS_WIN32
    if (!rp)
	rp=strstr(rfn,"req\\");
#endif
    assert(rp);
    memcpy(rp,"rsp",3);
    rp = strstr(rfn, ".req");
+61 −13
Original line number Diff line number Diff line
@@ -60,8 +60,12 @@ my @fips_tests = (

my $lnum = 0;
my $win32 = 0;
my $tvdir = "testvectors";
my $onedir = 0;
my $ltdir = "";
my $tvdir;
my $tvprefix;
my $tprefix;
my $shwrap_prefix;

foreach (@ARGV)
	{
@@ -69,15 +73,48 @@ foreach (@ARGV)
		{
		$win32 = 1;
		}
	elsif ($_ eq "--onedir")
		{
		$onedir = 1;
		}
	elsif (/--dir=(.*)$/)
		{
		$tvdir = $1;
		}
	elsif (/--tprefix=(.*)$/)
		{
		$tprefix = $1;
		}
	elsif (/--tvprefix=(.*)$/)
		{
		$tvprefix = $1;
		}
	elsif (/--shwrap_prefix=(.*)$/)
		{
		$shwrap_prefix = $1;
		}
	elsif (/--outfile=(.*)$/)
		{
		$outfile = $1;
		}
	}

$tvdir = "testvectors" unless defined $tvdir;
$shwrap_prefix = "../util/" unless defined $shwrap_prefix;

if ($win32)
	{
	open(OUT, ">fipstests.bat");
	if ($onedir)
		{
		$tvprefix = "" unless defined $tvprefix;
		}
	else
		{
		$tvprefix = "..\\fips-1.0\\" unless defined $tvprefix;
		}
	$tprefix = ".\\" unless defined $tprefix;
	$outfile = "fipstests.bat" unless defined $outfile;
	open(OUT, ">$outfile");

	print OUT <<END;
\@echo off
@@ -90,7 +127,17 @@ END
	}
else
	{
open(OUT, ">fipstests.sh");
	$tvprefix = "" unless defined $tvprefix;
	if ($onedir)
		{
		$tprefix = "./" unless defined $tprefix;
		}
	else
		{
		$tprefix = "../test/" unless defined $tprefix;
		}
	$outfile = "fipstests.sh" unless defined $outfile;
	open(OUT, ">$outfile");

	print OUT <<END;
#!/bin/sh
@@ -120,7 +167,7 @@ sub test_dir
	my ($win32, $tdir) = @_;
	if ($win32)
		{
		my $rsp = "..\\fips-1.0\\$tvdir\\$tdir\\rsp";
		my $rsp = "$tvprefix$tvdir\\$tdir\\rsp";
		print OUT <<END;

echo $tdir tests
@@ -146,16 +193,17 @@ sub test_line
	my ($win32, $tdir, $fprefix, $tcmd) = @_;
	if ($fprefix =~ /\@/)
		{
		foreach(<$tvdir/$tdir/req/*.req>)
		foreach(<$tvprefix$tvdir/$tdir/req/*.req>)
			{
			if ($win32)
				{
				print OUT ".\\$tcmd ../fips-1.0/${_}\n";
				$_ =~ tr|/|\\|;
				print OUT "$tprefix$tcmd $_\n";
				}
			else
				{
				print OUT <<END;
../util/shlib_wrap.sh ../test/$tcmd $_
${shwrap_prefix}shlib_wrap.sh $tprefix$tcmd $_
END
				}
			}
@@ -163,17 +211,17 @@ END
		}
	if ($win32)
		{
		my $req = "..\\fips-1.0\\$tvdir\\$tdir\\req\\$fprefix.req";
		my $rsp = "..\\fips-1.0\\$tvdir\\$tdir\\rsp\\$fprefix.rsp";
	print OUT ".\\$tcmd < $req > $rsp\n";
		my $req = "$tvprefix$tvdir\\$tdir\\req\\$fprefix.req";
		my $rsp = "$tvprefix$tvdir\\$tdir\\rsp\\$fprefix.rsp";
	print OUT "$tprefix$tcmd < $req > $rsp\n";
END
		}
	else
		{
		my $req = "$tvdir/$tdir/req/$fprefix.req";
		my $req = "tvdir/$tdir/req/$fprefix.req";
		my $rsp = "$tvdir/$tdir/rsp/$fprefix.rsp";
		print OUT <<END;
if [ -f $req ] ; then ../util/shlib_wrap.sh ../test/$tcmd < $req > $rsp; fi
if [ -f $req ] ; then ${shwrap_prefix}shlib_wrap.sh $tprefix$tcmd < $req > $rsp; fi
END
		}
	}