Cumulative updates from HEAD.
This commit is contained in:
8
e_os.h
8
e_os.h
@@ -306,7 +306,7 @@ static unsigned int _strlen31(const char *str)
|
||||
# undef isupper
|
||||
# undef isxdigit
|
||||
# endif
|
||||
# if defined(_MSC_VER) && !defined(_DLL) && defined(stdin)
|
||||
# if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(_DLL) && defined(stdin)
|
||||
# if _MSC_VER>=1300
|
||||
# undef stdin
|
||||
# undef stdout
|
||||
@@ -332,8 +332,10 @@ static unsigned int _strlen31(const char *str)
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# include <io.h>
|
||||
# include <fcntl.h>
|
||||
# if !defined(OPENSSL_FIPSCANISTER)
|
||||
# include <io.h>
|
||||
# include <fcntl.h>
|
||||
# endif
|
||||
|
||||
# ifdef OPENSSL_SYS_WINCE
|
||||
# define OPENSSL_NO_POSIX_IO
|
||||
|
||||
@@ -30,7 +30,8 @@ LIB=$(TOP)/libcrypto.a
|
||||
LIBSRC=fips_sha1_selftest.c
|
||||
LIBOBJ=fips_sha1_selftest.o
|
||||
|
||||
SRC= $(LIBSRC) fips_standalone_sha1.c
|
||||
SRC= $(LIBSRC)
|
||||
PROGS= fips_standalone_sha1.c
|
||||
|
||||
EXHEADER=
|
||||
HEADER=
|
||||
|
||||
@@ -12,6 +12,7 @@ PERL= perl
|
||||
# KRB5 stuff
|
||||
KRB5_INCLUDES=
|
||||
LIBKRB5=
|
||||
TEST= fips_algvs.c
|
||||
|
||||
PEX_LIBS=
|
||||
EX_LIBS= #-lnsl -lsocket
|
||||
|
||||
@@ -27,33 +27,30 @@ if (exists $ENV{"PREMAIN_DSO_EXE"})
|
||||
$fips_premain_dso = "";
|
||||
}
|
||||
|
||||
my $fips_sig = $ENV{"FIPS_SIG"};
|
||||
if (defined $fips_sig)
|
||||
{
|
||||
if ($fips_premain_dso ne "")
|
||||
{
|
||||
$fips_premain_dso = "$fips_sig -dso";
|
||||
}
|
||||
else
|
||||
{
|
||||
$fips_premain_dso = "$fips_sig -exe";
|
||||
}
|
||||
}
|
||||
|
||||
check_hash($sha1_exe, "fips_premain.c");
|
||||
check_hash($sha1_exe, "fipscanister.lib");
|
||||
|
||||
|
||||
print "Integrity check OK\n";
|
||||
|
||||
print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n";
|
||||
system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c";
|
||||
die "First stage Compile failure" if $? != 0;
|
||||
if (is_premain_linked(@ARGV)) {
|
||||
print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n";
|
||||
system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c";
|
||||
die "First stage Compile failure" if $? != 0;
|
||||
} elsif (!defined($ENV{FIPS_SIG})) {
|
||||
die "no fips_premain.obj linked";
|
||||
}
|
||||
|
||||
print "$fips_link @ARGV\n";
|
||||
system "$fips_link @ARGV";
|
||||
die "First stage Link failure" if $? != 0;
|
||||
|
||||
if (defined($ENV{FIPS_SIG})) {
|
||||
print "$ENV{FIPS_SIG} $fips_target\n";
|
||||
system "$ENV{FIPS_SIG} $fips_target";
|
||||
die "$ENV{FIPS_SIG} $fips_target failed" if $? != 0;
|
||||
exit;
|
||||
}
|
||||
|
||||
print "$fips_premain_dso $fips_target\n";
|
||||
system("$fips_premain_dso $fips_target >$fips_target.sha1");
|
||||
@@ -74,6 +71,22 @@ print "$fips_link @ARGV\n";
|
||||
system "$fips_link @ARGV";
|
||||
die "Second stage Link failure" if $? != 0;
|
||||
|
||||
sub is_premain_linked
|
||||
{
|
||||
return 1 if (grep /fips_premain\.obj/,@_);
|
||||
foreach (@_)
|
||||
{
|
||||
if (/^@(.*)/ && -f $1)
|
||||
{
|
||||
open FD,$1 or die "can't open $1";
|
||||
my $ret = (grep /fips_premain\.obj/,<FD>)?1:0;
|
||||
close FD;
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub check_hash
|
||||
{
|
||||
my ($sha1_exe, $filename) = @_;
|
||||
|
||||
@@ -864,13 +864,13 @@ if ($fips)
|
||||
}
|
||||
$rules.=&cc_compile_target("\$(OBJ_D)${o}fips_standalone_sha1$obj",
|
||||
"fips${o}sha${o}fips_standalone_sha1.c",
|
||||
"\$(SHLIB_CFLAGS)");
|
||||
"\$(APP_CFLAGS)");
|
||||
$rules.=&cc_compile_target("\$(OBJ_D)${o}\$(E_PREMAIN_DSO)$obj",
|
||||
"fips${o}fips_premain.c",
|
||||
"-DFINGERPRINT_PREMAIN_DSO_LOAD \$(SHLIB_CFLAGS)");
|
||||
"-DFINGERPRINT_PREMAIN_DSO_LOAD \$(APP_CFLAGS)");
|
||||
$rules.=&cc_compile_target("\$(OBJ_D)${o}fips_algvs$obj",
|
||||
"test${o}fips_algvs.c",
|
||||
"\$(SHLIB_CFLAGS)");
|
||||
"\$(APP_CFLAGS)");
|
||||
}
|
||||
|
||||
foreach (values %lib_nam)
|
||||
|
||||
@@ -49,8 +49,7 @@ if ($FLAVOR =~ /WIN64/)
|
||||
# considered safe to ignore.
|
||||
#
|
||||
$base_cflags= " $mf_cflag";
|
||||
my $f = $shlib?' /MD':' /MT';
|
||||
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
|
||||
my $f = ($shlib and !$fipscanisterbuild)?' /MD':' /MT';
|
||||
$opt_cflags=$f.' /Ox';
|
||||
$dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
|
||||
$lflags="/nologo /subsystem:console /opt:ref";
|
||||
@@ -127,19 +126,24 @@ elsif ($FLAVOR =~ /CE/)
|
||||
$base_cflags.=" $wcecdefs";
|
||||
$base_cflags.=' -I$(WCECOMPAT)/include' if (defined($ENV{'WCECOMPAT'}));
|
||||
$base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include' if (defined($ENV{'PORTSDK_LIBPATH'}));
|
||||
$opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics...
|
||||
$dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG';
|
||||
if (`cl 2>&1` =~ /Version 1[4-9]\./) {
|
||||
$base_cflags.=($shlib and !$fipscanisterbuild)?' /MD':' /MT';
|
||||
} else {
|
||||
$base_cflags.=' /MC';
|
||||
}
|
||||
$opt_cflags=' /O1i'; # optimize for space, but with intrinsics...
|
||||
$dbg_clfags=' /Od -DDEBUG -D_DEBUG';
|
||||
$lflags="/nologo /opt:ref $wcelflag";
|
||||
}
|
||||
else # Win32
|
||||
{
|
||||
$base_cflags= " $mf_cflag";
|
||||
my $f = $shlib?' /MD':' /MT';
|
||||
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
|
||||
my $f = ($shlib and !$fipscanisterbuild)?' /MD':' /MT';
|
||||
$opt_cflags=$f.' /Ox /O2 /Ob2';
|
||||
$dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
|
||||
$lflags="/nologo /subsystem:console /opt:ref";
|
||||
}
|
||||
$lib_cflag='/Zl' if (!$shlib or $fipscanisterbuild); # remove /DEFAULTLIBs
|
||||
$mlflags='';
|
||||
|
||||
$out_def ="out32"; $out_def.="dll" if ($shlib);
|
||||
@@ -284,7 +288,8 @@ elsif ($shlib && $FLAVOR =~ /CE/)
|
||||
{
|
||||
$mlflags.=" $lflags /dll";
|
||||
$lflags.=' /entry:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'}));
|
||||
$lib_cflag.=" -D_WINDLL -D_DLL";
|
||||
$lib_cflag.=" -D_WINDLL";
|
||||
$lib_cflag.=" -D_DLL" if (!$fipscanisterbuild);
|
||||
}
|
||||
|
||||
sub do_lib_rule
|
||||
|
||||
Reference in New Issue
Block a user