Initialize SSL_METHOD structures at compile time. This removes the need
[openssl.git] / ssl / t1_lib.c
index 6f95fc1ca8bd8c6f06d8d0ba29db8f8bafef41e8..d4516eba71e077e0ffa09fa3ba53b5170ef93fd8 100644 (file)
@@ -62,9 +62,7 @@
 
 const char *tls1_version_str="TLSv1" OPENSSL_VERSION_PTEXT;
 
 
 const char *tls1_version_str="TLSv1" OPENSSL_VERSION_PTEXT;
 
-static long tls1_default_timeout(void);
-
-static SSL3_ENC_METHOD TLSv1_enc_data={
+SSL3_ENC_METHOD TLSv1_enc_data={
        tls1_enc,
        tls1_mac,
        tls1_setup_key_block,
        tls1_enc,
        tls1_mac,
        tls1_setup_key_block,
@@ -78,49 +76,17 @@ static SSL3_ENC_METHOD TLSv1_enc_data={
        tls1_alert_code,
        };
 
        tls1_alert_code,
        };
 
-static SSL_METHOD TLSv1_data= {
-       TLS1_VERSION,
-       tls1_new,
-       tls1_clear,
-       tls1_free,
-       ssl_undefined_function,
-       ssl_undefined_function,
-       ssl3_read,
-       ssl3_peek,
-       ssl3_write,
-       ssl3_shutdown,
-       ssl3_renegotiate,
-       ssl3_renegotiate_check,
-       ssl3_get_message,
-       ssl3_read_bytes,
-       ssl3_write_bytes,
-       ssl3_dispatch_alert,
-       ssl3_ctrl,
-       ssl3_ctx_ctrl,
-       ssl3_get_cipher_by_char,
-       ssl3_put_cipher_by_char,
-       ssl3_pending,
-       ssl3_num_ciphers,
-       ssl3_get_cipher,
-       ssl_bad_method,
-       tls1_default_timeout,
-       &TLSv1_enc_data,
-       ssl_undefined_void_function,
-       ssl3_callback_ctrl,
-       ssl3_ctx_callback_ctrl,
-       };
-
-static long tls1_default_timeout(void)
+long tls1_default_timeout(void)
        {
        /* 2 hours, the 24 hours mentioned in the TLSv1 spec
         * is way too long for http, the cache would over fill */
        return(60*60*2);
        }
 
        {
        /* 2 hours, the 24 hours mentioned in the TLSv1 spec
         * is way too long for http, the cache would over fill */
        return(60*60*2);
        }
 
-SSL_METHOD *tlsv1_base_method(void)
-       {
-       return(&TLSv1_data);
-       }
+IMPLEMENT_tls1_meth_func(tlsv1_base_method,
+                       ssl_undefined_function,
+                       ssl_undefined_function,
+                       ssl_bad_method)
 
 int tls1_new(SSL *s)
        {
 
 int tls1_new(SSL *s)
        {