X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fstatem%2Fstatem_dtls.c;h=0ac60cbf995cc8850b3987f5e56a3b169672527d;hp=8604d5bdb2bf3de4fa2914dd61e9e240c2cba43d;hb=5d671101739f9e9b259126375a9e8b2fa42ac45f;hpb=c28533829395183eec027969c0c8d28574f2a3cc diff --git a/ssl/statem/statem_dtls.c b/ssl/statem/statem_dtls.c index 8604d5bdb2..0ac60cbf99 100644 --- a/ssl/statem/statem_dtls.c +++ b/ssl/statem/statem_dtls.c @@ -376,6 +376,15 @@ int dtls_get_message(SSL *s, int *mt, size_t *len) msg_len += DTLS1_HM_HEADER_LENGTH; } + /* + * If receiving Finished, record MAC of prior handshake messages for + * Finished verification. + */ + if (*mt == SSL3_MT_FINISHED && !ssl3_take_mac(s)) { + /* SSLfatal() already called */ + return 0; + } + if (!ssl3_finish_mac(s, p, msg_len)) return 0; if (s->msg_callback)