summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_lib.c
diff options
context:
space:
mode:
authorjsing <>2020-01-23 10:40:59 +0000
committerjsing <>2020-01-23 10:40:59 +0000
commit3738bd24e9d4a33d52a585206262895bd6893bf4 (patch)
tree43dc459859c1fb1a2702abab83aea4b376e97893 /src/lib/libssl/ssl_lib.c
parent8d4bd61260ee3ef0237ff103fbfa530c1c352552 (diff)
downloadopenbsd-3738bd24e9d4a33d52a585206262895bd6893bf4.tar.gz
openbsd-3738bd24e9d4a33d52a585206262895bd6893bf4.tar.bz2
openbsd-3738bd24e9d4a33d52a585206262895bd6893bf4.zip
Correctly handle TLSv1.3 ciphers suites in ssl3_choose_cipher().
Currently, TLSv1.3 cipher suites are filtered out by the fact that they have authentication and key exchange algorithms that are not being set in ssl_set_cert_masks(). Fix this so that ssl3_choose_cipher() works for TLSv1.3, however we also now need to ensure that we filter out TLSv1.3 for non-TLSv1.3 and only select TLSv1.3 for TLSv1.3. ok beck@ tb@
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
-rw-r--r--src/lib/libssl/ssl_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index 1b141b6e2c..a6bdfaa4a1 100644
--- a/src/lib/libssl/ssl_lib.c
+++ b/src/lib/libssl/ssl_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_lib.c,v 1.209 2020/01/23 03:17:40 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.210 2020/01/23 10:40:59 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 *
@@ -2006,6 +2006,9 @@ ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher)
2006 mask_a |= SSL_aRSA; 2006 mask_a |= SSL_aRSA;
2007 2007
2008 mask_a |= SSL_aNULL; 2008 mask_a |= SSL_aNULL;
2009 mask_a |= SSL_aTLS1_3;
2010
2011 mask_k |= SSL_kTLS1_3;
2009 2012
2010 /* 2013 /*
2011 * An ECC certificate may be usable for ECDH and/or 2014 * An ECC certificate may be usable for ECDH and/or