diff options
Diffstat (limited to 'src/lib/libcrypto/rc4/rc4_skey.c')
| -rw-r--r-- | src/lib/libcrypto/rc4/rc4_skey.c | 16 |
1 files changed, 15 insertions, 1 deletions
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; |
