PR: 2555
[openssl.git] / ssl / ssl_algs.c
index 7c8a451fc56c8d0c4e9d83563e82449121583316..0967b2dfe4dd1b425fc489d209e5838a1c7c9fc7 100644 (file)
@@ -76,15 +76,25 @@ int SSL_library_init(void)
 #endif  
 #ifndef OPENSSL_NO_RC2
        EVP_add_cipher(EVP_rc2_cbc());
+       /* Not actually used for SSL/TLS but this makes PKCS#12 work
+        * if an application only calls SSL_library_init().
+        */
+       EVP_add_cipher(EVP_rc2_40_cbc());
 #endif
 #ifndef OPENSSL_NO_AES
        EVP_add_cipher(EVP_aes_128_cbc());
        EVP_add_cipher(EVP_aes_192_cbc());
        EVP_add_cipher(EVP_aes_256_cbc());
 #endif
-#ifndef OPENSSL_NO_MD2
-       EVP_add_digest(EVP_md2());
+#ifndef OPENSSL_NO_CAMELLIA
+       EVP_add_cipher(EVP_camellia_128_cbc());
+       EVP_add_cipher(EVP_camellia_256_cbc());
 #endif
+
+#ifndef OPENSSL_NO_SEED
+       EVP_add_cipher(EVP_seed_cbc());
+#endif
+  
 #ifndef OPENSSL_NO_MD5
        EVP_add_digest(EVP_md5());
        EVP_add_digest_alias(SN_md5,"ssl2-md5");
@@ -95,6 +105,14 @@ int SSL_library_init(void)
        EVP_add_digest_alias(SN_sha1,"ssl3-sha1");
        EVP_add_digest_alias(SN_sha1WithRSAEncryption,SN_sha1WithRSA);
 #endif
+#ifndef OPENSSL_NO_SHA256
+       EVP_add_digest(EVP_sha224());
+       EVP_add_digest(EVP_sha256());
+#endif
+#ifndef OPENSSL_NO_SHA512
+       EVP_add_digest(EVP_sha384());
+       EVP_add_digest(EVP_sha512());
+#endif
 #if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_DSA)
        EVP_add_digest(EVP_dss1()); /* DSA with sha1 */
        EVP_add_digest_alias(SN_dsaWithSHA1,SN_dsaWithSHA1_2);
@@ -109,6 +127,14 @@ int SSL_library_init(void)
        EVP_add_digest(EVP_sha());
        EVP_add_digest(EVP_dss());
 #endif
+#ifndef OPENSSL_NO_COMP
+       /* This will initialise the built-in compression algorithms.
+          The value returned is a STACK_OF(SSL_COMP), but that can
+          be discarded safely */
+       (void)SSL_COMP_get_compression_methods();
+#endif
+       /* initialize cipher/digest methods table */
+       ssl_load_ciphers();
        return(1);
        }