Respect no-asm with fips option and disable FIPS DES assembler in

shared context [because it's not PIC].
This commit is contained in:
Andy Polyakov 2004-12-10 11:37:25 +00:00
parent 13e387c3fe
commit a661c1728f
2 changed files with 12 additions and 5 deletions

View file

@ -1161,14 +1161,21 @@ if ($ranlib eq "")
$bn_obj = $bn_asm unless $bn_obj ne "";
my $fips_des_obj='asm/fips-dx86-elf.o' if ($des_obj =~ /\-elf\.o$/);
my $fips_sha1_obj='asm/sx86-elf.o' if ($sha1_obj =~ /\-elf\.o$/);
my $fips_des_obj;
my $fips_sha1_obj;
if ($fips)
{
if ($des_obj =~ /\-elf\.o$/ && $no_shared) # FIPS DES module is not PIC
{
$fips_des_obj='asm/fips-dx86-elf.o';
$openssl_other_defines.="#define OPENSSL_FIPS_DES_ASM\n";
}
else { $fips_des_obj=$fips_des_enc; }
$fips_sha1_obj='asm/sx86-elf.o' if ($sha1_obj =~ /\-elf\.o$/);
$des_obj=$sha1_obj="";
$openssl_other_defines.="#define OPENSSL_FIPS\n";
}
$des_obj=$des_enc unless (!$fips && $des_obj =~ /\.o$/);
$des_obj=$des_enc unless ($des_obj =~ /\.o$/);
$bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
$cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/);
$rc4_obj=$rc4_enc unless ($rc4_obj =~ /\.o$/);

View file

@ -293,7 +293,7 @@ void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1,
#ifndef DES_DEFAULT_OPTIONS
#if !defined(OPENSSL_FIPS)
#if !defined(OPENSSL_FIPS_DES_ASM)
#undef CBC_ENC_C__DONT_UPDATE_IV
#include "ncbc_enc.c" /* DES_ncbc_encrypt */
@ -410,6 +410,6 @@ void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output,
tin[0]=tin[1]=0;
}
#endif /* !defined(OPENSSL_FIPS) */
#endif /* !defined(OPENSSL_FIPS_DES_ASM) */
#endif /* DES_DEFAULT_OPTIONS */