*/
int server_read_transition(SSL *s, int mt)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_BEFORE:
* received a Certificate from the client. If so then |s->session->peer|
* will be non NULL. In some instances a CertificateVerify message is
* not required even if the peer has sent a Certificate (e.g. such as in
- * the case of static DH). In that case |s->no_cert_verify| should be
+ * the case of static DH). In that case |st->no_cert_verify| should be
* set.
*/
- if (s->session->peer == NULL || s->no_cert_verify) {
+ if (s->session->peer == NULL || st->no_cert_verify) {
if (mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
/*
* For the ECDH ciphersuites when the client sends its ECDH
*/
enum WRITE_TRAN server_write_transition(SSL *s)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_BEFORE:
*/
enum WORK_STATE server_pre_work(SSL *s, enum WORK_STATE wst)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_SW_HELLO_REQ:
*/
enum WORK_STATE server_post_work(SSL *s, enum WORK_STATE wst)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
s->init_num = 0;
*/
int server_construct_message(SSL *s)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case DTLS_ST_SW_HELLO_VERIFY_REQUEST:
*/
unsigned long server_max_message_size(SSL *s)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_SR_CLNT_HELLO:
*/
enum MSG_PROCESS_RETURN server_process_message(SSL *s, PACKET *pkt)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_SR_CLNT_HELLO:
*/
enum WORK_STATE server_post_process_message(SSL *s, enum WORK_STATE wst)
{
- STATEM *st = &s->statem;
+ OSSL_STATEM *st = &s->statem;
switch(st->hand_state) {
case TLS_ST_SR_CLNT_HELLO:
goto f_err;
}
if (dh_clnt) {
- s->no_cert_verify = 1;
+ s->statem.no_cert_verify = 1;
return MSG_PROCESS_CONTINUE_PROCESSING;
}
} else
SSLerr(SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE, ERR_R_EC_LIB);
goto err;
}
- s->no_cert_verify = 1;
+ s->statem.no_cert_verify = 1;
} else {
/*
* Get client's public key from encoded point in the
/* Check if pubkey from client certificate was used */
if (EVP_PKEY_CTX_ctrl
(pkey_ctx, -1, -1, EVP_PKEY_CTRL_PEER_KEY, 2, NULL) > 0)
- s->no_cert_verify = 1;
+ s->statem.no_cert_verify = 1;
EVP_PKEY_free(client_pub_pkey);
EVP_PKEY_CTX_free(pkey_ctx);
/* Are we renegotiating? */
&& s->renegotiate
/* Are we going to skip the CertificateVerify? */
- && (s->session->peer == NULL || s->no_cert_verify)
+ && (s->session->peer == NULL || s->statem.no_cert_verify)
&& BIO_dgram_sctp_msg_waiting(SSL_get_rbio(s))) {
s->s3->in_read_app_data = 2;
s->rwstate = SSL_READING;
}
#endif
- if (s->no_cert_verify) {
+ if (s->statem.no_cert_verify) {
/* No certificate verify so we no longer need the handshake_buffer */
BIO_free(s->s3->handshake_buffer);
return WORK_FINISHED_CONTINUE;
enum MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
{
- int i, al, ret = MSG_PROCESS_ERROR;
+ int i, al = SSL_AD_INTERNAL_ERROR, ret = MSG_PROCESS_ERROR;
X509 *x = NULL;
unsigned long l, llen;
const unsigned char *certstart;
}
/* No client certificate so digest cached records */
if (s->s3->handshake_buffer && !ssl3_digest_cached_records(s, 0)) {
- al = SSL_AD_INTERNAL_ERROR;
goto f_err;
}
} else {