summaryrefslogtreecommitdiff
path: root/src/lib/libssl/tls13_internal.h
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/tls13_internal.h
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/tls13_internal.h')
-rw-r--r--src/lib/libssl/tls13_internal.h9
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
388int tls13_synthetic_handshake_message(struct tls13_ctx *ctx); 388int tls13_synthetic_handshake_message(struct tls13_ctx *ctx);
389int tls13_clienthello_hash_init(struct tls13_ctx *ctx);
390void tls13_clienthello_hash_clear(struct ssl_handshake_tls13_st *hs);
391int tls13_clienthello_hash_update_bytes(struct tls13_ctx *ctx, void *data,
392 size_t len);
393int tls13_clienthello_hash_update(struct tls13_ctx *ctx, CBS *cbs);
394int tls13_clienthello_hash_finalize(struct tls13_ctx *ctx);
395int tls13_clienthello_hash_validate(struct tls13_ctx *ctx);
389 396
390int tls13_error_set(struct tls13_error *error, int code, int subcode, 397int 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, ...);