00001 #ifndef GLOBUS_SSL_LOCL_H 00002 #define GLOBUS_SSL_LOCL_H 00003 00004 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) 00005 #define SSL_STRONG_MASK 0x000001fcL 00006 #else 00007 #define SSL_STRONG_MASK 0x000000fcL 00008 #endif 00009 00010 #define SSL_LOW 0x00000020L 00011 00012 typedef struct ssl3_enc_method 00013 { 00014 int (*enc)(SSL *, int); 00015 int (*mac)(SSL *, unsigned char *, int); 00016 int (*setup_key_block)(SSL *); 00017 int (*generate_master_secret)(SSL *, unsigned char *, unsigned char *, int); 00018 int (*change_cipher_state)(SSL *, int); 00019 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) 00020 int (*final_finish_mac)(SSL *, EVP_MD_CTX *, EVP_MD_CTX *, const char *, int, unsigned char *); 00021 #else 00022 int (*final_finish_mac)(SSL *, const char *, int, unsigned char *); 00023 #endif 00024 int finish_mac_length; 00025 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) 00026 int (*cert_verify_mac)(SSL *, EVP_MD_CTX *, unsigned char *); 00027 #else 00028 int (*cert_verify_mac)(SSL *, int, unsigned char *); 00029 #endif 00030 const char *client_finished_label; 00031 int client_finished_label_len; 00032 const char *server_finished_label; 00033 int server_finished_label_len; 00034 int (*alert_value)(int); 00035 } SSL3_ENC_METHOD; 00036 00037 int ssl3_setup_buffers(SSL *s); 00038 00039 int ssl_init_wbio_buffer(SSL *s, int push); 00040 void ssl_free_wbio_buffer(SSL *s); 00041 00042 int ssl3_setup_key_block(SSL *s); 00043 void ssl3_cleanup_key_block(SSL *s); 00044 00045 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L) 00046 int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, 00047 const EVP_MD **md, int *mac_pkey_type, 00048 int *mac_secret_size, SSL_COMP **comp); 00049 #else 00050 int ssl_cipher_get_evp(SSL_SESSION *s, const EVP_CIPHER **enc, 00051 const EVP_MD **md, SSL_COMP **comp); 00052 #endif 00053 00054 #endif