diff options
author | djm <> | 2009-01-09 12:14:11 +0000 |
---|---|---|
committer | djm <> | 2009-01-09 12:14:11 +0000 |
commit | a0fdc9ec41594852f67ec77dfad9cb06bacc4186 (patch) | |
tree | c43f6b3a4d93ad2cb3dcf93275295679d895a033 /src/lib/libcrypto/rc4 | |
parent | 5a3c0a05c7f2c5d3c584b7c8d6aec836dd724c80 (diff) | |
download | openbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.tar.gz openbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.tar.bz2 openbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.zip |
import openssl-0.9.8j
Diffstat (limited to 'src/lib/libcrypto/rc4')
-rwxr-xr-x | src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/rc4/rc4.h | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/rc4/rc4_skey.c | 16 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl index 2d47320485..00c6fa28aa 100755 --- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl +++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | |||
@@ -359,6 +359,8 @@ ___ | |||
359 | 359 | ||
360 | $code =~ s/#([bwd])/$1/gm; | 360 | $code =~ s/#([bwd])/$1/gm; |
361 | 361 | ||
362 | $code =~ s/RC4_set_key/private_RC4_set_key/g if ($ENV{FIPSCANLIB} ne ""); | ||
363 | |||
362 | print $code; | 364 | print $code; |
363 | 365 | ||
364 | close STDOUT; | 366 | close STDOUT; |
diff --git a/src/lib/libcrypto/rc4/rc4.h b/src/lib/libcrypto/rc4/rc4.h index 7aec04fe93..2d8620d33b 100644 --- a/src/lib/libcrypto/rc4/rc4.h +++ b/src/lib/libcrypto/rc4/rc4.h | |||
@@ -76,6 +76,9 @@ typedef struct rc4_key_st | |||
76 | 76 | ||
77 | 77 | ||
78 | const char *RC4_options(void); | 78 | const char *RC4_options(void); |
79 | #ifdef OPENSSL_FIPS | ||
80 | void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); | ||
81 | #endif | ||
79 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); | 82 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); |
80 | void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata, | 83 | void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata, |
81 | unsigned char *outdata); | 84 | unsigned char *outdata); |
diff --git a/src/lib/libcrypto/rc4/rc4_skey.c b/src/lib/libcrypto/rc4/rc4_skey.c index 46b77ec321..4478d1a4b3 100644 --- a/src/lib/libcrypto/rc4/rc4_skey.c +++ b/src/lib/libcrypto/rc4/rc4_skey.c | |||
@@ -59,6 +59,11 @@ | |||
59 | #include <openssl/rc4.h> | 59 | #include <openssl/rc4.h> |
60 | #include "rc4_locl.h" | 60 | #include "rc4_locl.h" |
61 | #include <openssl/opensslv.h> | 61 | #include <openssl/opensslv.h> |
62 | #include <openssl/crypto.h> | ||
63 | #ifdef OPENSSL_FIPS | ||
64 | #include <openssl/fips.h> | ||
65 | #endif | ||
66 | |||
62 | 67 | ||
63 | const char RC4_version[]="RC4" OPENSSL_VERSION_PTEXT; | 68 | const char RC4_version[]="RC4" OPENSSL_VERSION_PTEXT; |
64 | 69 | ||
@@ -85,7 +90,11 @@ const char *RC4_options(void) | |||
85 | * Date: Wed, 14 Sep 1994 06:35:31 GMT | 90 | * Date: Wed, 14 Sep 1994 06:35:31 GMT |
86 | */ | 91 | */ |
87 | 92 | ||
93 | #ifdef OPENSSL_FIPS | ||
94 | void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data) | ||
95 | #else | ||
88 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data) | 96 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data) |
97 | #endif | ||
89 | { | 98 | { |
90 | register RC4_INT tmp; | 99 | register RC4_INT tmp; |
91 | register int id1,id2; | 100 | register int id1,id2; |
@@ -127,7 +136,12 @@ void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data) | |||
127 | * | 136 | * |
128 | * <appro@fy.chalmers.se> | 137 | * <appro@fy.chalmers.se> |
129 | */ | 138 | */ |
130 | if (OPENSSL_ia32cap_P & (1<<20)) { | 139 | #ifdef OPENSSL_FIPS |
140 | unsigned long *ia32cap_ptr = OPENSSL_ia32cap_loc(); | ||
141 | if (ia32cap_ptr && (*ia32cap_ptr & (1<<28))) { | ||
142 | #else | ||
143 | if (OPENSSL_ia32cap_P & (1<<28)) { | ||
144 | #endif | ||
131 | unsigned char *cp=(unsigned char *)d; | 145 | unsigned char *cp=(unsigned char *)d; |
132 | 146 | ||
133 | for (i=0;i<256;i++) cp[i]=i; | 147 | for (i=0;i<256;i++) cp[i]=i; |