summaryrefslogtreecommitdiffstats
path: root/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2017-03-05 14:39:53 +0000
committerjsing <jsing@openbsd.org>2017-03-05 14:39:53 +0000
commit366dc2a2e9ef223ce3418b3d76bba648547d45ef (patch)
treed9fd995f7169f30e2e7cdc7ee6ee0edc127c064f /lib/libssl/s3_lib.c
parentConvert various handshake message generation functions to CBB. (diff)
downloadwireguard-openbsd-366dc2a2e9ef223ce3418b3d76bba648547d45ef.tar.xz
wireguard-openbsd-366dc2a2e9ef223ce3418b3d76bba648547d45ef.zip
Provide a rolling handshake hash that commences as soon as the cipher
suite has been selected, and convert the final finish MAC to use this handshake hash. This is a first step towards cleaning up the current handshake buffer/digest code. ok beck@ inoguchi@
Diffstat (limited to 'lib/libssl/s3_lib.c')
-rw-r--r--lib/libssl/s3_lib.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libssl/s3_lib.c b/lib/libssl/s3_lib.c
index 3f09834ab11..d6bf6a45746 100644
--- a/lib/libssl/s3_lib.c
+++ b/lib/libssl/s3_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s3_lib.c,v 1.136 2017/03/04 16:32:00 jsing Exp $ */
+/* $OpenBSD: s3_lib.c,v 1.137 2017/03/05 14:39:53 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -1839,8 +1839,12 @@ ssl3_free(SSL *s)
free(S3I(s)->tmp.x25519);
sk_X509_NAME_pop_free(S3I(s)->tmp.ca_names, X509_NAME_free);
+
BIO_free(S3I(s)->handshake_buffer);
+
tls1_free_digest_list(s);
+ tls1_handshake_hash_free(s);
+
free(S3I(s)->alpn_selected);
explicit_bzero(S3I(s), sizeof(*S3I(s)));
@@ -1881,6 +1885,7 @@ ssl3_clear(SSL *s)
S3I(s)->handshake_buffer = NULL;
tls1_free_digest_list(s);
+ tls1_handshake_hash_free(s);
free(S3I(s)->alpn_selected);
S3I(s)->alpn_selected = NULL;