Grid Community Toolkit  6.2.1653033972 (tag: v6.2.20220524)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_ssl_locl.h
1 #ifndef GLOBUS_SSL_LOCL_H
2 #define GLOBUS_SSL_LOCL_H
3 
4 #if OPENSSL_VERSION_NUMBER < 0x10100000L
5 
6 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
7 #define SSL_STRONG_MASK 0x000001fcL
8 #else
9 #define SSL_STRONG_MASK 0x000000fcL
10 #endif
11 
12 #define SSL_LOW 0x00000020L
13 
14 typedef struct ssl3_enc_method
15  {
16  int (*enc)(SSL *, int);
17  int (*mac)(SSL *, unsigned char *, int);
18  int (*setup_key_block)(SSL *);
19  int (*generate_master_secret)(SSL *, unsigned char *, unsigned char *, int);
20  int (*change_cipher_state)(SSL *, int);
21 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
22  int (*final_finish_mac)(SSL *, EVP_MD_CTX *, EVP_MD_CTX *, const char *, int, unsigned char *);
23 #else
24  int (*final_finish_mac)(SSL *, const char *, int, unsigned char *);
25 #endif
26  int finish_mac_length;
27 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
28  int (*cert_verify_mac)(SSL *, EVP_MD_CTX *, unsigned char *);
29 #else
30  int (*cert_verify_mac)(SSL *, int, unsigned char *);
31 #endif
32  const char *client_finished_label;
33  int client_finished_label_len;
34  const char *server_finished_label;
35  int server_finished_label_len;
36  int (*alert_value)(int);
37  } SSL3_ENC_METHOD;
38 
39 int ssl3_setup_buffers(SSL *s);
40 
41 int ssl_init_wbio_buffer(SSL *s, int push);
42 void ssl_free_wbio_buffer(SSL *s);
43 
44 int ssl3_setup_key_block(SSL *s);
45 void ssl3_cleanup_key_block(SSL *s);
46 
47 #if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
48 int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
49  const EVP_MD **md, int *mac_pkey_type,
50  int *mac_secret_size, SSL_COMP **comp);
51 #else
52 int ssl_cipher_get_evp(SSL_SESSION *s, const EVP_CIPHER **enc,
53  const EVP_MD **md, SSL_COMP **comp);
54 #endif
55 
56 #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
57 #endif