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/tls13_internal.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/tls13_internal.h')
-rw-r--r-- | src/lib/libssl/tls13_internal.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h index 96ed981959..a18184f505 100644 --- a/src/lib/libssl/tls13_internal.h +++ b/src/lib/libssl/tls13_internal.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_internal.h,v 1.83 2020/05/29 17:47:30 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_internal.h,v 1.84 2020/06/06 01:40:09 beck Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> |
4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> |
@@ -386,6 +386,13 @@ int tls13_cert_add(struct tls13_ctx *ctx, CBB *cbb, X509 *cert, | |||
386 | int(*build_extensions)(SSL *s, CBB *cbb, uint16_t msg_type)); | 386 | int(*build_extensions)(SSL *s, CBB *cbb, uint16_t msg_type)); |
387 | 387 | ||
388 | int tls13_synthetic_handshake_message(struct tls13_ctx *ctx); | 388 | int tls13_synthetic_handshake_message(struct tls13_ctx *ctx); |
389 | int tls13_clienthello_hash_init(struct tls13_ctx *ctx); | ||
390 | void tls13_clienthello_hash_clear(struct ssl_handshake_tls13_st *hs); | ||
391 | int tls13_clienthello_hash_update_bytes(struct tls13_ctx *ctx, void *data, | ||
392 | size_t len); | ||
393 | int tls13_clienthello_hash_update(struct tls13_ctx *ctx, CBS *cbs); | ||
394 | int tls13_clienthello_hash_finalize(struct tls13_ctx *ctx); | ||
395 | int tls13_clienthello_hash_validate(struct tls13_ctx *ctx); | ||
389 | 396 | ||
390 | int tls13_error_set(struct tls13_error *error, int code, int subcode, | 397 | int tls13_error_set(struct tls13_error *error, int code, int subcode, |
391 | const char *file, int line, const char *fmt, ...); | 398 | const char *file, int line, const char *fmt, ...); |