summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2020-01-26 06:55:17 +0000
committerjsing <>2020-01-26 06:55:17 +0000
commit2c5f414c66d94839172e610df260529eecc306db (patch)
tree1a230b4d18426696e25cf14f5ede2743f5b9a94d /src
parent7da7bbce29b0ab166d3085a673b34a695e3382c5 (diff)
downloadopenbsd-2c5f414c66d94839172e610df260529eecc306db.tar.gz
openbsd-2c5f414c66d94839172e610df260529eecc306db.tar.bz2
openbsd-2c5f414c66d94839172e610df260529eecc306db.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')
-rw-r--r--src/lib/libssl/tls13_client.c3
-rw-r--r--src/lib/libssl/tls13_server.c3
2 files changed, 4 insertions, 2 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))
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c
index e5e029c998..41b4d2b24e 100644
--- a/src/lib/libssl/tls13_server.c
+++ b/src/lib/libssl/tls13_server.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls13_server.c,v 1.19 2020/01/26 03:55:22 beck Exp $ */ 1/* $OpenBSD: tls13_server.c,v 1.20 2020/01/26 06:55:17 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2020 Bob Beck <beck@openbsd.org> 4 * Copyright (c) 2020 Bob Beck <beck@openbsd.org>
@@ -96,6 +96,7 @@ tls13_use_legacy_server(struct tls13_ctx *ctx)
96 CBS cbs; 96 CBS cbs;
97 97
98 s->method = tls_legacy_server_method(); 98 s->method = tls_legacy_server_method();
99 s->internal->handshake_func = s->method->internal->ssl_accept;
99 s->client_version = s->version = s->method->internal->max_version; 100 s->client_version = s->version = s->method->internal->max_version;
100 s->server = 1; 101 s->server = 1;
101 102