--- old/usr/src/lib/openssl/include/openssl/opensslconf.h	2014-08-13 19:32:53.711380442 +0400
+++ new/usr/src/lib/openssl/include/openssl/opensslconf.h	2014-08-13 19:32:53.723231160 +0400
@@ -5,20 +5,71 @@
 #ifndef OPENSSL_DOING_MAKEDEPEND
 
 
+#ifndef OPENSSL_NO_EC
+# define OPENSSL_NO_EC
+#endif
 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
 # define OPENSSL_NO_EC_NISTP_64_GCC_128
 #endif
+#ifndef OPENSSL_NO_ECDH
+# define OPENSSL_NO_ECDH
+#endif
+#ifndef OPENSSL_NO_ECDSA
+# define OPENSSL_NO_ECDSA
+#endif
 #ifndef OPENSSL_NO_GMP
 # define OPENSSL_NO_GMP
 #endif
+#ifndef OPENSSL_NO_GOST
+# define OPENSSL_NO_GOST
+#endif
+#ifndef OPENSSL_NO_HW_4758_CCA
+# define OPENSSL_NO_HW_4758_CCA
+#endif
+#ifndef OPENSSL_NO_HW_AEP
+# define OPENSSL_NO_HW_AEP
+#endif
+#ifndef OPENSSL_NO_HW_ATALLA
+# define OPENSSL_NO_HW_ATALLA
+#endif
+#ifndef OPENSSL_NO_HW_CHIL
+# define OPENSSL_NO_HW_CHIL
+#endif
+#ifndef OPENSSL_NO_HW_CSWIFT
+# define OPENSSL_NO_HW_CSWIFT
+#endif
+#ifndef OPENSSL_NO_HW_GMP
+# define OPENSSL_NO_HW_GMP
+#endif
+#ifndef OPENSSL_NO_HW_NCIPHER
+# define OPENSSL_NO_HW_NCIPHER
+#endif
+#ifndef OPENSSL_NO_HW_NURON
+# define OPENSSL_NO_HW_NURON
+#endif
+#ifndef OPENSSL_NO_HW_PADLOCK
+# define OPENSSL_NO_HW_PADLOCK
+#endif
+#ifndef OPENSSL_NO_HW_SUREWARE
+# define OPENSSL_NO_HW_SUREWARE
+#endif
+#ifndef OPENSSL_NO_HW_UBSEC
+# define OPENSSL_NO_HW_UBSEC
+#endif
+#ifndef OPENSSL_NO_IDEA
+# define OPENSSL_NO_IDEA
+#endif
 #ifndef OPENSSL_NO_JPAKE
 # define OPENSSL_NO_JPAKE
 #endif
 #ifndef OPENSSL_NO_KRB5
 # define OPENSSL_NO_KRB5
 #endif
-#ifndef OPENSSL_NO_MD2
-# define OPENSSL_NO_MD2
+#ifndef OPENSSL_NO_MDC2
+# define OPENSSL_NO_MDC2
+#endif
+#ifndef OPENSSL_NO_RC3
+# define OPENSSL_NO_RC3
 #endif
 #ifndef OPENSSL_NO_RC5
 # define OPENSSL_NO_RC5
@@ -29,17 +80,29 @@
 #ifndef OPENSSL_NO_SCTP
 # define OPENSSL_NO_SCTP
 #endif
+#ifndef OPENSSL_NO_SEED
+# define OPENSSL_NO_SEED
+#endif
 #ifndef OPENSSL_NO_STORE
 # define OPENSSL_NO_STORE
 #endif
 #ifndef OPENSSL_NO_UNIT_TEST
 # define OPENSSL_NO_UNIT_TEST
 #endif
+#ifndef OPENSSL_NO_WHIRLPOOL
+# define OPENSSL_NO_WHIRLPOOL
+#endif
+#ifndef OPENSSL_NO_WHRLPOOL
+# define OPENSSL_NO_WHRLPOOL
+#endif
 
 #endif /* OPENSSL_DOING_MAKEDEPEND */
 
-#ifndef OPENSSL_NO_DYNAMIC_ENGINE
-# define OPENSSL_NO_DYNAMIC_ENGINE
+#ifndef OPENSSL_THREADS
+# define OPENSSL_THREADS
+#endif
+#ifndef OPENSSL_NO_STATIC_ENGINE
+# define OPENSSL_NO_STATIC_ENGINE
 #endif
 
 /* The OPENSSL_NO_* macros are also defined as NO_* if the application
@@ -47,20 +110,71 @@
    who haven't had the time to do the appropriate changes in their
    applications.  */
 #ifdef OPENSSL_ALGORITHM_DEFINES
+# if defined(OPENSSL_NO_EC) && !defined(NO_EC)
+#  define NO_EC
+# endif
 # if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
 #  define NO_EC_NISTP_64_GCC_128
 # endif
+# if defined(OPENSSL_NO_ECDH) && !defined(NO_ECDH)
+#  define NO_ECDH
+# endif
+# if defined(OPENSSL_NO_ECDSA) && !defined(NO_ECDSA)
+#  define NO_ECDSA
+# endif
 # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
 #  define NO_GMP
 # endif
+# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST)
+#  define NO_GOST
+# endif
+# if defined(OPENSSL_NO_HW_4758_CCA) && !defined(NO_HW_4758_CCA)
+#  define NO_HW_4758_CCA
+# endif
+# if defined(OPENSSL_NO_HW_AEP) && !defined(NO_HW_AEP)
+#  define NO_HW_AEP
+# endif
+# if defined(OPENSSL_NO_HW_ATALLA) && !defined(NO_HW_ATALLA)
+#  define NO_HW_ATALLA
+# endif
+# if defined(OPENSSL_NO_HW_CHIL) && !defined(NO_HW_CHIL)
+#  define NO_HW_CHIL
+# endif
+# if defined(OPENSSL_NO_HW_CSWIFT) && !defined(NO_HW_CSWIFT)
+#  define NO_HW_CSWIFT
+# endif
+# if defined(OPENSSL_NO_HW_GMP) && !defined(NO_HW_GMP)
+#  define NO_HW_GMP
+# endif
+# if defined(OPENSSL_NO_HW_NCIPHER) && !defined(NO_HW_NCIPHER)
+#  define NO_HW_NCIPHER
+# endif
+# if defined(OPENSSL_NO_HW_NURON) && !defined(NO_HW_NURON)
+#  define NO_HW_NURON
+# endif
+# if defined(OPENSSL_NO_HW_PADLOCK) && !defined(NO_HW_PADLOCK)
+#  define NO_HW_PADLOCK
+# endif
+# if defined(OPENSSL_NO_HW_SUREWARE) && !defined(NO_HW_SUREWARE)
+#  define NO_HW_SUREWARE
+# endif
+# if defined(OPENSSL_NO_HW_UBSEC) && !defined(NO_HW_UBSEC)
+#  define NO_HW_UBSEC
+# endif
+# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
+#  define NO_IDEA
+# endif
 # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
 #  define NO_JPAKE
 # endif
 # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
 #  define NO_KRB5
 # endif
-# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
-#  define NO_MD2
+# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
+#  define NO_MDC2
+# endif
+# if defined(OPENSSL_NO_RC3) && !defined(NO_RC3)
+#  define NO_RC3
 # endif
 # if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
 #  define NO_RC5
@@ -71,23 +185,40 @@
 # if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
 #  define NO_SCTP
 # endif
+# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
+#  define NO_SEED
+# endif
 # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
 #  define NO_STORE
 # endif
 # if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
 #  define NO_UNIT_TEST
 # endif
+# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL)
+#  define NO_WHIRLPOOL
+# endif
+# if defined(OPENSSL_NO_WHRLPOOL) && !defined(NO_WHRLPOOL)
+#  define NO_WHRLPOOL
+# endif
 #endif
 
+#define OPENSSL_CPUID_OBJ
+
 /* crypto/opensslconf.h.in */
 
+#include <openssl/sunw_prefix.h>
+
 /* Generate 80386 code? */
 #undef I386_ONLY
 
 #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
-#define ENGINESDIR "/usr/local/ssl/lib/engines"
-#define OPENSSLDIR "/usr/local/ssl"
+#if defined(__x86_64)
+#define ENGINESDIR "/usr/lib/openssl/engines/64"
+#else
+#define ENGINESDIR "/usr/lib/openssl/engines"
+#endif
+#define OPENSSLDIR "/etc/openssl"
 #endif
 #endif
 
@@ -125,7 +256,11 @@
  * This enables code handling data aligned at natural CPU word
  * boundary. See crypto/rc4/rc4_enc.c for further details.
  */
+#if defined(__x86_64)
+#define RC4_CHUNK unsigned long
+#else
 #undef RC4_CHUNK
+#endif  /* __x86_64 */
 #endif
 #endif
 
@@ -133,32 +268,50 @@
 /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
  * %20 speed up (longs are 8 bytes, int's are 4). */
 #ifndef DES_LONG
+#if defined(__x86_64)
+#define DES_LONG unsigned int
+#else
 #define DES_LONG unsigned long
 #endif
 #endif
+#endif
 
 #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
 #define CONFIG_HEADER_BN_H
+#if defined(__x86_64)
 #undef BN_LLONG
+#else
+#define BN_LLONG
+#endif
 
 /* Should we define BN_DIV2W here? */
 
 /* Only one for the following should be defined */
+#if defined(__x86_64)
+#define SIXTY_FOUR_BIT_LONG
+#undef THIRTY_TWO_BIT
+#else
 #undef SIXTY_FOUR_BIT_LONG
 #undef SIXTY_FOUR_BIT
 #define THIRTY_TWO_BIT
 #endif
+#undef SIXTY_FOUR_BIT
+#endif
 
 #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
 #define CONFIG_HEADER_RC4_LOCL_H
 /* if this is defined data[i] is used instead of *data, this is a %20
  * speedup on x86 */
-#undef RC4_INDEX
+#if defined(__x86_64)
+#undef	RC4_INDEX
+#else
+#define	RC4_INDEX
+#endif /* __x86_64 */
 #endif
 
 #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
 #define CONFIG_HEADER_BF_LOCL_H
-#undef BF_PTR
+#define BF_PTR
 #endif /* HEADER_BF_LOCL_H */
 
 #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
@@ -167,14 +320,22 @@
 /* the following is tweaked from a config script, that is why it is a
  * protected undef/define */
 #ifndef DES_PTR
+#if defined(__x86_64)
 #undef DES_PTR
+#else
+#define	DES_PTR
+#endif /* __x86_64 */
 #endif
 
 /* This helps C compiler generate the correct code for multiple functional
  * units.  It reduces register dependancies at the expense of 2 more
  * registers */
 #ifndef DES_RISC1
+#if defined(__x86_64)
 #undef DES_RISC1
+#else
+#define        DES_RISC1
+#endif /* __x86_64 */
 #endif
 
 #ifndef DES_RISC2
@@ -188,7 +349,7 @@
 /* Unroll the inner loop, this sometimes helps, sometimes hinders.
  * Very mucy CPU dependant */
 #ifndef DES_UNROLL
-#undef DES_UNROLL
+#define DES_UNROLL
 #endif
 
 /* These default values were supplied by
