diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2009-01-09 12:15:53 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2009-01-09 12:15:53 +0000 |
commit | 6d17bf8726d06249097f42aa5b8fb41c345eeab8 (patch) | |
tree | 791e92f5e63e9cfece89543fce77b515015ab96c /lib/libcrypto/aes | |
parent | d30d6ad00561d36a052e2a024020f6802756f04a (diff) |
resolve conflicts
Diffstat (limited to 'lib/libcrypto/aes')
-rw-r--r-- | lib/libcrypto/aes/aes.h | 4 | ||||
-rw-r--r-- | lib/libcrypto/aes/aes_cbc.c | 2 | ||||
-rw-r--r-- | lib/libcrypto/aes/aes_core.c | 8 | ||||
-rw-r--r-- | lib/libcrypto/aes/asm/aes-586.pl | 3 |
4 files changed, 16 insertions, 1 deletions
diff --git a/lib/libcrypto/aes/aes.h b/lib/libcrypto/aes/aes.h index baf0222d49d..450f2b4051b 100644 --- a/lib/libcrypto/aes/aes.h +++ b/lib/libcrypto/aes/aes.h @@ -66,6 +66,10 @@ #define AES_MAXNR 14 #define AES_BLOCK_SIZE 16 +#ifdef OPENSSL_FIPS +#define FIPS_AES_SIZE_T int +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/lib/libcrypto/aes/aes_cbc.c b/lib/libcrypto/aes/aes_cbc.c index d2ba6bcdb46..373864cd4bd 100644 --- a/lib/libcrypto/aes/aes_cbc.c +++ b/lib/libcrypto/aes/aes_cbc.c @@ -59,6 +59,7 @@ #include <openssl/aes.h> #include "aes_locl.h" +#if !defined(OPENSSL_FIPS_AES_ASM) void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, const unsigned long length, const AES_KEY *key, unsigned char *ivec, const int enc) { @@ -129,3 +130,4 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, } } } +#endif diff --git a/lib/libcrypto/aes/aes_core.c b/lib/libcrypto/aes/aes_core.c index 3a80e18b0a4..cffdd4daec4 100644 --- a/lib/libcrypto/aes/aes_core.c +++ b/lib/libcrypto/aes/aes_core.c @@ -37,6 +37,10 @@ #include <stdlib.h> #include <openssl/aes.h> +#ifdef OPENSSL_FIPS +#include <openssl/fips.h> +#endif + #include "aes_locl.h" /* @@ -631,6 +635,10 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, int i = 0; u32 temp; +#ifdef OPENSSL_FIPS + FIPS_selftest_check(); +#endif + if (!userKey || !key) return -1; if (bits != 128 && bits != 192 && bits != 256) diff --git a/lib/libcrypto/aes/asm/aes-586.pl b/lib/libcrypto/aes/asm/aes-586.pl index 3da307bef94..e771e839535 100644 --- a/lib/libcrypto/aes/asm/aes-586.pl +++ b/lib/libcrypto/aes/asm/aes-586.pl @@ -955,8 +955,9 @@ my $mark=&DWP(60+240,"esp"); #copy of aes_key->rounds &align (4); &set_label("enc_tail"); - &push ($key eq "edi" ? $key : ""); # push ivp + &mov ($s0,$key eq "edi" ? $key : ""); &mov ($key,$_out); # load out + &push ($s0); # push ivp &mov ($s1,16); &sub ($s1,$s2); &cmp ($key,$acc); # compare with inp |