initialize cipher/digest methods table in SSL_library_init() and hence remove the...
authorNils Larsch <nils@openssl.org>
Sun, 21 Aug 2005 23:06:51 +0000 (23:06 +0000)
committerNils Larsch <nils@openssl.org>
Sun, 21 Aug 2005 23:06:51 +0000 (23:06 +0000)
ssl/ssl_algs.c
ssl/ssl_ciph.c
ssl/ssl_locl.h

index 1a41b9967cf4548580797ebc7663328a4a01d40f..ac82d45a9c61931b1bc3f7f49ce4121cfc78ad45 100644 (file)
@@ -115,6 +115,8 @@ int SSL_library_init(void)
           be discarded safely */
        (void)SSL_COMP_get_compression_methods();
 #endif
+       /* initialize cipher/digest methods table */
+       ssl_load_ciphers();
        return(1);
        }
 
index 9493e2d85b46d267d4b55b5b8dd197bd411100e4..8c2e1c305e4d3db4f97d93dfcdb42fbb2c683c66 100644 (file)
@@ -165,9 +165,7 @@ static const SSL_CIPHER cipher_aliases[]={
        {0,SSL_TXT_HIGH,  0, 0,  SSL_HIGH, 0,0,0,0,SSL_STRONG_MASK},
        };
 
-static int init_ciphers=1;
-
-static void load_ciphers(void)
+void ssl_load_ciphers(void)
        {
        ssl_cipher_methods[SSL_ENC_DES_IDX]= 
                EVP_get_cipherbyname(SN_des_cbc);
@@ -192,7 +190,6 @@ static void load_ciphers(void)
                EVP_get_digestbyname(SN_md5);
        ssl_digest_methods[SSL_MD_SHA1_IDX]=
                EVP_get_digestbyname(SN_sha1);
-       init_ciphers=0;
        }
 
 static int sk_comp_cmp(const SSL_COMP * const *a,
@@ -816,13 +813,6 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method,
        if (rule_str == NULL || cipher_list == NULL || cipher_list_by_id == NULL)
                return NULL;
 
-       if (init_ciphers)
-               {
-               CRYPTO_w_lock(CRYPTO_LOCK_SSL);
-               if (init_ciphers) load_ciphers();
-               CRYPTO_w_unlock(CRYPTO_LOCK_SSL);
-               }
-
        /*
         * To reduce the work to do we only want to process the compiled
         * in algorithms, so we first get the mask of disabled ciphers.
index 69970a7692efb049cfab11aed06c5abe9c43b4de..0bebaf02bcd05d10f8a446558d5f50374bcee3e8 100644 (file)
@@ -739,6 +739,7 @@ int ssl_cert_type(X509 *x,EVP_PKEY *pkey);
 void ssl_set_cert_masks(CERT *c, SSL_CIPHER *cipher);
 STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s);
 int ssl_verify_alarm_type(long type);
+void ssl_load_ciphers(void);
 
 int ssl2_enc_init(SSL *s, int client);
 int ssl2_generate_key_material(SSL *s);