summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
authorbeck <>2020-06-06 01:40:09 +0000
committerbeck <>2020-06-06 01:40:09 +0000
commit5c5463afc09ad28dc5717f3c90e5fb9e9f4ffa60 (patch)
tree921562c039b5a27a1e18f71fe397784a1d3435d3 /src/lib/libssl/s3_lib.c
parenta6cda271c8a6d54db86ab3cb8d7586a529351181 (diff)
downloadopenbsd-5c5463afc09ad28dc5717f3c90e5fb9e9f4ffa60.tar.gz
openbsd-5c5463afc09ad28dc5717f3c90e5fb9e9f4ffa60.tar.bz2
openbsd-5c5463afc09ad28dc5717f3c90e5fb9e9f4ffa60.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 'src/lib/libssl/s3_lib.c')
-rw-r--r--src/lib/libssl/s3_lib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c
index e2fef72588..c2cf922973 100644
--- a/src/lib/libssl/s3_lib.c
+++ b/src/lib/libssl/s3_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_lib.c,v 1.195 2020/06/05 18:14:05 jsing Exp $ */ 1/* $OpenBSD: s3_lib.c,v 1.196 2020/06/06 01:40:08 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1568,6 +1568,7 @@ ssl3_free(SSL *s)
1568 tls13_key_share_free(S3I(s)->hs_tls13.key_share); 1568 tls13_key_share_free(S3I(s)->hs_tls13.key_share);
1569 tls13_secrets_destroy(S3I(s)->hs_tls13.secrets); 1569 tls13_secrets_destroy(S3I(s)->hs_tls13.secrets);
1570 freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len); 1570 freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len);
1571 tls13_clienthello_hash_clear(&S3I(s)->hs_tls13);
1571 1572
1572 sk_X509_NAME_pop_free(S3I(s)->tmp.ca_names, X509_NAME_free); 1573 sk_X509_NAME_pop_free(S3I(s)->tmp.ca_names, X509_NAME_free);
1573 1574
@@ -1612,6 +1613,7 @@ ssl3_clear(SSL *s)
1612 freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len); 1613 freezero(S3I(s)->hs_tls13.cookie, S3I(s)->hs_tls13.cookie_len);
1613 S3I(s)->hs_tls13.cookie = NULL; 1614 S3I(s)->hs_tls13.cookie = NULL;
1614 S3I(s)->hs_tls13.cookie_len = 0; 1615 S3I(s)->hs_tls13.cookie_len = 0;
1616 tls13_clienthello_hash_clear(&S3I(s)->hs_tls13);
1615 1617
1616 S3I(s)->hs.extensions_seen = 0; 1618 S3I(s)->hs.extensions_seen = 0;
1617 1619