summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2021-06-27 17:50:06 +0000
committerjsing <>2021-06-27 17:50:06 +0000
commitd098f30c3e9d8c1b5b893995afa30e490e98bd85 (patch)
treee5b915607f92a852070bdba50386fd06e7c0ce07
parent14e0a903a584ad4d2f0b29dfed72c87ccf01a6ff (diff)
downloadopenbsd-d098f30c3e9d8c1b5b893995afa30e490e98bd85.tar.gz
openbsd-d098f30c3e9d8c1b5b893995afa30e490e98bd85.tar.bz2
openbsd-d098f30c3e9d8c1b5b893995afa30e490e98bd85.zip
Tidy some comments and simplify some code.
ok tb@
-rw-r--r--src/lib/libssl/ssl_sigalgs.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index 17ac1f84ff..d3ac3d969d 100644
--- a/src/lib/libssl/ssl_sigalgs.c
+++ b/src/lib/libssl/ssl_sigalgs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_sigalgs.c,v 1.25 2021/06/27 17:45:16 jsing Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.26 2021/06/27 17:50:06 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2018-2020 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018-2020 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -144,7 +144,7 @@ const struct ssl_sigalg sigalgs[] = {
144 }, 144 },
145}; 145};
146 146
147/* Sigalgs for tls 1.3, in preference order, */ 147/* Sigalgs for TLSv1.3, in preference order. */
148const uint16_t tls13_sigalgs[] = { 148const uint16_t tls13_sigalgs[] = {
149 SIGALG_RSA_PSS_RSAE_SHA512, 149 SIGALG_RSA_PSS_RSAE_SHA512,
150 SIGALG_RSA_PKCS1_SHA512, 150 SIGALG_RSA_PKCS1_SHA512,
@@ -158,7 +158,7 @@ const uint16_t tls13_sigalgs[] = {
158}; 158};
159const size_t tls13_sigalgs_len = (sizeof(tls13_sigalgs) / sizeof(tls13_sigalgs[0])); 159const size_t tls13_sigalgs_len = (sizeof(tls13_sigalgs) / sizeof(tls13_sigalgs[0]));
160 160
161/* Sigalgs for tls 1.2, in preference order, */ 161/* Sigalgs for TLSv1.2, in preference order. */
162const uint16_t tls12_sigalgs[] = { 162const uint16_t tls12_sigalgs[] = {
163 SIGALG_RSA_PSS_RSAE_SHA512, 163 SIGALG_RSA_PSS_RSAE_SHA512,
164 SIGALG_RSA_PKCS1_SHA512, 164 SIGALG_RSA_PKCS1_SHA512,
@@ -205,22 +205,14 @@ ssl_sigalgs_build(CBB *cbb, const uint16_t *values, size_t len)
205{ 205{
206 size_t i; 206 size_t i;
207 207
208 for (i = 0; sigalgs[i].value != SIGALG_NONE; i++);
209 if (len > i)
210 return 0;
211
212 /* XXX check for duplicates and other sanity BS? */
213
214 /* Add values in order as long as they are supported. */ 208 /* Add values in order as long as they are supported. */
215 for (i = 0; i < len; i++) { 209 for (i = 0; i < len; i++) {
216 /* Do not allow the legacy value for < 1.2 to be used */ 210 /* Do not allow the legacy value for < 1.2 to be used. */
217 if (values[i] == SIGALG_RSA_PKCS1_MD5_SHA1) 211 if (values[i] == SIGALG_RSA_PKCS1_MD5_SHA1)
218 return 0; 212 return 0;
219 213 if (ssl_sigalg_lookup(values[i]) == NULL)
220 if (ssl_sigalg_lookup(values[i]) != NULL) { 214 return 0;
221 if (!CBB_add_u16(cbb, values[i])) 215 if (!CBB_add_u16(cbb, values[i]))
222 return 0;
223 } else
224 return 0; 216 return 0;
225 } 217 }
226 return 1; 218 return 1;