Loading CHANGES +4 −0 Original line number Original line Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.1.0 [xx XXX xxxx] 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 *) Add experimental option FIPSSYMS to give all symbols in fipscanister.o and FIPS or fips prefix. This will avoid fipscanister.o and FIPS or fips prefix. This will avoid conflicts with future versions of OpenSSL. Add perl script conflicts with future versions of OpenSSL. Add perl script Loading Makefile.fips +3 −3 Original line number Original line Diff line number Diff line Loading @@ -147,8 +147,8 @@ SHLIBDIRS= crypto # dirs in crypto to build # dirs in crypto to build SDIRS= \ SDIRS= \ sha hmac des aes modes \ sha hmac des aes modes \ bn ec rsa dsa ecdsa dh ecdh \ bn ec rsa dsa ecdsa dh \ buffer rand evp cmac buffer rand evp # ecdh cmac # keep in mind that the above list is adjusted by ./Configure # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... # according to no-xxx arguments... Loading Loading @@ -372,7 +372,7 @@ build_crypto: else \ else \ AS='$(CC) -c' ; \ AS='$(CC) -c' ; \ fi ; export AS ; \ fi ; export AS ; \ dir=crypto; target=all; $(BUILD_ONE_CMD) dir=crypto; target=fips; $(BUILD_ONE_CMD) build_ssl: build_ssl: @dir=ssl; target=all; $(BUILD_ONE_CMD) @dir=ssl; target=all; $(BUILD_ONE_CMD) build_engines: build_engines: Loading crypto/Makefile +7 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,13 @@ top: all: shared 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 buildinf.h: ../Makefile ( echo "#ifndef MK1MF_BUILD"; \ ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ Loading util/fipsobj.pl 0 → 100644 +31 −0 Original line number Original line 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 Original line Diff line number Diff line Loading @@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.1.0 [xx XXX xxxx] 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 *) Add experimental option FIPSSYMS to give all symbols in fipscanister.o and FIPS or fips prefix. This will avoid fipscanister.o and FIPS or fips prefix. This will avoid conflicts with future versions of OpenSSL. Add perl script conflicts with future versions of OpenSSL. Add perl script Loading
Makefile.fips +3 −3 Original line number Original line Diff line number Diff line Loading @@ -147,8 +147,8 @@ SHLIBDIRS= crypto # dirs in crypto to build # dirs in crypto to build SDIRS= \ SDIRS= \ sha hmac des aes modes \ sha hmac des aes modes \ bn ec rsa dsa ecdsa dh ecdh \ bn ec rsa dsa ecdsa dh \ buffer rand evp cmac buffer rand evp # ecdh cmac # keep in mind that the above list is adjusted by ./Configure # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... # according to no-xxx arguments... Loading Loading @@ -372,7 +372,7 @@ build_crypto: else \ else \ AS='$(CC) -c' ; \ AS='$(CC) -c' ; \ fi ; export AS ; \ fi ; export AS ; \ dir=crypto; target=all; $(BUILD_ONE_CMD) dir=crypto; target=fips; $(BUILD_ONE_CMD) build_ssl: build_ssl: @dir=ssl; target=all; $(BUILD_ONE_CMD) @dir=ssl; target=all; $(BUILD_ONE_CMD) build_engines: build_engines: Loading
crypto/Makefile +7 −0 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,13 @@ top: all: shared 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 buildinf.h: ../Makefile ( echo "#ifndef MK1MF_BUILD"; \ ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \ Loading
util/fipsobj.pl 0 → 100644 +31 −0 Original line number Original line 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"; }