X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fs3_msg.c;h=42382547fb2abbed9d411e08bffa2af3d5a7c13c;hp=7af2f99e05a12c34642420f6657296eca97ae2d9;hb=c2b290c3d0ff878c33b3540df530f64af23163bf;hpb=49e7fe12eac1e84af726e0110ee29073699ed46b diff --git a/ssl/s3_msg.c b/ssl/s3_msg.c index 7af2f99e05..42382547fb 100644 --- a/ssl/s3_msg.c +++ b/ssl/s3_msg.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,15 +7,11 @@ * https://www.openssl.org/source/license.html */ -#define USE_SOCKETS #include "ssl_locl.h" int ssl3_do_change_cipher_spec(SSL *s) { int i; - size_t finish_md_len; - const char *sender; - size_t slen; if (s->server) i = SSL3_CHANGE_CIPHER_SERVER_READ; @@ -26,38 +22,18 @@ int ssl3_do_change_cipher_spec(SSL *s) if (s->session == NULL || s->session->master_key_length == 0) { /* might happen if dtls1_read_bytes() calls this */ SSLerr(SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC, SSL_R_CCS_RECEIVED_EARLY); - return (0); + return 0; } s->session->cipher = s->s3->tmp.new_cipher; if (!s->method->ssl3_enc->setup_key_block(s)) - return (0); + return 0; } if (!s->method->ssl3_enc->change_cipher_state(s, i)) - return (0); - - /* - * we have to record the message digest at this point so we can get it - * before we read the finished message - */ - if (!s->server) { - sender = s->method->ssl3_enc->server_finished_label; - slen = s->method->ssl3_enc->server_finished_label_len; - } else { - sender = s->method->ssl3_enc->client_finished_label; - slen = s->method->ssl3_enc->client_finished_label_len; - } - - finish_md_len = s->method->ssl3_enc->final_finish_mac(s, sender, slen, - s->s3->tmp.peer_finish_md); - if (finish_md_len == 0) { - SSLerr(SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC, ERR_R_INTERNAL_ERROR); return 0; - } - s->s3->tmp.peer_finish_md_len = finish_md_len; - return (1); + return 1; } int ssl3_send_alert(SSL *s, int level, int desc) @@ -105,12 +81,10 @@ int ssl3_dispatch_alert(SSL *s) s->s3->alert_dispatch = 1; } else { /* - * Alert sent to BIO. If it is important, flush it now. If the - * message does not get sent due to non-blocking IO, we will not - * worry too much. + * Alert sent to BIO - now flush. If the message does not get sent due + * to non-blocking IO, we will not worry too much. */ - if (s->s3->send_alert[0] == SSL3_AL_FATAL) - (void)BIO_flush(s->wbio); + (void)BIO_flush(s->wbio); if (s->msg_callback) s->msg_callback(1, s->version, SSL3_RT_ALERT, s->s3->send_alert,