| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/ssl/ssl_locl.h |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||
| 2 | - | |||||||||||||
| 3 | - | |||||||||||||
| 4 | - | |||||||||||||
| 5 | - | |||||||||||||
| 6 | - | |||||||||||||
| 7 | - | |||||||||||||
| 8 | - | |||||||||||||
| 9 | typedef 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 | - | |||||||||||||
| 20 | struct 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 | - | |||||||||||||
| 44 | struct 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 | }; | - | ||||||||||||
| 79 | struct 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 | - | |||||||||||||
| 178 | typedef 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 | - | |||||||||||||
| 197 | typedef 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; | - | ||||||||||||
| 212 | struct ssl_comp_st { | - | ||||||||||||
| 213 | int id; | - | ||||||||||||
| 214 | const char *name; | - | ||||||||||||
| 215 | COMP_METHOD *method; | - | ||||||||||||
| 216 | }; | - | ||||||||||||
| 217 | - | |||||||||||||
| 218 | typedef 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 | - | |||||||||||||
| 231 | typedef 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 | - | |||||||||||||
| 251 | typedef 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 | - | |||||||||||||
| 282 | struct 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: (struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);return (struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);Executed by:
executed 8017 times by 2 tests: } static inline void lh_SSL_SESSION_free(struct lhash_st_SSL_SESSION *lh) { OPENSSL_LH_free((OPENSSL_LHASH *)lh); }return (struct lhash_st_SSL_SESSION *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);Executed by:
executed 8017 times by 2 tests: static inline SSL_SESSION *lh_SSL_SESSION_insert(struct lhash_st_SSL_SESSION *lh, SSL_SESSION *d) { returnend of blockExecuted by:
executed 348 times by 1 test: (SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);return (SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);Executed by:
executed 348 times by 1 test: } static inline SSL_SESSION *lh_SSL_SESSION_delete(struct lhash_st_SSL_SESSION *lh, const SSL_SESSION *d) { returnreturn (SSL_SESSION *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);Executed by:
executed 341 times by 1 test: (SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);return (SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);Executed by:
executed 341 times by 1 test: } static inline SSL_SESSION *lh_SSL_SESSION_retrieve(struct lhash_st_SSL_SESSION *lh, const SSL_SESSION *d) { returnreturn (SSL_SESSION *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);Executed by:
executed 5719 times by 1 test: (SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);return (SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);Executed by:
executed 5719 times by 1 test: } static inline int lh_SSL_SESSION_error(struct lhash_st_SSL_SESSION *lh) { returnreturn (SSL_SESSION *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);Executed by:
never executed: OPENSSL_LH_error((OPENSSL_LHASH *)lh);return OPENSSL_LH_error((OPENSSL_LHASH *)lh);never executed: } static inline unsigned long lh_SSL_SESSION_num_items(struct lhash_st_SSL_SESSION *lh) { returnreturn OPENSSL_LH_error((OPENSSL_LHASH *)lh);executed 517 times by 1 test: OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);Executed by:
executed 517 times by 1 test: } 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); }return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);Executed by:
never executed: 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); }end of blocknever executed: 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); }end of blocknever executed: static inline unsigned long lh_SSL_SESSION_get_down_load(struct lhash_st_SSL_SESSION *lh) { returnend of blockexecuted 8017 times by 2 tests: OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);Executed by:
executed 8017 times by 2 tests: } 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); }return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);Executed by:
executed 16034 times by 2 tests: 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); }end of blockExecuted by:
never executed: struct lhash_st_SSL_SESSION;end of block | 0-16034 | ||||||||||||
| 283 | - | |||||||||||||
| 284 | struct 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: (struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);return (struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);Executed by:
executed 10 times by 1 test: } static inline void lh_X509_NAME_free(struct lhash_st_X509_NAME *lh) { OPENSSL_LH_free((OPENSSL_LHASH *)lh); }return (struct lhash_st_X509_NAME *) OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn);Executed by:
executed 10 times by 1 test: static inline X509_NAME *lh_X509_NAME_insert(struct lhash_st_X509_NAME *lh, X509_NAME *d) { returnend of blockExecuted by:
executed 10 times by 1 test: (X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);return (X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);Executed by:
executed 10 times by 1 test: } static inline X509_NAME *lh_X509_NAME_delete(struct lhash_st_X509_NAME *lh, const X509_NAME *d) { returnreturn (X509_NAME *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d);Executed by:
never executed: (X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);return (X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);never executed: } static inline X509_NAME *lh_X509_NAME_retrieve(struct lhash_st_X509_NAME *lh, const X509_NAME *d) { returnreturn (X509_NAME *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d);executed 10 times by 1 test: (X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);return (X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);Executed by:
executed 10 times by 1 test: } static inline int lh_X509_NAME_error(struct lhash_st_X509_NAME *lh) { returnreturn (X509_NAME *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d);Executed by:
never executed: OPENSSL_LH_error((OPENSSL_LHASH *)lh);return OPENSSL_LH_error((OPENSSL_LHASH *)lh);never executed: } static inline unsigned long lh_X509_NAME_num_items(struct lhash_st_X509_NAME *lh) { returnreturn OPENSSL_LH_error((OPENSSL_LHASH *)lh);never executed: OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);never executed: } 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); }return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh);never executed: 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); }end of blocknever executed: 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); }end of blocknever executed: static inline unsigned long lh_X509_NAME_get_down_load(struct lhash_st_X509_NAME *lh) { returnend of blocknever executed: OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);never executed: } 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); }return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh);never executed: 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); }end of blocknever executed: struct lhash_st_X509_NAME;end of block | 0-10 | ||||||||||||
| 285 | - | |||||||||||||
| 286 | - | |||||||||||||
| 287 | - | |||||||||||||
| 288 | - | |||||||||||||
| 289 | typedef 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 | - | |||||||||||||
| 294 | struct 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 | - | |||||||||||||
| 591 | struct 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 | - | |||||||||||||
| 966 | typedef 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 | - | |||||||||||||
| 985 | typedef 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 | - | |||||||||||||
| 997 | typedef struct cert_pkey_st CERT_PKEY; | - | ||||||||||||
| 998 | - | |||||||||||||
| 999 | - | |||||||||||||
| 1000 | - | |||||||||||||
| 1001 | - | |||||||||||||
| 1002 | - | |||||||||||||
| 1003 | typedef struct { | - | ||||||||||||
| 1004 | int nid; | - | ||||||||||||
| 1005 | uint32_t amask; | - | ||||||||||||
| 1006 | } SSL_CERT_LOOKUP; | - | ||||||||||||
| 1007 | - | |||||||||||||
| 1008 | typedef 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; | - | ||||||||||||
| 1167 | struct 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 | - | |||||||||||||
| 1175 | struct 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 | - | |||||||||||||
| 1185 | struct dtls1_timeout_st { | - | ||||||||||||
| 1186 | - | |||||||||||||
| 1187 | unsigned int read_timeouts; | - | ||||||||||||
| 1188 | - | |||||||||||||
| 1189 | unsigned int write_timeouts; | - | ||||||||||||
| 1190 | - | |||||||||||||
| 1191 | unsigned int num_alerts; | - | ||||||||||||
| 1192 | }; | - | ||||||||||||
| 1193 | - | |||||||||||||
| 1194 | typedef struct hm_fragment_st { | - | ||||||||||||
| 1195 | struct hm_header_st msg_header; | - | ||||||||||||
| 1196 | unsigned char *fragment; | - | ||||||||||||
| 1197 | unsigned char *reassembly; | - | ||||||||||||
| 1198 | } hm_fragment; | - | ||||||||||||
| 1199 | - | |||||||||||||
| 1200 | typedef struct pqueue_st pqueue; | - | ||||||||||||
| 1201 | typedef struct pitem_st pitem; | - | ||||||||||||
| 1202 | - | |||||||||||||
| 1203 | struct pitem_st { | - | ||||||||||||
| 1204 | unsigned char priority[8]; | - | ||||||||||||
| 1205 | void *data; | - | ||||||||||||
| 1206 | pitem *next; | - | ||||||||||||
| 1207 | }; | - | ||||||||||||
| 1208 | - | |||||||||||||
| 1209 | typedef struct pitem_st *piterator; | - | ||||||||||||
| 1210 | - | |||||||||||||
| 1211 | pitem *pitem_new(unsigned char *prio64be, void *data); | - | ||||||||||||
| 1212 | void pitem_free(pitem *item); | - | ||||||||||||
| 1213 | pqueue *pqueue_new(void); | - | ||||||||||||
| 1214 | void pqueue_free(pqueue *pq); | - | ||||||||||||
| 1215 | pitem *pqueue_insert(pqueue *pq, pitem *item); | - | ||||||||||||
| 1216 | pitem *pqueue_peek(pqueue *pq); | - | ||||||||||||
| 1217 | pitem *pqueue_pop(pqueue *pq); | - | ||||||||||||
| 1218 | pitem *pqueue_find(pqueue *pq, unsigned char *prio64be); | - | ||||||||||||
| 1219 | pitem *pqueue_iterator(pqueue *pq); | - | ||||||||||||
| 1220 | pitem *pqueue_next(piterator *iter); | - | ||||||||||||
| 1221 | size_t pqueue_size(pqueue *pq); | - | ||||||||||||
| 1222 | - | |||||||||||||
| 1223 | typedef 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; | - | ||||||||||||
| 1255 | struct 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 | - | |||||||||||||
| 1276 | typedef enum { | - | ||||||||||||
| 1277 | ENDPOINT_CLIENT = 0, | - | ||||||||||||
| 1278 | ENDPOINT_SERVER, | - | ||||||||||||
| 1279 | ENDPOINT_BOTH | - | ||||||||||||
| 1280 | } ENDPOINT; | - | ||||||||||||
| 1281 | - | |||||||||||||
| 1282 | - | |||||||||||||
| 1283 | typedef 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; | - | ||||||||||||
| 1299 | typedef struct { | - | ||||||||||||
| 1300 | custom_ext_method *meths; | - | ||||||||||||
| 1301 | size_t meths_count; | - | ||||||||||||
| 1302 | } custom_ext_methods; | - | ||||||||||||
| 1303 | - | |||||||||||||
| 1304 | typedef 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 | - | |||||||||||||
| 1384 | typedef 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; | - | ||||||||||||
| 1410 | typedef struct ssl3_comp_st { | - | ||||||||||||
| 1411 | int comp_id; | - | ||||||||||||
| 1412 | - | |||||||||||||
| 1413 | char *name; | - | ||||||||||||
| 1414 | COMP_METHOD *method; | - | ||||||||||||
| 1415 | } SSL3_COMP; | - | ||||||||||||
| 1416 | - | |||||||||||||
| 1417 | - | |||||||||||||
| 1418 | typedef enum downgrade_en { | - | ||||||||||||
| 1419 | DOWNGRADE_NONE, | - | ||||||||||||
| 1420 | DOWNGRADE_TO_1_2, | - | ||||||||||||
| 1421 | DOWNGRADE_TO_1_1 | - | ||||||||||||
| 1422 | } DOWNGRADE; | - | ||||||||||||
| 1423 | extern const unsigned char tls11downgrade[8]; | - | ||||||||||||
| 1424 | extern const unsigned char tls12downgrade[8]; | - | ||||||||||||
| 1425 | - | |||||||||||||
| 1426 | extern 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 | - | |||||||||||||
| 1452 | extern const SSL3_ENC_METHOD TLSv1_enc_data; | - | ||||||||||||
| 1453 | extern const SSL3_ENC_METHOD TLSv1_1_enc_data; | - | ||||||||||||
| 1454 | extern const SSL3_ENC_METHOD TLSv1_2_enc_data; | - | ||||||||||||
| 1455 | extern const SSL3_ENC_METHOD TLSv1_3_enc_data; | - | ||||||||||||
| 1456 | extern const SSL3_ENC_METHOD SSLv3_enc_data; | - | ||||||||||||
| 1457 | extern const SSL3_ENC_METHOD DTLSv1_enc_data; | - | ||||||||||||
| 1458 | extern const SSL3_ENC_METHOD DTLSv1_2_enc_data; | - | ||||||||||||
| 1459 | struct openssl_ssl_test_functions { | - | ||||||||||||
| 1460 | int (*p_ssl_init_wbio_buffer) (SSL *s); | - | ||||||||||||
| 1461 | int (*p_ssl3_setup_buffers) (SSL *s); | - | ||||||||||||
| 1462 | }; | - | ||||||||||||
| 1463 | - | |||||||||||||
| 1464 | const char *ssl_protocol_to_string(int version); | - | ||||||||||||
| 1465 | - | |||||||||||||
| 1466 | - | |||||||||||||
| 1467 | static inline int ssl_has_cert(const SSL *s, int idx) | - | ||||||||||||
| 1468 | { | - | ||||||||||||
| 1469 | if (idx < 0
| 0-15565 | ||||||||||||
| 1470 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 1471 | return executed 15565 times by 1 test: s->cert->pkeys[idx].x509 != return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;Executed by:
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;Executed by:
| 4127-15565 | ||||||||||||
| 1472 | ((void *)0)
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;Executed by:
| 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:
| 15565 | ||||||||||||
| 1474 | && s->cert->pkeys[idx].privatekey !=
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;Executed by:
| 0-15565 | ||||||||||||
| 1475 | ((void *)0)
executed 15565 times by 1 test: return s->cert->pkeys[idx].x509 != ((void *)0) && s->cert->pkeys[idx].privatekey != ((void *)0) ;Executed by:
| 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:
| 15565 | ||||||||||||
| 1477 | } | - | ||||||||||||
| 1478 | - | |||||||||||||
| 1479 | static 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 blockExecuted by:
| 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); | - | ||||||||||||
| 1490 | void ssl_clear_cipher_ctx(SSL *s); | - | ||||||||||||
| 1491 | int ssl_clear_bad_session(SSL *s); | - | ||||||||||||
| 1492 | CERT *ssl_cert_new(void); | - | ||||||||||||
| 1493 | CERT *ssl_cert_dup(CERT *cert); | - | ||||||||||||
| 1494 | void ssl_cert_clear_certs(CERT *c); | - | ||||||||||||
| 1495 | void 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); | - | ||||||||||||
| 1503 | SSL_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); | - | ||||||||||||
| 1517 | void 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); | - | ||||||||||||
| 1535 | void 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 | - | |||||||||||||
| 1551 | int 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); | - | ||||||||||||
| 1557 | void ssl_set_masks(SSL *s); | - | ||||||||||||
| 1558 | struct stack_st_SSL_CIPHER *ssl_get_ciphers_by_id(SSL *s); | - | ||||||||||||
| 1559 | int ssl_x509err2alert(int type); | - | ||||||||||||
| 1560 | void ssl_sort_cipher_list(void); | - | ||||||||||||
| 1561 | int 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); | - | ||||||||||||
| 1578 | int ssl3_init_finished_mac(SSL *s); | - | ||||||||||||
| 1579 | int ssl3_setup_key_block(SSL *s); | - | ||||||||||||
| 1580 | int ssl3_change_cipher_state(SSL *s, int which); | - | ||||||||||||
| 1581 | void ssl3_cleanup_key_block(SSL *s); | - | ||||||||||||
| 1582 | int ssl3_do_write(SSL *s, int type); | - | ||||||||||||
| 1583 | int 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); | - | ||||||||||||
| 1590 | int ssl3_renegotiate(SSL *ssl); | - | ||||||||||||
| 1591 | int 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); | - | ||||||||||||
| 1596 | void 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); | - | ||||||||||||
| 1604 | void 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); | - | ||||||||||||
| 1609 | int 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); | - | ||||||||||||
| 1642 | void dtls1_set_message_header(SSL *s, | - | ||||||||||||
| 1643 | unsigned char mt, | - | ||||||||||||
| 1644 | size_t len, | - | ||||||||||||
| 1645 | size_t frag_off, size_t frag_len); | - | ||||||||||||
| 1646 | - | |||||||||||||
| 1647 | int 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); | - | ||||||||||||
| 1654 | int dtls1_retransmit_buffered_messages(SSL *s); | - | ||||||||||||
| 1655 | void dtls1_clear_received_buffer(SSL *s); | - | ||||||||||||
| 1656 | void dtls1_clear_sent_buffer(SSL *s); | - | ||||||||||||
| 1657 | void 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); | - | ||||||||||||
| 1663 | void dtls1_start_timer(SSL *s); | - | ||||||||||||
| 1664 | void dtls1_stop_timer(SSL *s); | - | ||||||||||||
| 1665 | int dtls1_is_timer_expired(SSL *s); | - | ||||||||||||
| 1666 | void 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); | - | ||||||||||||
| 1670 | void dtls1_hm_fragment_free(hm_fragment *frag); | - | ||||||||||||
| 1671 | int dtls1_query_mtu(SSL *s); | - | ||||||||||||
| 1672 | - | |||||||||||||
| 1673 | int tls1_new(SSL *s); | - | ||||||||||||
| 1674 | void tls1_free(SSL *s); | - | ||||||||||||
| 1675 | int tls1_clear(SSL *s); | - | ||||||||||||
| 1676 | - | |||||||||||||
| 1677 | int dtls1_new(SSL *s); | - | ||||||||||||
| 1678 | void dtls1_free(SSL *s); | - | ||||||||||||
| 1679 | int dtls1_clear(SSL *s); | - | ||||||||||||
| 1680 | long 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); | - | ||||||||||||
| 1686 | int 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); | - | ||||||||||||
| 1714 | int 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 | - | |||||||||||||
| 1746 | SSL_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); | - | ||||||||||||
| 1757 | void 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); | - | ||||||||||||
| 1765 | void 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 | - | |||||||||||||
| 1779 | void 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); | - | ||||||||||||
| 1786 | int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, struct stack_st_X509 *chain, | - | ||||||||||||
| 1787 | int idx); | - | ||||||||||||
| 1788 | void 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 | - | |||||||||||||
| 1802 | int tls_choose_sigalg(SSL *s, int fatalerrs); | - | ||||||||||||
| 1803 | - | |||||||||||||
| 1804 | EVP_MD_CTX *ssl_replace_hash(EVP_MD_CTX **hash, const EVP_MD *md); | - | ||||||||||||
| 1805 | void 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 | - | |||||||||||||
| 1865 | custom_ext_method *custom_ext_find(const custom_ext_methods *exts, | - | ||||||||||||
| 1866 | ENDPOINT role, unsigned int ext_type, | - | ||||||||||||
| 1867 | size_t *idx); | - | ||||||||||||
| 1868 | - | |||||||||||||
| 1869 | void 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); | - | ||||||||||||
| 1881 | void custom_exts_free(custom_ext_methods *exts); | - | ||||||||||||
| 1882 | - | |||||||||||||
| 1883 | void ssl_comp_free_compression_methods_int(void); | - | ||||||||||||
| 1884 | - | |||||||||||||
| 1885 | - | |||||||||||||
| 1886 | void ssl_ctx_system_config(SSL_CTX *ctx); | - | ||||||||||||
| Switch to Source code | Preprocessed file |