summaryrefslogtreecommitdiffstats
path: root/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
authorbeck <beck@openbsd.org>2020-06-06 01:40:08 +0000
committerbeck <beck@openbsd.org>2020-06-06 01:40:08 +0000
commit095832a3beabe6679cff4c4b7d27ace9e87b0258 (patch)
treec81f3a50008aad915a5c9ce4a2c6dcb2f18212a7 /lib/libssl/s3_lib.c
parentImplement cpu_rnd_messybits() as a read of the virtual counter xored (diff)
downloadwireguard-openbsd-095832a3beabe6679cff4c4b7d27ace9e87b0258.tar.xz
wireguard-openbsd-095832a3beabe6679cff4c4b7d27ace9e87b0258.zip
Implement a rolling hash of the ClientHello message, Enforce RFC 8446
section 4.1.2 to ensure subsequent ClientHello messages after a HelloRetryRequest messages must be unchanged from the initial ClientHello. ok tb@ jsing@
Diffstat (limited to 'lib/libssl/s3_lib.c')
-rw-r--r--lib/libssl/s3_lib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libssl/s3_lib.c b/lib/libssl/s3_lib.c
index e2fef725889..c2cf9229739 100644
--- a/lib/libssl/s3_lib.c
+++ b/lib/libssl/s3_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s3_lib.c,v 1.195 2020/06/05 18:14:05 jsing Exp $ */
+/* $OpenBSD: s3_lib.c,v 1.196 2020/06/06 01:40:08 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -1568,6 +1568,7 @@ ssl3_free(SSL *s)
tls13_key_share_free(S3I(s)->hs_tls13.key_share);
tls13_secrets_destroy(S3I(s)->hs_tls13.secrets);
freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len);
+ tls13_clienthello_hash_clear(&S3I(s)->hs_tls13);
sk_X509_NAME_pop_free(S3I(s)->tmp.ca_names, X509_NAME_free);
@@ -1612,6 +1613,7 @@ ssl3_clear(SSL *s)
freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len);
S3I(s)->hs_tls13.cookie = NULL;
S3I(s)->hs_tls13.cookie_len = 0;
+ tls13_clienthello_hash_clear(&S3I(s)->hs_tls13);
S3I(s)->hs.extensions_seen = 0;