OpenCoverage

ssl_locl.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/ssl/ssl_locl.h
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9typedef enum {-
10 SSL_PHA_NONE = 0,-
11 SSL_PHA_EXT_SENT,-
12 SSL_PHA_EXT_RECEIVED,-
13 SSL_PHA_REQUEST_PENDING,-
14 SSL_PHA_REQUESTED-
15} SSL_PHA_STATE;-
16-
17-
18-
19-
20struct ssl_cipher_st {-
21 uint32_t valid;-
22 const char *name;-
23 const char *stdname;-
24 uint32_t id;-
25-
26-
27-
28-
29 uint32_t algorithm_mkey;-
30 uint32_t algorithm_auth;-
31 uint32_t algorithm_enc;-
32 uint32_t algorithm_mac;-
33 int min_tls;-
34 int max_tls;-
35 int min_dtls;-
36 int max_dtls;-
37 uint32_t algo_strength;-
38 uint32_t algorithm2;-
39 int32_t strength_bits;-
40 uint32_t alg_bits;-
41};-
42-
43-
44struct ssl_method_st {-
45 int version;-
46 unsigned flags;-
47 unsigned long mask;-
48 int (*ssl_new) (SSL *s);-
49 int (*ssl_clear) (SSL *s);-
50 void (*ssl_free) (SSL *s);-
51 int (*ssl_accept) (SSL *s);-
52 int (*ssl_connect) (SSL *s);-
53 int (*ssl_read) (SSL *s, void *buf, size_t len, size_t *readbytes);-
54 int (*ssl_peek) (SSL *s, void *buf, size_t len, size_t *readbytes);-
55 int (*ssl_write) (SSL *s, const void *buf, size_t len, size_t *written);-
56 int (*ssl_shutdown) (SSL *s);-
57 int (*ssl_renegotiate) (SSL *s);-
58 int (*ssl_renegotiate_check) (SSL *s, int);-
59 int (*ssl_read_bytes) (SSL *s, int type, int *recvd_type,-
60 unsigned char *buf, size_t len, int peek,-
61 size_t *readbytes);-
62 int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, size_t len,-
63 size_t *written);-
64 int (*ssl_dispatch_alert) (SSL *s);-
65 long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg);-
66 long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg);-
67 const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr);-
68 int (*put_cipher_by_char) (const SSL_CIPHER *cipher, WPACKET *pkt,-
69 size_t *len);-
70 size_t (*ssl_pending) (const SSL *s);-
71 int (*num_ciphers) (void);-
72 const SSL_CIPHER *(*get_cipher) (unsigned ncipher);-
73 long (*get_timeout) (void);-
74 const struct ssl3_enc_method *ssl3_enc;-
75 int (*ssl_version) (void);-
76 long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void));-
77 long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void));-
78};-
79struct ssl_session_st {-
80 int ssl_version;-
81-
82 size_t master_key_length;-
83-
84-
85 unsigned char early_secret[64];-
86-
87-
88-
89-
90 unsigned char master_key[256];-
91-
92 size_t session_id_length;-
93 unsigned char session_id[32];-
94-
95-
96-
97-
98-
99 size_t sid_ctx_length;-
100 unsigned char sid_ctx[32];-
101-
102 char *psk_identity_hint;-
103 char *psk_identity;-
104-
105-
106-
107-
108-
109-
110 int not_resumable;-
111-
112 X509 *peer;-
113 int peer_type;-
114-
115 struct stack_st_X509 *peer_chain;-
116-
117-
118-
119-
120 long verify_result;-
121 CRYPTO_REF_COUNT references;-
122 long timeout;-
123 long time;-
124 unsigned int compress_meth;-
125 const SSL_CIPHER *cipher;-
126 unsigned long cipher_id;-
127-
128 struct stack_st_SSL_CIPHER *ciphers;-
129 CRYPTO_EX_DATA ex_data;-
130-
131-
132-
133-
134 struct ssl_session_st *prev, *next;-
135-
136 struct {-
137 char *hostname;-
138-
139 size_t ecpointformats_len;-
140 unsigned char *ecpointformats;-
141-
142 size_t supportedgroups_len;-
143 uint16_t *supportedgroups;-
144-
145 unsigned char *tick;-
146 size_t ticklen;-
147-
148 unsigned long tick_lifetime_hint;-
149 uint32_t tick_age_add;-
150 int tick_identity;-
151-
152 uint32_t max_early_data;-
153-
154 unsigned char *alpn_selected;-
155 size_t alpn_selected_len;-
156-
157-
158-
159-
160-
161-
162 uint8_t max_fragment_len_mode;-
163 } ext;-
164-
165 char *srp_username;-
166-
167 unsigned char *ticket_appdata;-
168 size_t ticket_appdata_len;-
169 uint32_t flags;-
170 CRYPTO_RWLOCK *lock;-
171};-
172-
173-
174-
175-
176-
177-
178typedef struct srp_ctx_st {-
179-
180 void *SRP_cb_arg;-
181-
182 int (*TLS_ext_srp_username_callback) (SSL *, int *, void *);-
183-
184 int (*SRP_verify_param_callback) (SSL *, void *);-
185-
186 char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *);-
187 char *login;-
188 BIGNUM *N, *g, *s, *B, *A;-
189 BIGNUM *a, *b, *v;-
190 char *info;-
191 int strength;-
192 unsigned long srp_Mask;-
193} SRP_CTX;-
194-
195-
196-
197typedef enum {-
198 SSL_EARLY_DATA_NONE = 0,-
199 SSL_EARLY_DATA_CONNECT_RETRY,-
200 SSL_EARLY_DATA_CONNECTING,-
201 SSL_EARLY_DATA_WRITE_RETRY,-
202 SSL_EARLY_DATA_WRITING,-
203 SSL_EARLY_DATA_WRITE_FLUSH,-
204 SSL_EARLY_DATA_UNAUTH_WRITING,-
205 SSL_EARLY_DATA_FINISHED_WRITING,-
206 SSL_EARLY_DATA_ACCEPT_RETRY,-
207 SSL_EARLY_DATA_ACCEPTING,-
208 SSL_EARLY_DATA_READ_RETRY,-
209 SSL_EARLY_DATA_READING,-
210 SSL_EARLY_DATA_FINISHED_READING-
211} SSL_EARLY_DATA_STATE;-
212struct ssl_comp_st {-
213 int id;-
214 const char *name;-
215 COMP_METHOD *method;-
216};-
217-
218typedef struct raw_extension_st {-
219-
220 PACKET data;-
221-
222 int present;-
223-
224 int parsed;-
225-
226 unsigned int type;-
227-
228 size_t received_order;-
229} RAW_EXTENSION;-
230-
231typedef struct {-
232 unsigned int isv2;-
233 unsigned int legacy_version;-
234 unsigned char random[32];-
235 size_t session_id_len;-
236 unsigned char session_id[32];-
237 size_t dtls_cookie_len;-
238 unsigned char dtls_cookie[256];-
239 PACKET ciphersuites;-
240 size_t compressions_len;-
241 unsigned char compressions[255];-
242 PACKET extensions;-
243 size_t pre_proc_exts_len;-
244 RAW_EXTENSION *pre_proc_exts;-
245} CLIENTHELLO_MSG;-
246-
247-
248-
249-
250-
251typedef enum tlsext_index_en {-
252 TLSEXT_IDX_renegotiate,-
253 TLSEXT_IDX_server_name,-
254 TLSEXT_IDX_max_fragment_length,-
255 TLSEXT_IDX_srp,-
256 TLSEXT_IDX_ec_point_formats,-
257 TLSEXT_IDX_supported_groups,-
258 TLSEXT_IDX_session_ticket,-
259 TLSEXT_IDX_status_request,-
260 TLSEXT_IDX_next_proto_neg,-
261 TLSEXT_IDX_application_layer_protocol_negotiation,-
262 TLSEXT_IDX_use_srtp,-
263 TLSEXT_IDX_encrypt_then_mac,-
264 TLSEXT_IDX_signed_certificate_timestamp,-
265 TLSEXT_IDX_extended_master_secret,-
266 TLSEXT_IDX_signature_algorithms_cert,-
267 TLSEXT_IDX_post_handshake_auth,-
268 TLSEXT_IDX_signature_algorithms,-
269 TLSEXT_IDX_supported_versions,-
270 TLSEXT_IDX_psk_kex_modes,-
271 TLSEXT_IDX_key_share,-
272 TLSEXT_IDX_cookie,-
273 TLSEXT_IDX_cryptopro_bug,-
274 TLSEXT_IDX_early_data,-
275 TLSEXT_IDX_certificate_authorities,-
276 TLSEXT_IDX_padding,-
277 TLSEXT_IDX_psk,-
278-
279 TLSEXT_IDX_num_builtins-
280} TLSEXT_INDEX;-
281-
282struct lhash_st_SSL_SESSION { union lh_SSL_SESSION_dummy { void* d1; unsigned long d2; int d3; } dummy; }; static inline struct lhash_st_SSL_SESSION * lh_SSL_SESSION_new(unsigned long (*hfn)(const SSL_SESSION *), int (*cfn)(const SSL_SESSION *, const SSL_SESSION *)) { return
executed 8017 times by 2 tests: return (struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
(struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
executed 8017 times by 2 tests: return (struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
} static inline void lh_SSL_SESSION_free(struct lhash_st_SSL_SESSION *lh) { OPENSSL_LH_free((OPENSSL_LHASH *)lh); }
executed 8017 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
static inline SSL_SESSION *lh_SSL_SESSION_insert(struct lhash_st_SSL_SESSION *lh, SSL_SESSION *d) { return
executed 348 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
(SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
executed 348 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
} static inline SSL_SESSION *lh_SSL_SESSION_delete(struct lhash_st_SSL_SESSION *lh, const SSL_SESSION *d) { return
executed 341 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
(SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
executed 341 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
} static inline SSL_SESSION *lh_SSL_SESSION_retrieve(struct lhash_st_SSL_SESSION *lh, const SSL_SESSION *d) { return
executed 5719 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
(SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
executed 5719 times by 1 test: return (SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
} static inline int lh_SSL_SESSION_error(struct lhash_st_SSL_SESSION *lh) { return
never executed: return OPENSSL_LH_error((OPENSSL_LHASH *)lh);
OPENSSL_LH_error((OPENSSL_LHASH *)lh);
never executed: return OPENSSL_LH_error((OPENSSL_LHASH *)lh);
} static inline unsigned long lh_SSL_SESSION_num_items(struct lhash_st_SSL_SESSION *lh) { return
executed 517 times by 1 test: return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
Executed by:
  • libssl.so.1.1
OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
executed 517 times by 1 test: return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
Executed by:
  • libssl.so.1.1
} static inline void lh_SSL_SESSION_node_stats_bio(const struct lhash_st_SSL_SESSION *lh, BIO *out) { OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline void lh_SSL_SESSION_node_usage_stats_bio(const struct lhash_st_SSL_SESSION *lh, BIO *out) { OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline void lh_SSL_SESSION_stats_bio(const struct lhash_st_SSL_SESSION *lh, BIO *out) { OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline unsigned long lh_SSL_SESSION_get_down_load(struct lhash_st_SSL_SESSION *lh) { return
executed 8017 times by 2 tests: return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
executed 8017 times by 2 tests: return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
} static inline void lh_SSL_SESSION_set_down_load(struct lhash_st_SSL_SESSION *lh, unsigned long dl) { OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); }
executed 16034 times by 2 tests: end of block
Executed by:
  • libssl.so.1.1
  • tls13encryptiontest
static inline void lh_SSL_SESSION_doall(struct lhash_st_SSL_SESSION *lh, void (*doall)(SSL_SESSION *)) { OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); }
never executed: end of block
struct lhash_st_SSL_SESSION;
0-16034
283-
284struct lhash_st_X509_NAME { union lh_X509_NAME_dummy { void* d1; unsigned long d2; int d3; } dummy; }; static inline struct lhash_st_X509_NAME * lh_X509_NAME_new(unsigned long (*hfn)(const X509_NAME *), int (*cfn)(const X509_NAME *, const X509_NAME *)) { return
executed 10 times by 1 test: return (struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
Executed by:
  • libssl.so.1.1
(struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
executed 10 times by 1 test: return (struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);
Executed by:
  • libssl.so.1.1
} static inline void lh_X509_NAME_free(struct lhash_st_X509_NAME *lh) { OPENSSL_LH_free((OPENSSL_LHASH *)lh); }
executed 10 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
static inline X509_NAME *lh_X509_NAME_insert(struct lhash_st_X509_NAME *lh, X509_NAME *d) { return
executed 10 times by 1 test: return (X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
(X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
executed 10 times by 1 test: return (X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
} static inline X509_NAME *lh_X509_NAME_delete(struct lhash_st_X509_NAME *lh, const X509_NAME *d) { return
never executed: return (X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
(X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
never executed: return (X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);
} static inline X509_NAME *lh_X509_NAME_retrieve(struct lhash_st_X509_NAME *lh, const X509_NAME *d) { return
executed 10 times by 1 test: return (X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
(X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
executed 10 times by 1 test: return (X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);
Executed by:
  • libssl.so.1.1
} static inline int lh_X509_NAME_error(struct lhash_st_X509_NAME *lh) { return
never executed: return OPENSSL_LH_error((OPENSSL_LHASH *)lh);
OPENSSL_LH_error((OPENSSL_LHASH *)lh);
never executed: return OPENSSL_LH_error((OPENSSL_LHASH *)lh);
} static inline unsigned long lh_X509_NAME_num_items(struct lhash_st_X509_NAME *lh) { return
never executed: return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
never executed: return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);
} static inline void lh_X509_NAME_node_stats_bio(const struct lhash_st_X509_NAME *lh, BIO *out) { OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline void lh_X509_NAME_node_usage_stats_bio(const struct lhash_st_X509_NAME *lh, BIO *out) { OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline void lh_X509_NAME_stats_bio(const struct lhash_st_X509_NAME *lh, BIO *out) { OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); }
never executed: end of block
static inline unsigned long lh_X509_NAME_get_down_load(struct lhash_st_X509_NAME *lh) { return
never executed: return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
never executed: return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);
} static inline void lh_X509_NAME_set_down_load(struct lhash_st_X509_NAME *lh, unsigned long dl) { OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); }
never executed: end of block
static inline void lh_X509_NAME_doall(struct lhash_st_X509_NAME *lh, void (*doall)(X509_NAME *)) { OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); }
never executed: end of block
struct lhash_st_X509_NAME;
0-10
285-
286-
287-
288-
289typedef struct ssl_ctx_ext_secure_st {-
290 unsigned char tick_hmac_key[32];-
291 unsigned char tick_aes_key[32];-
292} SSL_CTX_EXT_SECURE;-
293-
294struct ssl_ctx_st {-
295 const SSL_METHOD *method;-
296 struct stack_st_SSL_CIPHER *cipher_list;-
297-
298 struct stack_st_SSL_CIPHER *cipher_list_by_id;-
299-
300 struct stack_st_SSL_CIPHER *tls13_ciphersuites;-
301 struct x509_store_st *cert_store;-
302 struct lhash_st_SSL_SESSION *sessions;-
303-
304-
305-
306-
307 size_t session_cache_size;-
308 struct ssl_session_st *session_cache_head;-
309 struct ssl_session_st *session_cache_tail;-
310-
311-
312-
313-
314-
315 uint32_t session_cache_mode;-
316-
317-
318-
319-
320-
321 long session_timeout;-
322 int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess);-
323 void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess);-
324 SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl,-
325 const unsigned char *data, int len,-
326 int *copy);-
327 struct {-
328 _Atomic int sess_connect;-
329 _Atomic int sess_connect_renegotiate;-
330 _Atomic int sess_connect_good;-
331 _Atomic int sess_accept;-
332 _Atomic int sess_accept_renegotiate;-
333 _Atomic int sess_accept_good;-
334 _Atomic int sess_miss;-
335 _Atomic int sess_timeout;-
336 _Atomic int sess_cache_full;-
337 _Atomic int sess_hit;-
338 _Atomic int sess_cb_hit;-
339-
340-
341-
342-
343-
344-
345 } stats;-
346-
347 CRYPTO_REF_COUNT references;-
348-
349-
350 int (*app_verify_callback) (X509_STORE_CTX *, void *);-
351 void *app_verify_arg;-
352-
353-
354-
355-
356-
357-
358 pem_password_cb *default_passwd_callback;-
359-
360-
361 void *default_passwd_callback_userdata;-
362-
363-
364 int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey);-
365-
366-
367 int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie,-
368 unsigned int *cookie_len);-
369-
370-
371 int (*app_verify_cookie_cb) (SSL *ssl, const unsigned char *cookie,-
372 unsigned int cookie_len);-
373-
374-
375 int (*gen_stateless_cookie_cb) (SSL *ssl, unsigned char *cookie,-
376 size_t *cookie_len);-
377-
378-
379 int (*verify_stateless_cookie_cb) (SSL *ssl, const unsigned char *cookie,-
380 size_t cookie_len);-
381-
382 CRYPTO_EX_DATA ex_data;-
383-
384 const EVP_MD *md5;-
385 const EVP_MD *sha1;-
386-
387 struct stack_st_X509 *extra_certs;-
388 struct stack_st_SSL_COMP *comp_methods;-
389-
390-
391-
392-
393 void (*info_callback) (const SSL *ssl, int type, int val);-
394-
395-
396-
397-
398-
399-
400 struct stack_st_X509_NAME *ca_names;-
401-
402-
403-
404-
405-
406-
407 uint32_t options;-
408 uint32_t mode;-
409 int min_proto_version;-
410 int max_proto_version;-
411 size_t max_cert_list;-
412-
413 struct cert_st *cert;-
414 int read_ahead;-
415-
416-
417 void (*msg_callback) (int write_p, int version, int content_type,-
418 const void *buf, size_t len, SSL *ssl, void *arg);-
419 void *msg_callback_arg;-
420-
421 uint32_t verify_mode;-
422 size_t sid_ctx_length;-
423 unsigned char sid_ctx[32];-
424-
425 int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx);-
426-
427-
428 GEN_SESSION_CB generate_session_id;-
429-
430 X509_VERIFY_PARAM *param;-
431-
432 int quiet_shutdown;-
433-
434-
435 CTLOG_STORE *ctlog_store;-
436-
437-
438-
439-
440 ssl_ct_validation_cb ct_validation_callback;-
441 void *ct_validation_callback_arg;-
442-
443-
444-
445-
446-
447-
448 size_t split_send_fragment;-
449-
450-
451-
452-
453 size_t max_send_fragment;-
454-
455-
456 size_t max_pipelines;-
457-
458-
459 size_t default_read_buf_len;-
460-
461-
462-
463-
464-
465 ENGINE *client_cert_engine;-
466-
467-
468-
469 SSL_client_hello_cb_fn client_hello_cb;-
470 void *client_hello_cb_arg;-
471-
472-
473 struct {-
474-
475 int (*servername_cb) (SSL *, int *, void *);-
476 void *servername_arg;-
477-
478 unsigned char tick_key_name[16];-
479 SSL_CTX_EXT_SECURE *secure;-
480-
481 int (*ticket_key_cb) (SSL *ssl,-
482 unsigned char *name, unsigned char *iv,-
483 EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc);-
484-
485-
486-
487 int (*status_cb) (SSL *ssl, void *arg);-
488 void *status_arg;-
489-
490 int status_type;-
491-
492 uint8_t max_fragment_len_mode;-
493-
494-
495-
496 size_t ecpointformats_len;-
497 unsigned char *ecpointformats;-
498 size_t supportedgroups_len;-
499 uint16_t *supportedgroups;-
500 int (*alpn_select_cb) (SSL *s,-
501 const unsigned char **out,-
502 unsigned char *outlen,-
503 const unsigned char *in,-
504 unsigned int inlen, void *arg);-
505 void *alpn_select_cb_arg;-
506-
507-
508-
509-
510-
511 unsigned char *alpn;-
512 size_t alpn_len;-
513 SSL_CTX_npn_advertised_cb_func npn_advertised_cb;-
514 void *npn_advertised_cb_arg;-
515-
516-
517-
518-
519 SSL_CTX_npn_select_cb_func npn_select_cb;-
520 void *npn_select_cb_arg;-
521-
522-
523 unsigned char cookie_hmac_key[32];-
524 } ext;-
525-
526-
527 SSL_psk_client_cb_func psk_client_callback;-
528 SSL_psk_server_cb_func psk_server_callback;-
529-
530 SSL_psk_find_session_cb_func psk_find_session_cb;-
531 SSL_psk_use_session_cb_func psk_use_session_cb;-
532-
533-
534 SRP_CTX srp_ctx;-
535-
536-
537-
538 struct dane_ctx_st dane;-
539-
540-
541-
542 struct stack_st_SRTP_PROTECTION_PROFILE *srtp_profiles;-
543-
544-
545-
546-
547-
548 int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);-
549-
550 CRYPTO_RWLOCK *lock;-
551-
552-
553-
554-
555-
556 SSL_CTX_keylog_cb_func keylog_callback;-
557-
558-
559-
560-
561-
562 uint32_t max_early_data;-
563-
564-
565-
566-
567-
568 uint32_t recv_max_early_data;-
569-
570-
571 size_t (*record_padding_cb)(SSL *s, int type, size_t len, void *arg);-
572 void *record_padding_arg;-
573 size_t block_padding;-
574-
575-
576 SSL_CTX_generate_session_ticket_fn generate_ticket_cb;-
577 SSL_CTX_decrypt_session_ticket_fn decrypt_ticket_cb;-
578 void *ticket_cb_data;-
579-
580-
581 size_t num_tickets;-
582-
583-
584 SSL_allow_early_data_cb_fn allow_early_data_cb;-
585 void *allow_early_data_cb_data;-
586-
587-
588 int pha_enabled;-
589};-
590-
591struct ssl_st {-
592-
593-
594-
595-
596 int version;-
597-
598 const SSL_METHOD *method;-
599-
600-
601-
602-
603-
604 BIO *rbio;-
605-
606 BIO *wbio;-
607-
608 BIO *bbio;-
609-
610-
611-
612-
613-
614 int rwstate;-
615 int (*handshake_func) (SSL *);-
616 int server;-
617-
618-
619-
620-
621-
622-
623 int new_session;-
624-
625 int quiet_shutdown;-
626-
627 int shutdown;-
628-
629 OSSL_STATEM statem;-
630 SSL_EARLY_DATA_STATE early_data_state;-
631 BUF_MEM *init_buf;-
632 void *init_msg;-
633-
634 size_t init_num;-
635 size_t init_off;-
636 struct ssl3_state_st *s3;-
637 struct dtls1_state_st *d1;-
638-
639 void (*msg_callback) (int write_p, int version, int content_type,-
640 const void *buf, size_t len, SSL *ssl, void *arg);-
641 void *msg_callback_arg;-
642 int hit;-
643 X509_VERIFY_PARAM *param;-
644-
645 SSL_DANE dane;-
646-
647 struct stack_st_SSL_CIPHER *cipher_list;-
648 struct stack_st_SSL_CIPHER *cipher_list_by_id;-
649-
650 struct stack_st_SSL_CIPHER *tls13_ciphersuites;-
651-
652-
653-
654-
655 uint32_t mac_flags;-
656-
657-
658-
659 unsigned char early_secret[64];-
660 unsigned char handshake_secret[64];-
661 unsigned char master_secret[64];-
662 unsigned char resumption_master_secret[64];-
663 unsigned char client_finished_secret[64];-
664 unsigned char server_finished_secret[64];-
665 unsigned char server_finished_hash[64];-
666 unsigned char handshake_traffic_hash[64];-
667 unsigned char client_app_traffic_secret[64];-
668 unsigned char server_app_traffic_secret[64];-
669 unsigned char exporter_master_secret[64];-
670 unsigned char early_exporter_master_secret[64];-
671 EVP_CIPHER_CTX *enc_read_ctx;-
672 unsigned char read_iv[16];-
673 EVP_MD_CTX *read_hash;-
674 COMP_CTX *compress;-
675 COMP_CTX *expand;-
676 EVP_CIPHER_CTX *enc_write_ctx;-
677 unsigned char write_iv[16];-
678 EVP_MD_CTX *write_hash;-
679-
680 unsigned int key_update_count;-
681-
682-
683-
684 struct cert_st *cert;-
685-
686-
687-
688-
689-
690 unsigned char cert_verify_hash[64];-
691 size_t cert_verify_hash_len;-
692-
693-
694 enum {SSL_HRR_NONE = 0, SSL_HRR_PENDING, SSL_HRR_COMPLETE}-
695 hello_retry_request;-
696-
697-
698-
699-
700-
701 size_t sid_ctx_length;-
702 unsigned char sid_ctx[32];-
703-
704 SSL_SESSION *session;-
705-
706 SSL_SESSION *psksession;-
707 unsigned char *psksession_id;-
708 size_t psksession_id_len;-
709-
710 GEN_SESSION_CB generate_session_id;-
711-
712-
713-
714-
715 unsigned char tmp_session_id[32];-
716 size_t tmp_session_id_len;-
717-
718-
719-
720-
721-
722 uint32_t verify_mode;-
723-
724 int (*verify_callback) (int ok, X509_STORE_CTX *ctx);-
725-
726 void (*info_callback) (const SSL *ssl, int type, int val);-
727-
728 int error;-
729-
730 int error_code;-
731-
732 SSL_psk_client_cb_func psk_client_callback;-
733 SSL_psk_server_cb_func psk_server_callback;-
734-
735 SSL_psk_find_session_cb_func psk_find_session_cb;-
736 SSL_psk_use_session_cb_func psk_use_session_cb;-
737-
738 SSL_CTX *ctx;-
739-
740 struct stack_st_X509 *verified_chain;-
741 long verify_result;-
742-
743 CRYPTO_EX_DATA ex_data;-
744-
745 struct stack_st_X509_NAME *ca_names;-
746 CRYPTO_REF_COUNT references;-
747-
748 uint32_t options;-
749-
750 uint32_t mode;-
751 int min_proto_version;-
752 int max_proto_version;-
753 size_t max_cert_list;-
754 int first_packet;-
755-
756-
757-
758-
759 int client_version;-
760-
761-
762-
763-
764 size_t split_send_fragment;-
765-
766-
767-
768-
769 size_t max_send_fragment;-
770-
771 size_t max_pipelines;-
772-
773 struct {-
774-
775 uint8_t extflags[TLSEXT_IDX_num_builtins];-
776-
777 void (*debug_cb)(SSL *s, int client_server, int type,-
778 const unsigned char *data, int len, void *arg);-
779 void *debug_arg;-
780 char *hostname;-
781-
782-
783 int status_type;-
784-
785 unsigned char *scts;-
786-
787 uint16_t scts_len;-
788-
789 int status_expected;-
790-
791 struct {-
792-
793 struct stack_st_OCSP_RESPID *ids;-
794 X509_EXTENSIONS *exts;-
795-
796 unsigned char *resp;-
797 size_t resp_len;-
798 } ocsp;-
799-
800-
801 int ticket_expected;-
802-
803 size_t ecpointformats_len;-
804-
805 unsigned char *ecpointformats;-
806-
807 size_t supportedgroups_len;-
808-
809 uint16_t *supportedgroups;-
810-
811 TLS_SESSION_TICKET_EXT *session_ticket;-
812-
813 tls_session_ticket_ext_cb_fn session_ticket_cb;-
814 void *session_ticket_cb_arg;-
815-
816 tls_session_secret_cb_fn session_secret_cb;-
817 void *session_secret_cb_arg;-
818-
819-
820-
821-
822 unsigned char *alpn;-
823 size_t alpn_len;-
824-
825-
826-
827-
828-
829-
830-
831 unsigned char *npn;-
832 size_t npn_len;-
833-
834-
835 int psk_kex_mode;-
836-
837-
838 int use_etm;-
839-
840-
841 int early_data;-
842-
843 int early_data_ok;-
844-
845-
846 unsigned char *tls13_cookie;-
847 size_t tls13_cookie_len;-
848-
849 int cookieok;-
850 uint8_t max_fragment_len_mode;-
851 } ext;-
852-
853-
854-
855-
856-
857 CLIENTHELLO_MSG *clienthello;-
858-
859-
860-
861-
862-
863-
864-
865 int servername_done;-
866-
867-
868-
869-
870-
871 ssl_ct_validation_cb ct_validation_callback;-
872-
873 void *ct_validation_callback_arg;-
874-
875-
876-
877-
878 struct stack_st_SCT *scts;-
879-
880 int scts_parsed;-
881-
882 SSL_CTX *session_ctx;-
883-
884-
885 struct stack_st_SRTP_PROTECTION_PROFILE *srtp_profiles;-
886-
887 SRTP_PROTECTION_PROFILE *srtp_profile;-
888-
889-
890-
891-
892-
893-
894 int renegotiate;-
895-
896 int key_update;-
897-
898 SSL_PHA_STATE post_handshake_auth;-
899 int pha_enabled;-
900 uint8_t* pha_context;-
901 size_t pha_context_len;-
902 int certreqs_sent;-
903 EVP_MD_CTX *pha_dgst;-
904-
905-
906-
907 SRP_CTX srp_ctx;-
908-
909-
910-
911-
912-
913 int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);-
914 RECORD_LAYER rlayer;-
915-
916 pem_password_cb *default_passwd_callback;-
917-
918 void *default_passwd_callback_userdata;-
919-
920 ASYNC_JOB *job;-
921 ASYNC_WAIT_CTX *waitctx;-
922 size_t asyncrw;-
923-
924-
925-
926-
927-
928 uint32_t max_early_data;-
929-
930-
931-
932-
933 uint32_t recv_max_early_data;-
934-
935-
936-
937-
938-
939-
940 uint32_t early_data_count;-
941-
942-
943 size_t (*record_padding_cb)(SSL *s, int type, size_t len, void *arg);-
944 void *record_padding_arg;-
945 size_t block_padding;-
946-
947 CRYPTO_RWLOCK *lock;-
948 RAND_DRBG *drbg;-
949-
950-
951 size_t num_tickets;-
952-
953 size_t sent_tickets;-
954-
955 uint64_t next_ticket_nonce;-
956-
957-
958 SSL_allow_early_data_cb_fn allow_early_data_cb;-
959 void *allow_early_data_cb_data;-
960};-
961-
962-
963-
964-
965-
966typedef struct sigalg_lookup_st {-
967-
968 const char *name;-
969-
970 uint16_t sigalg;-
971-
972 int hash;-
973-
974 int hash_idx;-
975-
976 int sig;-
977-
978 int sig_idx;-
979-
980 int sigandhash;-
981-
982 int curve;-
983} SIGALG_LOOKUP;-
984-
985typedef struct tls_group_info_st {-
986 int nid;-
987 int secbits;-
988 uint16_t flags;-
989} TLS_GROUP_INFO;-
990-
991-
992-
993-
994-
995-
996-
997typedef struct cert_pkey_st CERT_PKEY;-
998-
999-
1000-
1001-
1002-
1003typedef struct {-
1004 int nid;-
1005 uint32_t amask;-
1006} SSL_CERT_LOOKUP;-
1007-
1008typedef struct ssl3_state_st {-
1009 long flags;-
1010 size_t read_mac_secret_size;-
1011 unsigned char read_mac_secret[64];-
1012 size_t write_mac_secret_size;-
1013 unsigned char write_mac_secret[64];-
1014 unsigned char server_random[32];-
1015 unsigned char client_random[32];-
1016-
1017 int need_empty_fragments;-
1018 int empty_fragment_done;-
1019-
1020 BIO *handshake_buffer;-
1021-
1022-
1023-
1024-
1025 EVP_MD_CTX *handshake_dgst;-
1026-
1027-
1028-
1029-
1030-
1031 int change_cipher_spec;-
1032 int warn_alert;-
1033 int fatal_alert;-
1034-
1035-
1036-
1037-
1038 int alert_dispatch;-
1039 unsigned char send_alert[2];-
1040-
1041-
1042-
1043-
1044 int renegotiate;-
1045 int total_renegotiations;-
1046 int num_renegotiations;-
1047 int in_read_app_data;-
1048 struct {-
1049-
1050 unsigned char finish_md[64 * 2];-
1051 size_t finish_md_len;-
1052 unsigned char peer_finish_md[64 * 2];-
1053 size_t peer_finish_md_len;-
1054 size_t message_size;-
1055 int message_type;-
1056-
1057 const SSL_CIPHER *new_cipher;-
1058-
1059 EVP_PKEY *pkey;-
1060-
1061-
1062 int cert_req;-
1063-
1064 uint8_t *ctype;-
1065 size_t ctype_len;-
1066-
1067 struct stack_st_X509_NAME *peer_ca_names;-
1068 size_t key_block_length;-
1069 unsigned char *key_block;-
1070 const EVP_CIPHER *new_sym_enc;-
1071 const EVP_MD *new_hash;-
1072 int new_mac_pkey_type;-
1073 size_t new_mac_secret_size;-
1074-
1075 const SSL_COMP *new_compression;-
1076-
1077-
1078-
1079 int cert_request;-
1080-
1081 unsigned char *ciphers_raw;-
1082 size_t ciphers_rawlen;-
1083-
1084 unsigned char *pms;-
1085 size_t pmslen;-
1086-
1087-
1088 unsigned char *psk;-
1089 size_t psklen;-
1090-
1091-
1092 const SIGALG_LOOKUP *sigalg;-
1093-
1094 CERT_PKEY *cert;-
1095-
1096-
1097-
1098-
1099-
1100-
1101 uint16_t *peer_sigalgs;-
1102 uint16_t *peer_cert_sigalgs;-
1103-
1104 size_t peer_sigalgslen;-
1105 size_t peer_cert_sigalgslen;-
1106-
1107 const SIGALG_LOOKUP *peer_sigalg;-
1108-
1109-
1110-
1111-
1112-
1113 uint32_t valid_flags[9];-
1114-
1115-
1116-
1117-
1118-
1119 uint32_t mask_k;-
1120 uint32_t mask_a;-
1121-
1122-
1123-
1124-
1125-
1126 int min_ver;-
1127 int max_ver;-
1128 } tmp;-
1129-
1130-
1131 unsigned char previous_client_finished[64];-
1132 size_t previous_client_finished_len;-
1133 unsigned char previous_server_finished[64];-
1134 size_t previous_server_finished_len;-
1135 int send_connection_binding;-
1136-
1137-
1138-
1139-
1140-
1141 int npn_seen;-
1142 unsigned char *alpn_selected;-
1143 size_t alpn_selected_len;-
1144-
1145 unsigned char *alpn_proposed;-
1146 size_t alpn_proposed_len;-
1147-
1148 int alpn_sent;-
1149-
1150-
1151-
1152-
1153-
1154-
1155-
1156 char is_probably_safari;-
1157-
1158-
1159-
1160-
1161-
1162 uint16_t group_id;-
1163 EVP_PKEY *peer_tmp;-
1164-
1165-
1166} SSL3_STATE;-
1167struct dtls1_retransmit_state {-
1168 EVP_CIPHER_CTX *enc_write_ctx;-
1169 EVP_MD_CTX *write_hash;-
1170 COMP_CTX *compress;-
1171 SSL_SESSION *session;-
1172 unsigned short epoch;-
1173};-
1174-
1175struct hm_header_st {-
1176 unsigned char type;-
1177 size_t msg_len;-
1178 unsigned short seq;-
1179 size_t frag_off;-
1180 size_t frag_len;-
1181 unsigned int is_ccs;-
1182 struct dtls1_retransmit_state saved_retransmit_state;-
1183};-
1184-
1185struct dtls1_timeout_st {-
1186-
1187 unsigned int read_timeouts;-
1188-
1189 unsigned int write_timeouts;-
1190-
1191 unsigned int num_alerts;-
1192};-
1193-
1194typedef struct hm_fragment_st {-
1195 struct hm_header_st msg_header;-
1196 unsigned char *fragment;-
1197 unsigned char *reassembly;-
1198} hm_fragment;-
1199-
1200typedef struct pqueue_st pqueue;-
1201typedef struct pitem_st pitem;-
1202-
1203struct pitem_st {-
1204 unsigned char priority[8];-
1205 void *data;-
1206 pitem *next;-
1207};-
1208-
1209typedef struct pitem_st *piterator;-
1210-
1211pitem *pitem_new(unsigned char *prio64be, void *data);-
1212void pitem_free(pitem *item);-
1213pqueue *pqueue_new(void);-
1214void pqueue_free(pqueue *pq);-
1215pitem *pqueue_insert(pqueue *pq, pitem *item);-
1216pitem *pqueue_peek(pqueue *pq);-
1217pitem *pqueue_pop(pqueue *pq);-
1218pitem *pqueue_find(pqueue *pq, unsigned char *prio64be);-
1219pitem *pqueue_iterator(pqueue *pq);-
1220pitem *pqueue_next(piterator *iter);-
1221size_t pqueue_size(pqueue *pq);-
1222-
1223typedef struct dtls1_state_st {-
1224 unsigned char cookie[256];-
1225 size_t cookie_len;-
1226 unsigned int cookie_verified;-
1227-
1228 unsigned short handshake_write_seq;-
1229 unsigned short next_handshake_write_seq;-
1230 unsigned short handshake_read_seq;-
1231-
1232 pqueue *buffered_messages;-
1233-
1234 pqueue *sent_messages;-
1235 size_t link_mtu;-
1236 size_t mtu;-
1237 struct hm_header_st w_msg_hdr;-
1238 struct hm_header_st r_msg_hdr;-
1239 struct dtls1_timeout_st timeout;-
1240-
1241-
1242-
1243 struct timeval next_timeout;-
1244-
1245 unsigned int timeout_duration_us;-
1246-
1247 unsigned int retransmitting;-
1248-
1249-
1250-
1251-
1252 DTLS_timer_cb timer_cb;-
1253-
1254} DTLS1_STATE;-
1255struct cert_pkey_st {-
1256 X509 *x509;-
1257 EVP_PKEY *privatekey;-
1258-
1259 struct stack_st_X509 *chain;-
1260-
1261-
1262-
1263-
1264-
1265-
1266-
1267 unsigned char *serverinfo;-
1268 size_t serverinfo_length;-
1269};-
1270-
1271-
1272-
1273-
1274-
1275-
1276typedef enum {-
1277 ENDPOINT_CLIENT = 0,-
1278 ENDPOINT_SERVER,-
1279 ENDPOINT_BOTH-
1280} ENDPOINT;-
1281-
1282-
1283typedef struct {-
1284 unsigned short ext_type;-
1285 ENDPOINT role;-
1286-
1287 unsigned int context;-
1288-
1289-
1290-
1291-
1292 uint32_t ext_flags;-
1293 SSL_custom_ext_add_cb_ex add_cb;-
1294 SSL_custom_ext_free_cb_ex free_cb;-
1295 void *add_arg;-
1296 SSL_custom_ext_parse_cb_ex parse_cb;-
1297 void *parse_arg;-
1298} custom_ext_method;-
1299typedef struct {-
1300 custom_ext_method *meths;-
1301 size_t meths_count;-
1302} custom_ext_methods;-
1303-
1304typedef struct cert_st {-
1305-
1306-
1307-
1308-
1309-
1310-
1311 CERT_PKEY *key;-
1312-
1313 EVP_PKEY *dh_tmp;-
1314 DH *(*dh_tmp_cb) (SSL *ssl, int is_export, int keysize);-
1315 int dh_tmp_auto;-
1316-
1317-
1318 uint32_t cert_flags;-
1319 CERT_PKEY pkeys[9];-
1320-
1321 uint8_t *ctype;-
1322 size_t ctype_len;-
1323-
1324-
1325-
1326-
1327-
1328 uint16_t *conf_sigalgs;-
1329-
1330 size_t conf_sigalgslen;-
1331-
1332-
1333-
1334-
1335-
1336-
1337-
1338 uint16_t *client_sigalgs;-
1339-
1340 size_t client_sigalgslen;-
1341-
1342-
1343-
1344-
1345 const SIGALG_LOOKUP **shared_sigalgs;-
1346 size_t shared_sigalgslen;-
1347-
1348-
1349-
1350-
1351-
1352-
1353-
1354 int (*cert_cb) (SSL *ssl, void *arg);-
1355 void *cert_cb_arg;-
1356-
1357-
1358-
1359-
1360 X509_STORE *chain_store;-
1361 X509_STORE *verify_store;-
1362-
1363 custom_ext_methods custext;-
1364-
1365 int (*sec_cb) (const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid,-
1366 void *other, void *ex);-
1367-
1368 int sec_level;-
1369 void *sec_ex;-
1370-
1371-
1372 char *psk_identity_hint;-
1373-
1374 CRYPTO_REF_COUNT references;-
1375 CRYPTO_RWLOCK *lock;-
1376} CERT;-
1377-
1378-
1379-
1380-
1381-
1382-
1383-
1384typedef struct ssl3_enc_method {-
1385 int (*enc) (SSL *, SSL3_RECORD *, size_t, int);-
1386 int (*mac) (SSL *, SSL3_RECORD *, unsigned char *, int);-
1387 int (*setup_key_block) (SSL *);-
1388 int (*generate_master_secret) (SSL *, unsigned char *, unsigned char *,-
1389 size_t, size_t *);-
1390 int (*change_cipher_state) (SSL *, int);-
1391 size_t (*final_finish_mac) (SSL *, const char *, size_t, unsigned char *);-
1392 const char *client_finished_label;-
1393 size_t client_finished_label_len;-
1394 const char *server_finished_label;-
1395 size_t server_finished_label_len;-
1396 int (*alert_value) (int);-
1397 int (*export_keying_material) (SSL *, unsigned char *, size_t,-
1398 const char *, size_t,-
1399 const unsigned char *, size_t,-
1400 int use_context);-
1401-
1402 uint32_t enc_flags;-
1403-
1404 int (*set_handshake_header) (SSL *s, WPACKET *pkt, int type);-
1405-
1406 int (*close_construct_packet) (SSL *s, WPACKET *pkt, int htype);-
1407-
1408 int (*do_write) (SSL *s);-
1409} SSL3_ENC_METHOD;-
1410typedef struct ssl3_comp_st {-
1411 int comp_id;-
1412-
1413 char *name;-
1414 COMP_METHOD *method;-
1415} SSL3_COMP;-
1416-
1417-
1418typedef enum downgrade_en {-
1419 DOWNGRADE_NONE,-
1420 DOWNGRADE_TO_1_2,-
1421 DOWNGRADE_TO_1_1-
1422} DOWNGRADE;-
1423extern const unsigned char tls11downgrade[8];-
1424extern const unsigned char tls12downgrade[8];-
1425-
1426extern SSL3_ENC_METHOD ssl3_undef_enc_method;-
1427-
1428 const SSL_METHOD *ssl_bad_method(int ver);-
1429 const SSL_METHOD *sslv3_method(void);-
1430 const SSL_METHOD *sslv3_server_method(void);-
1431 const SSL_METHOD *sslv3_client_method(void);-
1432 const SSL_METHOD *tlsv1_method(void);-
1433 const SSL_METHOD *tlsv1_server_method(void);-
1434 const SSL_METHOD *tlsv1_client_method(void);-
1435 const SSL_METHOD *tlsv1_1_method(void);-
1436 const SSL_METHOD *tlsv1_1_server_method(void);-
1437 const SSL_METHOD *tlsv1_1_client_method(void);-
1438 const SSL_METHOD *tlsv1_2_method(void);-
1439 const SSL_METHOD *tlsv1_2_server_method(void);-
1440 const SSL_METHOD *tlsv1_2_client_method(void);-
1441 const SSL_METHOD *tlsv1_3_method(void);-
1442 const SSL_METHOD *tlsv1_3_server_method(void);-
1443 const SSL_METHOD *tlsv1_3_client_method(void);-
1444 const SSL_METHOD *dtlsv1_method(void);-
1445 const SSL_METHOD *dtlsv1_server_method(void);-
1446 const SSL_METHOD *dtlsv1_client_method(void);-
1447 const SSL_METHOD *dtls_bad_ver_client_method(void);-
1448 const SSL_METHOD *dtlsv1_2_method(void);-
1449 const SSL_METHOD *dtlsv1_2_server_method(void);-
1450 const SSL_METHOD *dtlsv1_2_client_method(void);-
1451-
1452extern const SSL3_ENC_METHOD TLSv1_enc_data;-
1453extern const SSL3_ENC_METHOD TLSv1_1_enc_data;-
1454extern const SSL3_ENC_METHOD TLSv1_2_enc_data;-
1455extern const SSL3_ENC_METHOD TLSv1_3_enc_data;-
1456extern const SSL3_ENC_METHOD SSLv3_enc_data;-
1457extern const SSL3_ENC_METHOD DTLSv1_enc_data;-
1458extern const SSL3_ENC_METHOD DTLSv1_2_enc_data;-
1459struct openssl_ssl_test_functions {-
1460 int (*p_ssl_init_wbio_buffer) (SSL *s);-
1461 int (*p_ssl3_setup_buffers) (SSL *s);-
1462};-
1463-
1464const char *ssl_protocol_to_string(int version);-
1465-
1466-
1467static inline int ssl_has_cert(const SSL *s, int idx)-
1468{-
1469 if (idx < 0
idx < 0Description
TRUEnever evaluated
FALSEevaluated 15565 times by 1 test
Evaluated by:
  • libssl.so.1.1
|| idx >= 9
idx >= 9Description
TRUEnever evaluated
FALSEevaluated 15565 times by 1 test
Evaluated by:
  • libssl.so.1.1
)
0-15565
1470 return
never executed: return 0;
0;
never executed: return 0;
0
1471 return
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
s->cert->pkeys[idx].x509 !=
s->cert->pkeys...!= ((void *)0)Description
TRUEevaluated 4127 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 11438 times by 1 test
Evaluated by:
  • libssl.so.1.1
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
4127-15565
1472 ((void *)0)
s->cert->pkeys...!= ((void *)0)Description
TRUEevaluated 4127 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEevaluated 11438 times by 1 test
Evaluated by:
  • libssl.so.1.1
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
4127-15565
1473
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
15565
1474 && s->cert->pkeys[idx].privatekey !=
s->cert->pkeys...!= ((void *)0)Description
TRUEevaluated 4127 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
0-15565
1475 ((void *)0)
s->cert->pkeys...!= ((void *)0)Description
TRUEevaluated 4127 times by 1 test
Evaluated by:
  • libssl.so.1.1
FALSEnever evaluated
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
0-15565
1476 ;
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;
Executed by:
  • libssl.so.1.1
15565
1477}-
1478-
1479static inline void tls1_get_peer_groups(SSL *s, const uint16_t **pgroups,-
1480 size_t *pgroupslen)-
1481{-
1482 *pgroups = s->session->ext.supportedgroups;-
1483 *pgroupslen = s->session->ext.supportedgroups_len;-
1484}
executed 8869 times by 1 test: end of block
Executed by:
  • libssl.so.1.1
8869
1485-
1486-
1487-
1488 int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes);-
1489 int ssl_write_internal(SSL *s, const void *buf, size_t num, size_t *written);-
1490void ssl_clear_cipher_ctx(SSL *s);-
1491int ssl_clear_bad_session(SSL *s);-
1492 CERT *ssl_cert_new(void);-
1493 CERT *ssl_cert_dup(CERT *cert);-
1494void ssl_cert_clear_certs(CERT *c);-
1495void ssl_cert_free(CERT *c);-
1496 int ssl_generate_session_id(SSL *s, SSL_SESSION *ss);-
1497 int ssl_get_new_session(SSL *s, int session);-
1498 SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,-
1499 size_t sess_id_len);-
1500 int ssl_get_prev_session(SSL *s, CLIENTHELLO_MSG *hello);-
1501 SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket);-
1502 int ssl_cipher_id_cmp(const SSL_CIPHER *a, const SSL_CIPHER *b);-
1503SSL_CIPHER * OBJ_bsearch_ssl_cipher_id(SSL_CIPHER *key, SSL_CIPHER const *base, int num);-
1504 int ssl_cipher_ptr_id_cmp(const SSL_CIPHER *const *ap,-
1505 const SSL_CIPHER *const *bp);-
1506 struct stack_st_SSL_CIPHER *ssl_create_cipher_list(const SSL_METHOD *ssl_method,-
1507 struct stack_st_SSL_CIPHER *tls13_ciphersuites,-
1508 struct stack_st_SSL_CIPHER **cipher_list,-
1509 struct stack_st_SSL_CIPHER **cipher_list_by_id,-
1510 const char *rule_str,-
1511 CERT *c);-
1512 int ssl_cache_cipherlist(SSL *s, PACKET *cipher_suites, int sslv2format);-
1513 int bytes_to_cipher_list(SSL *s, PACKET *cipher_suites,-
1514 struct stack_st_SSL_CIPHER **skp,-
1515 struct stack_st_SSL_CIPHER **scsvs, int sslv2format,-
1516 int fatal);-
1517void ssl_update_cache(SSL *s, int mode);-
1518 int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,-
1519 const EVP_MD **md, int *mac_pkey_type,-
1520 size_t *mac_secret_size, SSL_COMP **comp,-
1521 int use_etm);-
1522 int ssl_cipher_get_overhead(const SSL_CIPHER *c, size_t *mac_overhead,-
1523 size_t *int_overhead, size_t *blocksize,-
1524 size_t *ext_overhead);-
1525 int ssl_cert_is_disabled(size_t idx);-
1526 const SSL_CIPHER *ssl_get_cipher_by_char(SSL *ssl,-
1527 const unsigned char *ptr,-
1528 int all);-
1529 int ssl_cert_set0_chain(SSL *s, SSL_CTX *ctx, struct stack_st_X509 *chain);-
1530 int ssl_cert_set1_chain(SSL *s, SSL_CTX *ctx, struct stack_st_X509 *chain);-
1531 int ssl_cert_add0_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x);-
1532 int ssl_cert_add1_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x);-
1533 int ssl_cert_select_current(CERT *c, X509 *x);-
1534 int ssl_cert_set_current(CERT *c, long arg);-
1535void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg), void *arg);-
1536-
1537 int ssl_verify_cert_chain(SSL *s, struct stack_st_X509 *sk);-
1538 int ssl_build_cert_chain(SSL *s, SSL_CTX *ctx, int flags);-
1539 int ssl_cert_set_cert_store(CERT *c, X509_STORE *store, int chain,-
1540 int ref);-
1541-
1542 int ssl_security(const SSL *s, int op, int bits, int nid, void *other);-
1543 int ssl_ctx_security(const SSL_CTX *ctx, int op, int bits, int nid,-
1544 void *other);-
1545-
1546 int ssl_cert_lookup_by_nid(int nid, size_t *pidx);-
1547 const SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk,-
1548 size_t *pidx);-
1549 const SSL_CERT_LOOKUP *ssl_cert_lookup_by_idx(size_t idx);-
1550-
1551int ssl_undefined_function(SSL *s);-
1552 int ssl_undefined_void_function(void);-
1553 int ssl_undefined_const_function(const SSL *s);-
1554 int ssl_get_server_cert_serverinfo(SSL *s,-
1555 const unsigned char **serverinfo,-
1556 size_t *serverinfo_length);-
1557void ssl_set_masks(SSL *s);-
1558 struct stack_st_SSL_CIPHER *ssl_get_ciphers_by_id(SSL *s);-
1559 int ssl_x509err2alert(int type);-
1560void ssl_sort_cipher_list(void);-
1561int ssl_load_ciphers(void);-
1562 int ssl_fill_hello_random(SSL *s, int server, unsigned char *field,-
1563 size_t len, DOWNGRADE dgrd);-
1564 int ssl_generate_master_secret(SSL *s, unsigned char *pms, size_t pmslen,-
1565 int free_pms);-
1566 EVP_PKEY *ssl_generate_pkey(EVP_PKEY *pm);-
1567 int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey,-
1568 int genmaster);-
1569 EVP_PKEY *ssl_dh_to_pkey(DH *dh);-
1570 unsigned int ssl_get_max_send_fragment(const SSL *ssl);-
1571 unsigned int ssl_get_split_send_fragment(const SSL *ssl);-
1572-
1573 const SSL_CIPHER *ssl3_get_cipher_by_id(uint32_t id);-
1574 const SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname);-
1575 const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p);-
1576 int ssl3_put_cipher_by_char(const SSL_CIPHER *c, WPACKET *pkt,-
1577 size_t *len);-
1578int ssl3_init_finished_mac(SSL *s);-
1579 int ssl3_setup_key_block(SSL *s);-
1580 int ssl3_change_cipher_state(SSL *s, int which);-
1581void ssl3_cleanup_key_block(SSL *s);-
1582 int ssl3_do_write(SSL *s, int type);-
1583int ssl3_send_alert(SSL *s, int level, int desc);-
1584 int ssl3_generate_master_secret(SSL *s, unsigned char *out,-
1585 unsigned char *p, size_t len,-
1586 size_t *secret_size);-
1587 int ssl3_get_req_cert_type(SSL *s, WPACKET *pkt);-
1588 int ssl3_num_ciphers(void);-
1589 const SSL_CIPHER *ssl3_get_cipher(unsigned int u);-
1590int ssl3_renegotiate(SSL *ssl);-
1591int ssl3_renegotiate_check(SSL *ssl, int initok);-
1592 int ssl3_dispatch_alert(SSL *s);-
1593 size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t slen,-
1594 unsigned char *p);-
1595 int ssl3_finish_mac(SSL *s, const unsigned char *buf, size_t len);-
1596void ssl3_free_digest_list(SSL *s);-
1597 unsigned long ssl3_output_cert_chain(SSL *s, WPACKET *pkt,-
1598 CERT_PKEY *cpk);-
1599 const SSL_CIPHER *ssl3_choose_cipher(SSL *ssl,-
1600 struct stack_st_SSL_CIPHER *clnt,-
1601 struct stack_st_SSL_CIPHER *srvr);-
1602 int ssl3_digest_cached_records(SSL *s, int keep);-
1603 int ssl3_new(SSL *s);-
1604void ssl3_free(SSL *s);-
1605 int ssl3_read(SSL *s, void *buf, size_t len, size_t *readbytes);-
1606 int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes);-
1607 int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written);-
1608 int ssl3_shutdown(SSL *s);-
1609int ssl3_clear(SSL *s);-
1610 long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg);-
1611 long ssl3_ctx_ctrl(SSL_CTX *s, int cmd, long larg, void *parg);-
1612 long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void));-
1613 long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp) (void));-
1614-
1615 int ssl3_do_change_cipher_spec(SSL *ssl);-
1616 long ssl3_default_timeout(void);-
1617-
1618 int ssl3_set_handshake_header(SSL *s, WPACKET *pkt, int htype);-
1619 int tls_close_construct_packet(SSL *s, WPACKET *pkt, int htype);-
1620 int tls_setup_handshake(SSL *s);-
1621 int dtls1_set_handshake_header(SSL *s, WPACKET *pkt, int htype);-
1622 int dtls1_close_construct_packet(SSL *s, WPACKET *pkt, int htype);-
1623 int ssl3_handshake_write(SSL *s);-
1624-
1625 int ssl_allow_compression(SSL *s);-
1626-
1627 int ssl_version_supported(const SSL *s, int version,-
1628 const SSL_METHOD **meth);-
1629-
1630 int ssl_set_client_hello_version(SSL *s);-
1631 int ssl_check_version_downgrade(SSL *s);-
1632 int ssl_set_version_bound(int method_version, int version, int *bound);-
1633 int ssl_choose_server_version(SSL *s, CLIENTHELLO_MSG *hello,-
1634 DOWNGRADE *dgrd);-
1635 int ssl_choose_client_version(SSL *s, int version,-
1636 RAW_EXTENSION *extensions);-
1637 int ssl_get_min_max_version(const SSL *s, int *min_version,-
1638 int *max_version, int *real_max);-
1639-
1640 long tls1_default_timeout(void);-
1641 int dtls1_do_write(SSL *s, int type);-
1642void dtls1_set_message_header(SSL *s,-
1643 unsigned char mt,-
1644 size_t len,-
1645 size_t frag_off, size_t frag_len);-
1646-
1647int dtls1_write_app_data_bytes(SSL *s, int type, const void *buf_, size_t len,-
1648 size_t *written);-
1649-
1650 int dtls1_read_failed(SSL *s, int code);-
1651 int dtls1_buffer_message(SSL *s, int ccs);-
1652 int dtls1_retransmit_message(SSL *s, unsigned short seq, int *found);-
1653 int dtls1_get_queue_priority(unsigned short seq, int is_ccs);-
1654int dtls1_retransmit_buffered_messages(SSL *s);-
1655void dtls1_clear_received_buffer(SSL *s);-
1656void dtls1_clear_sent_buffer(SSL *s);-
1657void dtls1_get_message_header(unsigned char *data,-
1658 struct hm_header_st *msg_hdr);-
1659 long dtls1_default_timeout(void);-
1660 struct timeval *dtls1_get_timeout(SSL *s, struct timeval *timeleft);-
1661 int dtls1_check_timeout_num(SSL *s);-
1662 int dtls1_handle_timeout(SSL *s);-
1663void dtls1_start_timer(SSL *s);-
1664void dtls1_stop_timer(SSL *s);-
1665 int dtls1_is_timer_expired(SSL *s);-
1666void dtls1_double_timeout(SSL *s);-
1667 int dtls_raw_hello_verify_request(WPACKET *pkt, unsigned char *cookie,-
1668 size_t cookie_len);-
1669 size_t dtls1_min_mtu(SSL *s);-
1670void dtls1_hm_fragment_free(hm_fragment *frag);-
1671 int dtls1_query_mtu(SSL *s);-
1672-
1673 int tls1_new(SSL *s);-
1674void tls1_free(SSL *s);-
1675int tls1_clear(SSL *s);-
1676-
1677 int dtls1_new(SSL *s);-
1678void dtls1_free(SSL *s);-
1679int dtls1_clear(SSL *s);-
1680long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg);-
1681 int dtls1_shutdown(SSL *s);-
1682-
1683 int dtls1_dispatch_alert(SSL *s);-
1684-
1685 int ssl_init_wbio_buffer(SSL *s);-
1686int ssl_free_wbio_buffer(SSL *s);-
1687-
1688 int tls1_change_cipher_state(SSL *s, int which);-
1689 int tls1_setup_key_block(SSL *s);-
1690 size_t tls1_final_finish_mac(SSL *s, const char *str, size_t slen,-
1691 unsigned char *p);-
1692 int tls1_generate_master_secret(SSL *s, unsigned char *out,-
1693 unsigned char *p, size_t len,-
1694 size_t *secret_size);-
1695 int tls13_setup_key_block(SSL *s);-
1696 size_t tls13_final_finish_mac(SSL *s, const char *str, size_t slen,-
1697 unsigned char *p);-
1698 int tls13_change_cipher_state(SSL *s, int which);-
1699 int tls13_update_key(SSL *s, int send);-
1700 int tls13_hkdf_expand(SSL *s, const EVP_MD *md,-
1701 const unsigned char *secret,-
1702 const unsigned char *label, size_t labellen,-
1703 const unsigned char *data, size_t datalen,-
1704 unsigned char *out, size_t outlen);-
1705 int tls13_derive_key(SSL *s, const EVP_MD *md,-
1706 const unsigned char *secret, unsigned char *key,-
1707 size_t keylen);-
1708 int tls13_derive_iv(SSL *s, const EVP_MD *md,-
1709 const unsigned char *secret, unsigned char *iv,-
1710 size_t ivlen);-
1711 int tls13_derive_finishedkey(SSL *s, const EVP_MD *md,-
1712 const unsigned char *secret,-
1713 unsigned char *fin, size_t finlen);-
1714int tls13_generate_secret(SSL *s, const EVP_MD *md,-
1715 const unsigned char *prevsecret,-
1716 const unsigned char *insecret,-
1717 size_t insecretlen,-
1718 unsigned char *outsecret);-
1719 int tls13_generate_handshake_secret(SSL *s,-
1720 const unsigned char *insecret,-
1721 size_t insecretlen);-
1722 int tls13_generate_master_secret(SSL *s, unsigned char *out,-
1723 unsigned char *prev, size_t prevlen,-
1724 size_t *secret_size);-
1725 int tls1_export_keying_material(SSL *s, unsigned char *out, size_t olen,-
1726 const char *label, size_t llen,-
1727 const unsigned char *p, size_t plen,-
1728 int use_context);-
1729 int tls13_export_keying_material(SSL *s, unsigned char *out, size_t olen,-
1730 const char *label, size_t llen,-
1731 const unsigned char *context,-
1732 size_t contextlen, int use_context);-
1733 int tls13_export_keying_material_early(SSL *s, unsigned char *out,-
1734 size_t olen, const char *label,-
1735 size_t llen,-
1736 const unsigned char *context,-
1737 size_t contextlen);-
1738 int tls1_alert_code(int code);-
1739 int tls13_alert_code(int code);-
1740 int ssl3_alert_code(int code);-
1741-
1742-
1743 int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s);-
1744-
1745-
1746SSL_COMP *ssl3_comp_find(struct stack_st_SSL_COMP *sk, int n);-
1747-
1748-
1749-
1750 const TLS_GROUP_INFO *tls1_group_id_lookup(uint16_t curve_id);-
1751 int tls1_check_group_id(SSL *s, uint16_t group_id, int check_own_curves);-
1752 uint16_t tls1_shared_group(SSL *s, int nmatch);-
1753 int tls1_set_groups(uint16_t **pext, size_t *pextlen,-
1754 int *curves, size_t ncurves);-
1755 int tls1_set_groups_list(uint16_t **pext, size_t *pextlen,-
1756 const char *str);-
1757void tls1_get_formatlist(SSL *s, const unsigned char **pformats,-
1758 size_t *num_formats);-
1759 int tls1_check_ec_tmp_key(SSL *s, unsigned long id);-
1760 EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id);-
1761 EVP_PKEY *ssl_generate_param_group(uint16_t id);-
1762-
1763-
1764 int tls_curve_allowed(SSL *s, uint16_t curve, int op);-
1765void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups,-
1766 size_t *pgroupslen);-
1767-
1768 int tls1_set_server_sigalgs(SSL *s);-
1769-
1770 SSL_TICKET_STATUS tls_get_ticket_from_client(SSL *s, CLIENTHELLO_MSG *hello,-
1771 SSL_SESSION **ret);-
1772 SSL_TICKET_STATUS tls_decrypt_ticket(SSL *s, const unsigned char *etick,-
1773 size_t eticklen,-
1774 const unsigned char *sess_id,-
1775 size_t sesslen, SSL_SESSION **psess);-
1776-
1777 int tls_use_ticket(SSL *s);-
1778-
1779void ssl_set_sig_mask(uint32_t *pmask_a, SSL *s, int op);-
1780-
1781 int tls1_set_sigalgs_list(CERT *c, const char *str, int client);-
1782 int tls1_set_raw_sigalgs(CERT *c, const uint16_t *psigs, size_t salglen,-
1783 int client);-
1784 int tls1_set_sigalgs(CERT *c, const int *salg, size_t salglen,-
1785 int client);-
1786int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, struct stack_st_X509 *chain,-
1787 int idx);-
1788void tls1_set_cert_validity(SSL *s);-
1789-
1790-
1791 int ssl_validate_ct(SSL *s);-
1792-
1793-
1794-
1795 DH *ssl_get_auto_dh(SSL *s);-
1796-
1797-
1798 int ssl_security_cert(SSL *s, SSL_CTX *ctx, X509 *x, int vfy, int is_ee);-
1799 int ssl_security_cert_chain(SSL *s, struct stack_st_X509 *sk, X509 *ex,-
1800 int vfy);-
1801-
1802int tls_choose_sigalg(SSL *s, int fatalerrs);-
1803-
1804 EVP_MD_CTX *ssl_replace_hash(EVP_MD_CTX **hash, const EVP_MD *md);-
1805void ssl_clear_hash_ctx(EVP_MD_CTX **hash);-
1806 long ssl_get_algorithm2(SSL *s);-
1807 int tls12_copy_sigalgs(SSL *s, WPACKET *pkt,-
1808 const uint16_t *psig, size_t psiglen);-
1809 int tls1_save_u16(PACKET *pkt, uint16_t **pdest, size_t *pdestlen);-
1810 int tls1_save_sigalgs(SSL *s, PACKET *pkt, int cert);-
1811 int tls1_process_sigalgs(SSL *s);-
1812 int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey);-
1813 int tls1_lookup_md(const SIGALG_LOOKUP *lu, const EVP_MD **pmd);-
1814 size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs);-
1815 int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey);-
1816 int ssl_set_client_disabled(SSL *s);-
1817 int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde);-
1818-
1819 int ssl_handshake_hash(SSL *s, unsigned char *out, size_t outlen,-
1820 size_t *hashlen);-
1821 const EVP_MD *ssl_md(int idx);-
1822 const EVP_MD *ssl_handshake_md(SSL *s);-
1823 const EVP_MD *ssl_prf_md(SSL *s);-
1824-
1825-
1826-
1827-
1828-
1829-
1830-
1831 int ssl_log_rsa_client_key_exchange(SSL *ssl,-
1832 const uint8_t *encrypted_premaster,-
1833 size_t encrypted_premaster_len,-
1834 const uint8_t *premaster,-
1835 size_t premaster_len);-
1836-
1837-
1838-
1839-
1840-
1841-
1842 int ssl_log_secret(SSL *ssl, const char *label,-
1843 const uint8_t *secret, size_t secret_len);-
1844 char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx);-
1845 int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx,-
1846 unsigned char *md_out,-
1847 size_t *md_out_size,-
1848 const unsigned char header[13],-
1849 const unsigned char *data,-
1850 size_t data_plus_mac_size,-
1851 size_t data_plus_mac_plus_padding_size,-
1852 const unsigned char *mac_secret,-
1853 size_t mac_secret_length, char is_sslv3);-
1854-
1855 int srp_generate_server_master_secret(SSL *s);-
1856 int srp_generate_client_master_secret(SSL *s);-
1857 int srp_verify_server_param(SSL *s);-
1858-
1859-
1860-
1861 int send_certificate_request(SSL *s);-
1862-
1863-
1864-
1865custom_ext_method *custom_ext_find(const custom_ext_methods *exts,-
1866 ENDPOINT role, unsigned int ext_type,-
1867 size_t *idx);-
1868-
1869void custom_ext_init(custom_ext_methods *meths);-
1870-
1871 int custom_ext_parse(SSL *s, unsigned int context, unsigned int ext_type,-
1872 const unsigned char *ext_data, size_t ext_size,-
1873 X509 *x, size_t chainidx);-
1874 int custom_ext_add(SSL *s, int context, WPACKET *pkt, X509 *x,-
1875 size_t chainidx, int maxversion);-
1876-
1877 int custom_exts_copy(custom_ext_methods *dst,-
1878 const custom_ext_methods *src);-
1879 int custom_exts_copy_flags(custom_ext_methods *dst,-
1880 const custom_ext_methods *src);-
1881void custom_exts_free(custom_ext_methods *exts);-
1882-
1883void ssl_comp_free_compression_methods_int(void);-
1884-
1885-
1886void ssl_ctx_system_config(SSL_CTX *ctx);-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2