Lines Matching refs:sc

3317 static int sslcon_undefined_function_1(SSL_CONNECTION *sc, unsigned char *r,  in sslcon_undefined_function_1()  argument
3328 return ssl_undefined_function(SSL_CONNECTION_GET_SSL(sc)); in sslcon_undefined_function_1()
3390 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in ssl3_new() local
3392 if (sc == NULL) in ssl3_new()
3395 if (!ssl_srp_ctx_init_intern(sc)) in ssl3_new()
3407 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in ssl3_free() local
3410 if (sc == NULL) in ssl3_free()
3413 ssl3_cleanup_key_block(sc); in ssl3_free()
3415 EVP_PKEY_free(sc->s3.peer_tmp); in ssl3_free()
3416 sc->s3.peer_tmp = NULL; in ssl3_free()
3418 for (i = 0; i < sc->s3.tmp.num_ks_pkey; i++) in ssl3_free()
3419 if (sc->s3.tmp.ks_pkey[i] != NULL) { in ssl3_free()
3420 if (sc->s3.tmp.pkey == sc->s3.tmp.ks_pkey[i]) in ssl3_free()
3421 sc->s3.tmp.pkey = NULL; in ssl3_free()
3423 EVP_PKEY_free(sc->s3.tmp.ks_pkey[i]); in ssl3_free()
3424 sc->s3.tmp.ks_pkey[i] = NULL; in ssl3_free()
3426 sc->s3.tmp.num_ks_pkey = 0; in ssl3_free()
3428 if (sc->s3.tmp.pkey != NULL) { in ssl3_free()
3429 EVP_PKEY_free(sc->s3.tmp.pkey); in ssl3_free()
3430 sc->s3.tmp.pkey = NULL; in ssl3_free()
3433 ssl_evp_cipher_free(sc->s3.tmp.new_sym_enc); in ssl3_free()
3434 ssl_evp_md_free(sc->s3.tmp.new_hash); in ssl3_free()
3436 OPENSSL_free(sc->s3.tmp.ctype); in ssl3_free()
3437 sk_X509_NAME_pop_free(sc->s3.tmp.peer_ca_names, X509_NAME_free); in ssl3_free()
3438 OPENSSL_free(sc->s3.tmp.ciphers_raw); in ssl3_free()
3439 OPENSSL_clear_free(sc->s3.tmp.pms, sc->s3.tmp.pmslen); in ssl3_free()
3440 OPENSSL_free(sc->s3.tmp.peer_sigalgs); in ssl3_free()
3441 OPENSSL_free(sc->s3.tmp.peer_cert_sigalgs); in ssl3_free()
3442 OPENSSL_free(sc->s3.tmp.valid_flags); in ssl3_free()
3443 ssl3_free_digest_list(sc); in ssl3_free()
3444 OPENSSL_free(sc->s3.alpn_selected); in ssl3_free()
3445 OPENSSL_free(sc->s3.alpn_proposed); in ssl3_free()
3446 ossl_quic_tls_free(sc->qtls); in ssl3_free()
3449 OPENSSL_free(sc->s3.tmp.psk); in ssl3_free()
3453 ssl_srp_ctx_free_intern(sc); in ssl3_free()
3455 memset(&sc->s3, 0, sizeof(sc->s3)); in ssl3_free()
3460 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in ssl3_clear() local
3464 if (sc == NULL) in ssl3_clear()
3467 ssl3_cleanup_key_block(sc); in ssl3_clear()
3468 OPENSSL_free(sc->s3.tmp.ctype); in ssl3_clear()
3469 sk_X509_NAME_pop_free(sc->s3.tmp.peer_ca_names, X509_NAME_free); in ssl3_clear()
3470 OPENSSL_free(sc->s3.tmp.ciphers_raw); in ssl3_clear()
3471 OPENSSL_clear_free(sc->s3.tmp.pms, sc->s3.tmp.pmslen); in ssl3_clear()
3472 OPENSSL_free(sc->s3.tmp.peer_sigalgs); in ssl3_clear()
3473 OPENSSL_free(sc->s3.tmp.peer_cert_sigalgs); in ssl3_clear()
3474 OPENSSL_free(sc->s3.tmp.valid_flags); in ssl3_clear()
3476 EVP_PKEY_free(sc->s3.peer_tmp); in ssl3_clear()
3478 for (i = 0; i < sc->s3.tmp.num_ks_pkey; i++) in ssl3_clear()
3479 if (sc->s3.tmp.ks_pkey[i] != NULL) { in ssl3_clear()
3480 if (sc->s3.tmp.pkey == sc->s3.tmp.ks_pkey[i]) in ssl3_clear()
3481 sc->s3.tmp.pkey = NULL; in ssl3_clear()
3483 EVP_PKEY_free(sc->s3.tmp.ks_pkey[i]); in ssl3_clear()
3484 sc->s3.tmp.ks_pkey[i] = NULL; in ssl3_clear()
3486 sc->s3.tmp.num_ks_pkey = 0; in ssl3_clear()
3488 if (sc->s3.tmp.pkey != NULL) { in ssl3_clear()
3489 EVP_PKEY_free(sc->s3.tmp.pkey); in ssl3_clear()
3490 sc->s3.tmp.pkey = NULL; in ssl3_clear()
3493 ssl3_free_digest_list(sc); in ssl3_clear()
3495 OPENSSL_free(sc->s3.alpn_selected); in ssl3_clear()
3496 OPENSSL_free(sc->s3.alpn_proposed); in ssl3_clear()
3502 flags = sc->s3.flags & (TLS1_FLAGS_QUIC | TLS1_FLAGS_QUIC_INTERNAL); in ssl3_clear()
3503 memset(&sc->s3, 0, sizeof(sc->s3)); in ssl3_clear()
3504 sc->s3.flags |= flags; in ssl3_clear()
3506 if (!ssl_free_wbio_buffer(sc)) in ssl3_clear()
3509 sc->version = SSL3_VERSION; in ssl3_clear()
3512 OPENSSL_free(sc->ext.npn); in ssl3_clear()
3513 sc->ext.npn = NULL; in ssl3_clear()
3514 sc->ext.npn_len = 0; in ssl3_clear()
3523 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in srp_password_from_info_cb() local
3525 if (sc == NULL) in srp_password_from_info_cb()
3528 return OPENSSL_strdup(sc->srp_ctx.info); in srp_password_from_info_cb()
3537 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in ssl3_ctrl() local
3543 if (sc == NULL) in ssl3_ctrl()
3550 ret = sc->s3.num_renegotiations; in ssl3_ctrl()
3553 ret = sc->s3.num_renegotiations; in ssl3_ctrl()
3554 sc->s3.num_renegotiations = 0; in ssl3_ctrl()
3557 ret = sc->s3.total_renegotiations; in ssl3_ctrl()
3560 ret = (int)(sc->s3.flags); in ssl3_ctrl()
3589 sc->cert->dh_tmp_auto = larg; in ssl3_ctrl()
3598 return ssl_set_tmp_ecdh_groups(&sc->ext.supportedgroups, in ssl3_ctrl()
3599 &sc->ext.supportedgroups_len, in ssl3_ctrl()
3600 &sc->ext.keyshares, in ssl3_ctrl()
3601 &sc->ext.keyshares_len, in ssl3_ctrl()
3602 &sc->ext.tuples, in ssl3_ctrl()
3603 &sc->ext.tuples_len, in ssl3_ctrl()
3619 OPENSSL_free(sc->ext.hostname); in ssl3_ctrl()
3620 sc->ext.hostname = NULL; in ssl3_ctrl()
3630 if ((sc->ext.hostname = OPENSSL_strdup((char *)parg)) == NULL) { in ssl3_ctrl()
3640 sc->ext.debug_arg = parg; in ssl3_ctrl()
3645 ret = sc->ext.status_type; in ssl3_ctrl()
3649 sc->ext.status_type = larg; in ssl3_ctrl()
3654 *(STACK_OF(X509_EXTENSION) **)parg = sc->ext.ocsp.exts; in ssl3_ctrl()
3659 sc->ext.ocsp.exts = parg; in ssl3_ctrl()
3664 *(STACK_OF(OCSP_RESPID) **)parg = sc->ext.ocsp.ids; in ssl3_ctrl()
3669 sc->ext.ocsp.ids = parg; in ssl3_ctrl()
3678 resp = sk_OCSP_RESPONSE_value(sc->ext.ocsp.resp_ex, 0); in ssl3_ctrl()
3684 OPENSSL_free(sc->ext.ocsp.resp); in ssl3_ctrl()
3685 *(unsigned char **)parg = sc->ext.ocsp.resp = p; in ssl3_ctrl()
3686 sc->ext.ocsp.resp_len = (size_t)resp_len; in ssl3_ctrl()
3700 if (sc->ext.ocsp.resp != NULL) { in ssl3_ctrl()
3701 OPENSSL_free(sc->ext.ocsp.resp); in ssl3_ctrl()
3702 sc->ext.ocsp.resp = NULL; in ssl3_ctrl()
3703 sc->ext.ocsp.resp_len = 0; in ssl3_ctrl()
3706 sk_OCSP_RESPONSE_pop_free(sc->ext.ocsp.resp_ex, OCSP_RESPONSE_free); in ssl3_ctrl()
3707 sc->ext.ocsp.resp_ex = NULL; in ssl3_ctrl()
3710 sc->ext.ocsp.resp_ex = sk_OCSP_RESPONSE_new_reserve(NULL, 1); in ssl3_ctrl()
3711 if (sc->ext.ocsp.resp_ex == NULL) in ssl3_ctrl()
3717 sk_OCSP_RESPONSE_push(sc->ext.ocsp.resp_ex, resp); in ssl3_ctrl()
3724 *(STACK_OF(OCSP_RESPONSE) **)parg = sc->ext.ocsp.resp_ex; in ssl3_ctrl()
3725 ret = sk_OCSP_RESPONSE_num(sc->ext.ocsp.resp_ex); in ssl3_ctrl()
3738 if (sc->ext.ocsp.resp != NULL) { in ssl3_ctrl()
3739 OPENSSL_free(sc->ext.ocsp.resp); in ssl3_ctrl()
3740 sc->ext.ocsp.resp = NULL; in ssl3_ctrl()
3741 sc->ext.ocsp.resp_len = 0; in ssl3_ctrl()
3744 sk_OCSP_RESPONSE_pop_free(sc->ext.ocsp.resp_ex, OCSP_RESPONSE_free); in ssl3_ctrl()
3745 sc->ext.ocsp.resp_ex = (STACK_OF(OCSP_RESPONSE) *)parg; in ssl3_ctrl()
3752 return ssl_cert_set1_chain(sc, NULL, (STACK_OF(X509) *)parg); in ssl3_ctrl()
3754 return ssl_cert_set0_chain(sc, NULL, (STACK_OF(X509) *)parg); in ssl3_ctrl()
3758 return ssl_cert_add1_chain_cert(sc, NULL, (X509 *)parg); in ssl3_ctrl()
3760 return ssl_cert_add0_chain_cert(sc, NULL, (X509 *)parg); in ssl3_ctrl()
3763 *(STACK_OF(X509) **)parg = sc->cert->key->chain; in ssl3_ctrl()
3768 return ssl_cert_select_current(sc->cert, (X509 *)parg); in ssl3_ctrl()
3773 if (!sc->server) in ssl3_ctrl()
3775 cipher = sc->s3.tmp.new_cipher; in ssl3_ctrl()
3784 if (sc->s3.tmp.cert == NULL) in ssl3_ctrl()
3786 sc->cert->key = sc->s3.tmp.cert; in ssl3_ctrl()
3789 return ssl_cert_set_current(sc->cert, larg); in ssl3_ctrl()
3796 if (!sc->session) in ssl3_ctrl()
3798 clist = sc->ext.peer_supportedgroups; in ssl3_ctrl()
3799 clistlen = sc->ext.peer_supportedgroups_len; in ssl3_ctrl()
3818 return tls1_set_groups(&sc->ext.supportedgroups, in ssl3_ctrl()
3819 &sc->ext.supportedgroups_len, in ssl3_ctrl()
3820 &sc->ext.keyshares, in ssl3_ctrl()
3821 &sc->ext.keyshares_len, in ssl3_ctrl()
3822 &sc->ext.tuples, in ssl3_ctrl()
3823 &sc->ext.tuples_len, in ssl3_ctrl()
3828 &sc->ext.supportedgroups, in ssl3_ctrl()
3829 &sc->ext.supportedgroups_len, in ssl3_ctrl()
3830 &sc->ext.keyshares, in ssl3_ctrl()
3831 &sc->ext.keyshares_len, in ssl3_ctrl()
3832 &sc->ext.tuples, in ssl3_ctrl()
3833 &sc->ext.tuples_len, in ssl3_ctrl()
3838 uint16_t id = tls1_shared_group(sc, larg); in ssl3_ctrl()
3848 if (SSL_CONNECTION_IS_TLS13(sc) && sc->s3.did_kex) in ssl3_ctrl()
3849 id = sc->s3.group_id; in ssl3_ctrl()
3851 id = (sc->session != NULL) ? sc->session->kex_group : NID_undef; in ssl3_ctrl()
3856 return tls1_set_sigalgs(sc->cert, parg, larg, 0); in ssl3_ctrl()
3859 return tls1_set_sigalgs_list(s->ctx, sc->cert, parg, 0); in ssl3_ctrl()
3862 return tls1_set_sigalgs(sc->cert, parg, larg, 1); in ssl3_ctrl()
3865 return tls1_set_sigalgs_list(s->ctx, sc->cert, parg, 1); in ssl3_ctrl()
3870 if (sc->server || !sc->s3.tmp.cert_req) in ssl3_ctrl()
3873 *pctype = sc->s3.tmp.ctype; in ssl3_ctrl()
3874 return (long)sc->s3.tmp.ctype_len; in ssl3_ctrl()
3878 if (!sc->server) in ssl3_ctrl()
3880 return ssl3_set_req_cert_type(sc->cert, parg, larg); in ssl3_ctrl()
3883 return ssl_build_cert_chain(sc, NULL, larg); in ssl3_ctrl()
3886 return ssl_cert_set_cert_store(sc->cert, parg, 0, larg); in ssl3_ctrl()
3889 return ssl_cert_set_cert_store(sc->cert, parg, 1, larg); in ssl3_ctrl()
3892 return ssl_cert_get_cert_store(sc->cert, parg, 0); in ssl3_ctrl()
3895 return ssl_cert_get_cert_store(sc->cert, parg, 1); in ssl3_ctrl()
3898 if (parg == NULL || sc->s3.tmp.peer_sigalg == NULL) in ssl3_ctrl()
3900 *(const char **)parg = sc->s3.tmp.peer_sigalg->name; in ssl3_ctrl()
3904 if (sc->s3.tmp.peer_sigalg == NULL) in ssl3_ctrl()
3906 *(int *)parg = sc->s3.tmp.peer_sigalg->hash; in ssl3_ctrl()
3910 if (parg == NULL || sc->s3.tmp.sigalg == NULL) in ssl3_ctrl()
3912 *(const char **)parg = sc->s3.tmp.sigalg->name; in ssl3_ctrl()
3916 if (sc->s3.tmp.sigalg == NULL) in ssl3_ctrl()
3918 *(int *)parg = sc->s3.tmp.sigalg->hash; in ssl3_ctrl()
3922 if (sc->session == NULL || sc->s3.peer_tmp == NULL) { in ssl3_ctrl()
3925 if (!EVP_PKEY_up_ref(sc->s3.peer_tmp)) in ssl3_ctrl()
3928 *(EVP_PKEY **)parg = sc->s3.peer_tmp; in ssl3_ctrl()
3933 if (sc->session == NULL || sc->s3.tmp.pkey == NULL) { in ssl3_ctrl()
3936 if (!EVP_PKEY_up_ref(sc->s3.tmp.pkey)) in ssl3_ctrl()
3939 *(EVP_PKEY **)parg = sc->s3.tmp.pkey; in ssl3_ctrl()
3947 if (sc->ext.peer_ecpointformats == NULL) in ssl3_ctrl()
3949 *pformat = sc->ext.peer_ecpointformats; in ssl3_ctrl()
3950 return (int)sc->ext.peer_ecpointformats_len; in ssl3_ctrl()
3956 *(uint16_t **)parg = (uint16_t *)sc->ext.peer_supportedgroups; in ssl3_ctrl()
3958 return (int)sc->ext.peer_supportedgroups_len; in ssl3_ctrl()
3962 sc->msg_callback_arg = parg; in ssl3_ctrl()
3974 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in ssl3_callback_ctrl() local
3976 if (sc == NULL) in ssl3_callback_ctrl()
3982 sc->cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp; in ssl3_callback_ctrl()
3987 sc->ext.debug_cb = (void (*)(SSL *, int, int, in ssl3_callback_ctrl()
3993 sc->not_resumable_session_cb = (int (*)(SSL *, int))fp; in ssl3_callback_ctrl()
3998 sc->msg_callback = (ossl_msg_cb)fp; in ssl3_callback_ctrl()
4653 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s); in ssl3_shutdown() local
4655 if (sc == NULL) in ssl3_shutdown()
4662 if (sc->quiet_shutdown || SSL_in_before(s)) { in ssl3_shutdown()
4663 sc->shutdown = (SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN); in ssl3_shutdown()
4667 if (!(sc->shutdown & SSL_SENT_SHUTDOWN)) { in ssl3_shutdown()
4668 sc->shutdown |= SSL_SENT_SHUTDOWN; in ssl3_shutdown()
4669 ssl3_send_alert(sc, SSL3_AL_WARNING, SSL_AD_CLOSE_NOTIFY); in ssl3_shutdown()
4674 if (sc->s3.alert_dispatch > 0) in ssl3_shutdown()
4676 } else if (sc->s3.alert_dispatch > 0) { in ssl3_shutdown()
4687 } else if (!(sc->shutdown & SSL_RECEIVED_SHUTDOWN)) { in ssl3_shutdown()
4693 if (!(sc->shutdown & SSL_RECEIVED_SHUTDOWN)) { in ssl3_shutdown()
4698 if ((sc->shutdown == (SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN)) in ssl3_shutdown()
4699 && sc->s3.alert_dispatch == SSL_ALERT_DISPATCH_NONE) in ssl3_shutdown()
4707 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s); in ssl3_write() local
4709 if (sc == NULL) in ssl3_write()
4713 if (sc->s3.renegotiate) in ssl3_write()
4724 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s); in ssl3_read_internal() local
4726 if (sc == NULL) in ssl3_read_internal()
4730 if (sc->s3.renegotiate) in ssl3_read_internal()
4732 sc->s3.in_read_app_data = 1; in ssl3_read_internal()
4736 if ((ret == -1) && (sc->s3.in_read_app_data == 2)) { in ssl3_read_internal()
4744 ossl_statem_set_in_handshake(sc, 1); in ssl3_read_internal()
4748 ossl_statem_set_in_handshake(sc, 0); in ssl3_read_internal()
4750 sc->s3.in_read_app_data = 0; in ssl3_read_internal()
4767 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s); in ssl3_renegotiate() local
4769 if (sc == NULL) in ssl3_renegotiate()
4772 if (sc->handshake_func == NULL) in ssl3_renegotiate()
4775 sc->s3.renegotiate = 1; in ssl3_renegotiate()
4790 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s); in ssl3_renegotiate_check() local
4792 if (sc == NULL) in ssl3_renegotiate_check()
4795 if (sc->s3.renegotiate) { in ssl3_renegotiate_check()
4796 if (!RECORD_LAYER_read_pending(&sc->rlayer) in ssl3_renegotiate_check()
4797 && !RECORD_LAYER_write_pending(&sc->rlayer) in ssl3_renegotiate_check()
4804 ossl_statem_set_renegotiate(sc); in ssl3_renegotiate_check()
4805 sc->s3.renegotiate = 0; in ssl3_renegotiate_check()
4806 sc->s3.num_renegotiations++; in ssl3_renegotiate_check()
4807 sc->s3.total_renegotiations++; in ssl3_renegotiate_check()
5246 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in SSL_get0_group_name() local
5249 if (sc == NULL) in SSL_get0_group_name()
5252 if (SSL_CONNECTION_IS_TLS13(sc) && sc->s3.did_kex) in SSL_get0_group_name()
5253 id = sc->s3.group_id; in SSL_get0_group_name()
5255 id = sc->session->kex_group; in SSL_get0_group_name()