diff options
author | tb <> | 2024-05-10 05:08:05 +0000 |
---|---|---|
committer | tb <> | 2024-05-10 05:08:05 +0000 |
commit | fadf444697d647a8b122bdc967653df5d43b5c0f (patch) | |
tree | 448213299f69767b227de60a21af07b77bf39def /src | |
parent | e187598b3af245fef99788faf28736cce0498577 (diff) | |
download | openbsd-fadf444697d647a8b122bdc967653df5d43b5c0f.tar.gz openbsd-fadf444697d647a8b122bdc967653df5d43b5c0f.tar.bz2 openbsd-fadf444697d647a8b122bdc967653df5d43b5c0f.zip |
Remove fixed nonce length information from algorithm2
This information has been part of tls12_key_block_generate() for a while
now. It remained in this table because at that point SSL_CIPHER was still
public. Nothing can access algorithm2 anymore from the outside, so this is
dead weight.
ok jsing
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 58 | ||||
-rw-r--r-- | src/lib/libssl/ssl_local.h | 16 |
2 files changed, 15 insertions, 59 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 6ebe2605da..0eec6e9712 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.251 2024/03/02 11:46:55 tb Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.252 2024/05/10 05:08:05 tb 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 | * |
@@ -168,13 +168,6 @@ | |||
168 | 168 | ||
169 | #define SSL3_NUM_CIPHERS (sizeof(ssl3_ciphers) / sizeof(SSL_CIPHER)) | 169 | #define SSL3_NUM_CIPHERS (sizeof(ssl3_ciphers) / sizeof(SSL_CIPHER)) |
170 | 170 | ||
171 | /* | ||
172 | * FIXED_NONCE_LEN is a macro that provides in the correct value to set the | ||
173 | * fixed nonce length in algorithms2. It is the inverse of the | ||
174 | * SSL_CIPHER_AEAD_FIXED_NONCE_LEN macro. | ||
175 | */ | ||
176 | #define FIXED_NONCE_LEN(x) (((x / 2) & 0xf) << 24) | ||
177 | |||
178 | /* list of available SSLv3 ciphers (sorted by id) */ | 171 | /* list of available SSLv3 ciphers (sorted by id) */ |
179 | const SSL_CIPHER ssl3_ciphers[] = { | 172 | const SSL_CIPHER ssl3_ciphers[] = { |
180 | 173 | ||
@@ -644,9 +637,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
644 | .algorithm_mac = SSL_AEAD, | 637 | .algorithm_mac = SSL_AEAD, |
645 | .algorithm_ssl = SSL_TLSV1_2, | 638 | .algorithm_ssl = SSL_TLSV1_2, |
646 | .algo_strength = SSL_HIGH, | 639 | .algo_strength = SSL_HIGH, |
647 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 640 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
648 | FIXED_NONCE_LEN(4)| | ||
649 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
650 | .strength_bits = 128, | 641 | .strength_bits = 128, |
651 | .alg_bits = 128, | 642 | .alg_bits = 128, |
652 | }, | 643 | }, |
@@ -662,9 +653,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
662 | .algorithm_mac = SSL_AEAD, | 653 | .algorithm_mac = SSL_AEAD, |
663 | .algorithm_ssl = SSL_TLSV1_2, | 654 | .algorithm_ssl = SSL_TLSV1_2, |
664 | .algo_strength = SSL_HIGH, | 655 | .algo_strength = SSL_HIGH, |
665 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384| | 656 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
666 | FIXED_NONCE_LEN(4)| | ||
667 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
668 | .strength_bits = 256, | 657 | .strength_bits = 256, |
669 | .alg_bits = 256, | 658 | .alg_bits = 256, |
670 | }, | 659 | }, |
@@ -680,9 +669,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
680 | .algorithm_mac = SSL_AEAD, | 669 | .algorithm_mac = SSL_AEAD, |
681 | .algorithm_ssl = SSL_TLSV1_2, | 670 | .algorithm_ssl = SSL_TLSV1_2, |
682 | .algo_strength = SSL_HIGH, | 671 | .algo_strength = SSL_HIGH, |
683 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 672 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
684 | FIXED_NONCE_LEN(4)| | ||
685 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
686 | .strength_bits = 128, | 673 | .strength_bits = 128, |
687 | .alg_bits = 128, | 674 | .alg_bits = 128, |
688 | }, | 675 | }, |
@@ -698,9 +685,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
698 | .algorithm_mac = SSL_AEAD, | 685 | .algorithm_mac = SSL_AEAD, |
699 | .algorithm_ssl = SSL_TLSV1_2, | 686 | .algorithm_ssl = SSL_TLSV1_2, |
700 | .algo_strength = SSL_HIGH, | 687 | .algo_strength = SSL_HIGH, |
701 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384| | 688 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
702 | FIXED_NONCE_LEN(4)| | ||
703 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
704 | .strength_bits = 256, | 689 | .strength_bits = 256, |
705 | .alg_bits = 256, | 690 | .alg_bits = 256, |
706 | }, | 691 | }, |
@@ -716,9 +701,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
716 | .algorithm_mac = SSL_AEAD, | 701 | .algorithm_mac = SSL_AEAD, |
717 | .algorithm_ssl = SSL_TLSV1_2, | 702 | .algorithm_ssl = SSL_TLSV1_2, |
718 | .algo_strength = SSL_HIGH, | 703 | .algo_strength = SSL_HIGH, |
719 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 704 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
720 | FIXED_NONCE_LEN(4)| | ||
721 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
722 | .strength_bits = 128, | 705 | .strength_bits = 128, |
723 | .alg_bits = 128, | 706 | .alg_bits = 128, |
724 | }, | 707 | }, |
@@ -734,9 +717,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
734 | .algorithm_mac = SSL_AEAD, | 717 | .algorithm_mac = SSL_AEAD, |
735 | .algorithm_ssl = SSL_TLSV1_2, | 718 | .algorithm_ssl = SSL_TLSV1_2, |
736 | .algo_strength = SSL_HIGH, | 719 | .algo_strength = SSL_HIGH, |
737 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384| | 720 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
738 | FIXED_NONCE_LEN(4)| | ||
739 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
740 | .strength_bits = 256, | 721 | .strength_bits = 256, |
741 | .alg_bits = 256, | 722 | .alg_bits = 256, |
742 | }, | 723 | }, |
@@ -1215,9 +1196,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1215 | .algorithm_mac = SSL_AEAD, | 1196 | .algorithm_mac = SSL_AEAD, |
1216 | .algorithm_ssl = SSL_TLSV1_2, | 1197 | .algorithm_ssl = SSL_TLSV1_2, |
1217 | .algo_strength = SSL_HIGH, | 1198 | .algo_strength = SSL_HIGH, |
1218 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 1199 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1219 | FIXED_NONCE_LEN(4)| | ||
1220 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
1221 | .strength_bits = 128, | 1200 | .strength_bits = 128, |
1222 | .alg_bits = 128, | 1201 | .alg_bits = 128, |
1223 | }, | 1202 | }, |
@@ -1233,9 +1212,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1233 | .algorithm_mac = SSL_AEAD, | 1212 | .algorithm_mac = SSL_AEAD, |
1234 | .algorithm_ssl = SSL_TLSV1_2, | 1213 | .algorithm_ssl = SSL_TLSV1_2, |
1235 | .algo_strength = SSL_HIGH, | 1214 | .algo_strength = SSL_HIGH, |
1236 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384| | 1215 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1237 | FIXED_NONCE_LEN(4)| | ||
1238 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
1239 | .strength_bits = 256, | 1216 | .strength_bits = 256, |
1240 | .alg_bits = 256, | 1217 | .alg_bits = 256, |
1241 | }, | 1218 | }, |
@@ -1251,9 +1228,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1251 | .algorithm_mac = SSL_AEAD, | 1228 | .algorithm_mac = SSL_AEAD, |
1252 | .algorithm_ssl = SSL_TLSV1_2, | 1229 | .algorithm_ssl = SSL_TLSV1_2, |
1253 | .algo_strength = SSL_HIGH, | 1230 | .algo_strength = SSL_HIGH, |
1254 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 1231 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1255 | FIXED_NONCE_LEN(4)| | ||
1256 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
1257 | .strength_bits = 128, | 1232 | .strength_bits = 128, |
1258 | .alg_bits = 128, | 1233 | .alg_bits = 128, |
1259 | }, | 1234 | }, |
@@ -1269,9 +1244,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1269 | .algorithm_mac = SSL_AEAD, | 1244 | .algorithm_mac = SSL_AEAD, |
1270 | .algorithm_ssl = SSL_TLSV1_2, | 1245 | .algorithm_ssl = SSL_TLSV1_2, |
1271 | .algo_strength = SSL_HIGH, | 1246 | .algo_strength = SSL_HIGH, |
1272 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384| | 1247 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1273 | FIXED_NONCE_LEN(4)| | ||
1274 | SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD, | ||
1275 | .strength_bits = 256, | 1248 | .strength_bits = 256, |
1276 | .alg_bits = 256, | 1249 | .alg_bits = 256, |
1277 | }, | 1250 | }, |
@@ -1287,8 +1260,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1287 | .algorithm_mac = SSL_AEAD, | 1260 | .algorithm_mac = SSL_AEAD, |
1288 | .algorithm_ssl = SSL_TLSV1_2, | 1261 | .algorithm_ssl = SSL_TLSV1_2, |
1289 | .algo_strength = SSL_HIGH, | 1262 | .algo_strength = SSL_HIGH, |
1290 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 1263 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1291 | FIXED_NONCE_LEN(12), | ||
1292 | .strength_bits = 256, | 1264 | .strength_bits = 256, |
1293 | .alg_bits = 256, | 1265 | .alg_bits = 256, |
1294 | }, | 1266 | }, |
@@ -1304,8 +1276,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1304 | .algorithm_mac = SSL_AEAD, | 1276 | .algorithm_mac = SSL_AEAD, |
1305 | .algorithm_ssl = SSL_TLSV1_2, | 1277 | .algorithm_ssl = SSL_TLSV1_2, |
1306 | .algo_strength = SSL_HIGH, | 1278 | .algo_strength = SSL_HIGH, |
1307 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 1279 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1308 | FIXED_NONCE_LEN(12), | ||
1309 | .strength_bits = 256, | 1280 | .strength_bits = 256, |
1310 | .alg_bits = 256, | 1281 | .alg_bits = 256, |
1311 | }, | 1282 | }, |
@@ -1321,8 +1292,7 @@ const SSL_CIPHER ssl3_ciphers[] = { | |||
1321 | .algorithm_mac = SSL_AEAD, | 1292 | .algorithm_mac = SSL_AEAD, |
1322 | .algorithm_ssl = SSL_TLSV1_2, | 1293 | .algorithm_ssl = SSL_TLSV1_2, |
1323 | .algo_strength = SSL_HIGH, | 1294 | .algo_strength = SSL_HIGH, |
1324 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256| | 1295 | .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1325 | FIXED_NONCE_LEN(12), | ||
1326 | .strength_bits = 256, | 1296 | .strength_bits = 256, |
1327 | .alg_bits = 256, | 1297 | .alg_bits = 256, |
1328 | }, | 1298 | }, |
diff --git a/src/lib/libssl/ssl_local.h b/src/lib/libssl/ssl_local.h index 2266d5e3ce..551bdd5766 100644 --- a/src/lib/libssl/ssl_local.h +++ b/src/lib/libssl/ssl_local.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_local.h,v 1.14 2024/03/26 03:44:11 beck Exp $ */ | 1 | /* $OpenBSD: ssl_local.h,v 1.15 2024/05/10 05:08:05 tb 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 | * |
@@ -263,20 +263,6 @@ __BEGIN_HIDDEN_DECLS | |||
263 | #define TLS1_PRF (TLS1_PRF_MD5 | TLS1_PRF_SHA1) | 263 | #define TLS1_PRF (TLS1_PRF_MD5 | TLS1_PRF_SHA1) |
264 | 264 | ||
265 | /* | 265 | /* |
266 | * SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD is an algorithm2 flag that | ||
267 | * indicates that the variable part of the nonce is included as a prefix of | ||
268 | * the record (AES-GCM, for example, does this with an 8-byte variable nonce.) | ||
269 | */ | ||
270 | #define SSL_CIPHER_ALGORITHM2_VARIABLE_NONCE_IN_RECORD (1 << 22) | ||
271 | |||
272 | /* | ||
273 | * SSL_CIPHER_AEAD_FIXED_NONCE_LEN returns the number of bytes of fixed nonce | ||
274 | * for an SSL_CIPHER with an algorithm_mac of SSL_AEAD. | ||
275 | */ | ||
276 | #define SSL_CIPHER_AEAD_FIXED_NONCE_LEN(ssl_cipher) \ | ||
277 | (((ssl_cipher->algorithm2 >> 24) & 0xf) * 2) | ||
278 | |||
279 | /* | ||
280 | * Cipher strength information. | 266 | * Cipher strength information. |
281 | */ | 267 | */ |
282 | #define SSL_STRONG_MASK 0x000001fcL | 268 | #define SSL_STRONG_MASK 0x000001fcL |