Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.1.0 [xx XXX xxxx] *) Modify fipscanisteronly build option to only build the necessary object files by filtering FIPS_EX_OBJ through a perl script in crypto/Makefile. [Steve Henson] *) Add experimental option FIPSSYMS to give all symbols in fipscanister.o and FIPS or fips prefix. This will avoid conflicts with future versions of OpenSSL. Add perl script Loading Makefile.fips +3 −3 Original line number Diff line number Diff line Loading @@ -147,8 +147,8 @@ SHLIBDIRS= crypto # dirs in crypto to build SDIRS= \ sha hmac des aes modes \ bn ec rsa dsa ecdsa dh ecdh \ buffer rand evp cmac bn ec rsa dsa ecdsa dh \ buffer rand evp # ecdh cmac # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... Loading Loading @@ -372,7 +372,7 @@ build_crypto: else \ AS='$(CC) -c' ; \ fi ; export AS ; \ dir=crypto; target=all; $(BUILD_ONE_CMD) dir=crypto; target=fips; $(BUILD_ONE_CMD) build_ssl: @dir=ssl; target=all; $(BUILD_ONE_CMD) build_engines: Loading crypto/Makefile +7 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,13 @@ top: all: shared fips: cryptlib.o thr_id.o uid.o $(CPUID_OBJ) [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \ ( obj=`$(PERL) $(TOP)/util/fipsobj.pl $$i` && \ cd $$i && echo "making fips in $(DIR)/$$i..." && \ $(MAKE) -e TOP=../.. DIR=$$i INCLUDES='$(INCLUDES)' $$obj ) || exit 1; \ done; buildinf.h: ../Makefile ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ Loading util/fipsobj.pl 0 → 100644 +31 −0 Original line number Diff line number Diff line # Filter script. Take all FIPS object files from the environment # and print out only those in the given directory. my $dir = $ARGV[0]; my $asmobjs = ""; # Add any needed assembly languagr files. $asmobjs = $ENV{AES_ENC} if $dir eq "aes"; $asmobjs = $ENV{BN_ASM} if $dir eq "bn"; $asmobjs = $ENV{DES_ENC} if $dir eq "des"; $asmobjs = $ENV{SHA1_ASM_OBJ} if $dir eq "sha"; $asmobjs = $ENV{MODES_ASM_OBJ} if $dir eq "modes"; # Get all other FIPS object files, filtered by directory. my @objlist = grep {/crypto\/$dir\//} split / /, $ENV{FIPS_EX_OBJ}; push @objlist, split / /, $asmobjs; # Fatal error if no matches die "No objects in $dir!" if (scalar @objlist == 0); # Output all matches removing pathname. foreach (@objlist) { s|../crypto/$dir/||; print "$_\n"; } Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.1.0 [xx XXX xxxx] *) Modify fipscanisteronly build option to only build the necessary object files by filtering FIPS_EX_OBJ through a perl script in crypto/Makefile. [Steve Henson] *) Add experimental option FIPSSYMS to give all symbols in fipscanister.o and FIPS or fips prefix. This will avoid conflicts with future versions of OpenSSL. Add perl script Loading
Makefile.fips +3 −3 Original line number Diff line number Diff line Loading @@ -147,8 +147,8 @@ SHLIBDIRS= crypto # dirs in crypto to build SDIRS= \ sha hmac des aes modes \ bn ec rsa dsa ecdsa dh ecdh \ buffer rand evp cmac bn ec rsa dsa ecdsa dh \ buffer rand evp # ecdh cmac # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... Loading Loading @@ -372,7 +372,7 @@ build_crypto: else \ AS='$(CC) -c' ; \ fi ; export AS ; \ dir=crypto; target=all; $(BUILD_ONE_CMD) dir=crypto; target=fips; $(BUILD_ONE_CMD) build_ssl: @dir=ssl; target=all; $(BUILD_ONE_CMD) build_engines: Loading
crypto/Makefile +7 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,13 @@ top: all: shared fips: cryptlib.o thr_id.o uid.o $(CPUID_OBJ) [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \ ( obj=`$(PERL) $(TOP)/util/fipsobj.pl $$i` && \ cd $$i && echo "making fips in $(DIR)/$$i..." && \ $(MAKE) -e TOP=../.. DIR=$$i INCLUDES='$(INCLUDES)' $$obj ) || exit 1; \ done; buildinf.h: ../Makefile ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ Loading
util/fipsobj.pl 0 → 100644 +31 −0 Original line number Diff line number Diff line # Filter script. Take all FIPS object files from the environment # and print out only those in the given directory. my $dir = $ARGV[0]; my $asmobjs = ""; # Add any needed assembly languagr files. $asmobjs = $ENV{AES_ENC} if $dir eq "aes"; $asmobjs = $ENV{BN_ASM} if $dir eq "bn"; $asmobjs = $ENV{DES_ENC} if $dir eq "des"; $asmobjs = $ENV{SHA1_ASM_OBJ} if $dir eq "sha"; $asmobjs = $ENV{MODES_ASM_OBJ} if $dir eq "modes"; # Get all other FIPS object files, filtered by directory. my @objlist = grep {/crypto\/$dir\//} split / /, $ENV{FIPS_EX_OBJ}; push @objlist, split / /, $asmobjs; # Fatal error if no matches die "No objects in $dir!" if (scalar @objlist == 0); # Output all matches removing pathname. foreach (@objlist) { s|../crypto/$dir/||; print "$_\n"; }