diff options
| author | jsing <> | 2020-01-26 06:55:17 +0000 |
|---|---|---|
| committer | jsing <> | 2020-01-26 06:55:17 +0000 |
| commit | 73568496f853bd4748ed4bc0410b24cdefaa9e53 (patch) | |
| tree | 1a230b4d18426696e25cf14f5ede2743f5b9a94d /src/lib/libssl/tls13_client.c | |
| parent | 809b7d4ff3f950e32934e95ff58da0f9b9c716be (diff) | |
| download | openbsd-73568496f853bd4748ed4bc0410b24cdefaa9e53.tar.gz openbsd-73568496f853bd4748ed4bc0410b24cdefaa9e53.tar.bz2 openbsd-73568496f853bd4748ed4bc0410b24cdefaa9e53.zip | |
When switching back to a legacy client or server, ensure we reset the
handshake function pointer.
Fixes an isssue found by jca@ with OpenVPN.
ok beck@ tb@
Diffstat (limited to 'src/lib/libssl/tls13_client.c')
| -rw-r--r-- | src/lib/libssl/tls13_client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 74a4a4db69..f75f605ace 100644 --- a/src/lib/libssl/tls13_client.c +++ b/src/lib/libssl/tls13_client.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_client.c,v 1.36 2020/01/26 03:38:24 beck Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.37 2020/01/26 06:55:17 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -105,6 +105,7 @@ tls13_use_legacy_client(struct tls13_ctx *ctx) | |||
| 105 | CBS cbs; | 105 | CBS cbs; |
| 106 | 106 | ||
| 107 | s->method = tls_legacy_client_method(); | 107 | s->method = tls_legacy_client_method(); |
| 108 | s->internal->handshake_func = s->method->internal->ssl_connect; | ||
| 108 | s->client_version = s->version = s->method->internal->max_version; | 109 | s->client_version = s->version = s->method->internal->max_version; |
| 109 | 110 | ||
| 110 | if (!ssl3_setup_init_buffer(s)) | 111 | if (!ssl3_setup_init_buffer(s)) |
