diff options
author | jsing <> | 2017-03-04 16:15:02 +0000 |
---|---|---|
committer | jsing <> | 2017-03-04 16:15:02 +0000 |
commit | cd56538e4a955c66203d91bc4fc59a935c17c73c (patch) | |
tree | 4a1b2753a2de84e913f2c1d13adf83b85fe0d097 /src/lib | |
parent | e983b79c4308f1f8bc5a0c47f199386cacbc67e2 (diff) | |
download | openbsd-cd56538e4a955c66203d91bc4fc59a935c17c73c.tar.gz openbsd-cd56538e4a955c66203d91bc4fc59a935c17c73c.tar.bz2 openbsd-cd56538e4a955c66203d91bc4fc59a935c17c73c.zip |
Call ssl3_handshake_write() instead of ssl3_do_write() - this was missed
when ssl3_send_client_certificate() was converted to the standard handshake
functions in r1.150 of s3_clnt.c.
This has no impact on TLS, however it causes the DTLS client to fail if the
server sends a certificate request, since the TLS MAC is calculated on a
non-populated DTLS header.
Issue reported by umokk on github.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/ssl_clnt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_clnt.c b/src/lib/libssl/ssl_clnt.c index 223190c0a0..65939141a2 100644 --- a/src/lib/libssl/ssl_clnt.c +++ b/src/lib/libssl/ssl_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_clnt.c,v 1.7 2017/03/01 14:01:24 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_clnt.c,v 1.8 2017/03/04 16:15:02 jsing 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 | * |
@@ -2539,7 +2539,7 @@ ssl3_send_client_certificate(SSL *s) | |||
2539 | } | 2539 | } |
2540 | 2540 | ||
2541 | /* SSL3_ST_CW_CERT_D */ | 2541 | /* SSL3_ST_CW_CERT_D */ |
2542 | return (ssl3_do_write(s, SSL3_RT_HANDSHAKE)); | 2542 | return (ssl3_handshake_write(s)); |
2543 | 2543 | ||
2544 | err: | 2544 | err: |
2545 | CBB_cleanup(&cbb); | 2545 | CBB_cleanup(&cbb); |