Lines Matching defs:ssl_st
1068 struct ssl_st { struct
1073 int version;
1075 const SSL_METHOD *method;
1081 BIO *rbio;
1083 BIO *wbio;
1085 BIO *bbio;
1091 int rwstate;
1092 int (*handshake_func) (SSL *);
1101 int server;
1108 int new_session;
1110 int quiet_shutdown;
1112 int shutdown;
1114 OSSL_STATEM statem;
1115 SSL_EARLY_DATA_STATE early_data_state;
1116 BUF_MEM *init_buf; /* buffer used during init */
1117 void *init_msg; /* pointer to handshake message body, set by
1119 size_t init_num; /* amount read/written */
1120 size_t init_off; /* amount read/written */
1121 struct ssl3_state_st *s3; /* SSLv3 variables */
1122 struct dtls1_state_st *d1; /* DTLSv1 variables */
1124 void (*msg_callback) (int write_p, int version, int content_type,
1126 void *msg_callback_arg;
1127 int hit; /* reusing a previous session */
1128 X509_VERIFY_PARAM *param;
1130 SSL_DANE dane;
1141 uint32_t mac_flags;
1145 unsigned char early_secret[EVP_MAX_MD_SIZE];
1146 unsigned char handshake_secret[EVP_MAX_MD_SIZE];
1147 unsigned char master_secret[EVP_MAX_MD_SIZE];
1148 unsigned char resumption_master_secret[EVP_MAX_MD_SIZE];
1149 unsigned char client_finished_secret[EVP_MAX_MD_SIZE];
1150 unsigned char server_finished_secret[EVP_MAX_MD_SIZE];
1151 unsigned char server_finished_hash[EVP_MAX_MD_SIZE];
1152 unsigned char handshake_traffic_hash[EVP_MAX_MD_SIZE];
1153 unsigned char client_app_traffic_secret[EVP_MAX_MD_SIZE];
1154 unsigned char server_app_traffic_secret[EVP_MAX_MD_SIZE];
1155 unsigned char exporter_master_secret[EVP_MAX_MD_SIZE];
1156 unsigned char early_exporter_master_secret[EVP_MAX_MD_SIZE];
1157 EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */
1158 unsigned char read_iv[EVP_MAX_IV_LENGTH]; /* TLSv1.3 static read IV */
1159 EVP_MD_CTX *read_hash; /* used for mac generation */
1160 COMP_CTX *compress; /* compression */
1161 COMP_CTX *expand; /* uncompress */
1162 EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */
1163 unsigned char write_iv[EVP_MAX_IV_LENGTH]; /* TLSv1.3 static write IV */
1164 EVP_MD_CTX *write_hash; /* used for mac generation */
1168 struct cert_st /* CERT */ *cert;
1174 unsigned char cert_verify_hash[EVP_MAX_MD_SIZE];
1175 size_t cert_verify_hash_len;
1178 enum {SSL_HRR_NONE = 0, SSL_HRR_PENDING, SSL_HRR_COMPLETE}
1179 hello_retry_request;
1185 size_t sid_ctx_length;
1186 unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
1188 SSL_SESSION *session;
1190 SSL_SESSION *psksession;
1191 unsigned char *psksession_id;
1192 size_t psksession_id_len;
1194 GEN_SESSION_CB generate_session_id;
1199 unsigned char tmp_session_id[SSL_MAX_SSL_SESSION_ID_LENGTH];
1200 size_t tmp_session_id_len;
1206 uint32_t verify_mode;
1208 int (*verify_callback) (int ok, X509_STORE_CTX *ctx);
1210 void (*info_callback) (const SSL *ssl, int type, int val);
1212 int error;
1214 int error_code;
1216 SSL_psk_client_cb_func psk_client_callback;
1217 SSL_psk_server_cb_func psk_server_callback;
1219 SSL_psk_find_session_cb_func psk_find_session_cb;
1220 SSL_psk_use_session_cb_func psk_use_session_cb;
1222 SSL_CTX *ctx;
1225 long verify_result;
1227 CRYPTO_EX_DATA ex_data;
1236 CRYPTO_REF_COUNT references;
1238 uint32_t options;
1240 uint32_t mode;
1241 int min_proto_version;
1242 int max_proto_version;
1243 size_t max_cert_list;
1244 int first_packet;
1249 int client_version;
1254 size_t split_send_fragment;
1259 size_t max_send_fragment;
1261 size_t max_pipelines;
1263 struct {
1367 } ext;
1373 CLIENTHELLO_MSG *clienthello;
1381 int servername_done;
1387 ssl_ct_validation_cb ct_validation_callback;
1389 void *ct_validation_callback_arg;
1396 int scts_parsed;
1398 SSL_CTX *session_ctx; /* initial ctx, used to store sessions */
1403 SRTP_PROTECTION_PROFILE *srtp_profile;
1410 int renegotiate;
1412 int key_update;
1414 SSL_PHA_STATE post_handshake_auth;
1415 int pha_enabled;
1416 uint8_t* pha_context;
1417 size_t pha_context_len;
1418 int certreqs_sent;
1419 EVP_MD_CTX *pha_dgst; /* this is just the digest through ClientFinished */
1423 SRP_CTX srp_ctx;
1429 int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);
1430 RECORD_LAYER rlayer;
1432 pem_password_cb *default_passwd_callback;
1434 void *default_passwd_callback_userdata;
1436 ASYNC_JOB *job;
1437 ASYNC_WAIT_CTX *waitctx;
1438 size_t asyncrw;
1444 uint32_t max_early_data;
1449 uint32_t recv_max_early_data;
1456 uint32_t early_data_count;
1459 size_t (*record_padding_cb)(SSL *s, int type, size_t len, void *arg);
1460 void *record_padding_arg;
1461 size_t block_padding;
1463 CRYPTO_RWLOCK *lock;
1466 size_t num_tickets;
1468 size_t sent_tickets;
1470 uint64_t next_ticket_nonce;
1473 SSL_allow_early_data_cb_fn allow_early_data_cb;
1474 void *allow_early_data_cb_data;
1480 const struct sigalg_lookup_st **shared_sigalgs;
1481 size_t shared_sigalgslen;