diff options
author | beck <> | 2020-06-06 01:40:09 +0000 |
---|---|---|
committer | beck <> | 2020-06-06 01:40:09 +0000 |
commit | 5c5463afc09ad28dc5717f3c90e5fb9e9f4ffa60 (patch) | |
tree | 921562c039b5a27a1e18f71fe397784a1d3435d3 /src/lib/libssl/ssl_locl.h | |
parent | a6cda271c8a6d54db86ab3cb8d7586a529351181 (diff) | |
download | openbsd-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/ssl_locl.h')
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index bfc3c1ad9b..bf1f846d13 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_locl.h,v 1.279 2020/05/31 18:03:32 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.280 2020/06/06 01:40:09 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 | * |
@@ -470,6 +470,12 @@ typedef struct ssl_handshake_tls13_st { | |||
470 | /* Legacy session ID. */ | 470 | /* Legacy session ID. */ |
471 | uint8_t legacy_session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; | 471 | uint8_t legacy_session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; |
472 | size_t legacy_session_id_len; | 472 | size_t legacy_session_id_len; |
473 | |||
474 | /* ClientHello hash, used to validate following HelloRetryRequest */ | ||
475 | EVP_MD_CTX *clienthello_md_ctx; | ||
476 | unsigned char *clienthello_hash; | ||
477 | unsigned int clienthello_hash_len; | ||
478 | |||
473 | } SSL_HANDSHAKE_TLS13; | 479 | } SSL_HANDSHAKE_TLS13; |
474 | 480 | ||
475 | typedef struct ssl_ctx_internal_st { | 481 | typedef struct ssl_ctx_internal_st { |