summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2017-08-28 16:37:04 +0000
committerjsing <>2017-08-28 16:37:04 +0000
commit06777404d5d3c9d777364d633ff082f434d357d5 (patch)
tree7a497786c0d665cfdd18ae5f1a51814d2866dc5d /src/lib
parent25258122ceacc0befc2dd3c6150cc89fd6c00a7a (diff)
downloadopenbsd-06777404d5d3c9d777364d633ff082f434d357d5.tar.gz
openbsd-06777404d5d3c9d777364d633ff082f434d357d5.tar.bz2
openbsd-06777404d5d3c9d777364d633ff082f434d357d5.zip
Remove the original (pre-IETF) chacha20-poly1305 cipher suites.
Support for the IETF standardised chacha20-poly1305 cipher suites was added 16 months ago, which means they exist in both of the currently supported OpenBSD releases. Also prompted by Andreas Bartelt <obsd at bartula dot de>. ok beck@ doug@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/s3_lib.c53
-rw-r--r--src/lib/libssl/ssl_ciph.c14
-rw-r--r--src/lib/libssl/ssl_locl.h3
-rw-r--r--src/lib/libssl/tls1.h8
4 files changed, 5 insertions, 73 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c
index acbe30d804..bbf0444c21 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.158 2017/08/12 21:03:08 jsing Exp $ */ 1/* $OpenBSD: s3_lib.c,v 1.159 2017/08/28 16:37:04 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 *
@@ -1299,57 +1299,6 @@ SSL_CIPHER ssl3_ciphers[] = {
1299 .alg_bits = 256, 1299 .alg_bits = 256,
1300 }, 1300 },
1301 1301
1302 /* Cipher CC13 */
1303 {
1304 .valid = 1,
1305 .name = TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_OLD,
1306 .id = TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD,
1307 .algorithm_mkey = SSL_kECDHE,
1308 .algorithm_auth = SSL_aRSA,
1309 .algorithm_enc = SSL_CHACHA20POLY1305_OLD,
1310 .algorithm_mac = SSL_AEAD,
1311 .algorithm_ssl = SSL_TLSV1_2,
1312 .algo_strength = SSL_HIGH,
1313 .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
1314 SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
1315 .strength_bits = 256,
1316 .alg_bits = 256,
1317 },
1318
1319 /* Cipher CC14 */
1320 {
1321 .valid = 1,
1322 .name = TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_OLD,
1323 .id = TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD,
1324 .algorithm_mkey = SSL_kECDHE,
1325 .algorithm_auth = SSL_aECDSA,
1326 .algorithm_enc = SSL_CHACHA20POLY1305_OLD,
1327 .algorithm_mac = SSL_AEAD,
1328 .algorithm_ssl = SSL_TLSV1_2,
1329 .algo_strength = SSL_HIGH,
1330 .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
1331 SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
1332 .strength_bits = 256,
1333 .alg_bits = 256,
1334 },
1335
1336 /* Cipher CC15 */
1337 {
1338 .valid = 1,
1339 .name = TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305_OLD,
1340 .id = TLS1_CK_DHE_RSA_CHACHA20_POLY1305_OLD,
1341 .algorithm_mkey = SSL_kDHE,
1342 .algorithm_auth = SSL_aRSA,
1343 .algorithm_enc = SSL_CHACHA20POLY1305_OLD,
1344 .algorithm_mac = SSL_AEAD,
1345 .algorithm_ssl = SSL_TLSV1_2,
1346 .algo_strength = SSL_HIGH,
1347 .algorithm2 = SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256|
1348 SSL_CIPHER_ALGORITHM2_AEAD|FIXED_NONCE_LEN(0),
1349 .strength_bits = 256,
1350 .alg_bits = 256,
1351 },
1352
1353 /* Cipher CCA8 */ 1302 /* Cipher CCA8 */
1354 { 1303 {
1355 .valid = 1, 1304 .valid = 1,
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c
index 49af292d6c..f30ffeaf2c 100644
--- a/src/lib/libssl/ssl_ciph.c
+++ b/src/lib/libssl/ssl_ciph.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_ciph.c,v 1.96 2017/03/10 16:03:27 jsing Exp $ */ 1/* $OpenBSD: ssl_ciph.c,v 1.97 2017/08/28 16:37:04 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 *
@@ -388,7 +388,7 @@ static const SSL_CIPHER cipher_aliases[] = {
388 }, 388 },
389 { 389 {
390 .name = SSL_TXT_CHACHA20, 390 .name = SSL_TXT_CHACHA20,
391 .algorithm_enc = SSL_CHACHA20POLY1305|SSL_CHACHA20POLY1305_OLD, 391 .algorithm_enc = SSL_CHACHA20POLY1305,
392 }, 392 },
393 393
394 /* MAC aliases */ 394 /* MAC aliases */
@@ -690,9 +690,6 @@ ssl_cipher_get_evp_aead(const SSL_SESSION *s, const EVP_AEAD **aead)
690 case SSL_CHACHA20POLY1305: 690 case SSL_CHACHA20POLY1305:
691 *aead = EVP_aead_chacha20_poly1305(); 691 *aead = EVP_aead_chacha20_poly1305();
692 return 1; 692 return 1;
693 case SSL_CHACHA20POLY1305_OLD:
694 *aead = EVP_aead_chacha20_poly1305_old();
695 return 1;
696 default: 693 default:
697 break; 694 break;
698 } 695 }
@@ -1394,8 +1391,6 @@ ssl_create_cipher_list(const SSL_METHOD *ssl_method,
1394 CIPHER_ADD, -1, &head, &tail); 1391 CIPHER_ADD, -1, &head, &tail);
1395 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, 1392 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305,
1396 0, 0, 0, CIPHER_ADD, -1, &head, &tail); 1393 0, 0, 0, CIPHER_ADD, -1, &head, &tail);
1397 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305_OLD,
1398 0, 0, 0, CIPHER_ADD, -1, &head, &tail);
1399 } else { 1394 } else {
1400 /* 1395 /*
1401 * CHACHA20 is fast and safe on all hardware and is thus our 1396 * CHACHA20 is fast and safe on all hardware and is thus our
@@ -1403,8 +1398,6 @@ ssl_create_cipher_list(const SSL_METHOD *ssl_method,
1403 */ 1398 */
1404 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305, 1399 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305,
1405 0, 0, 0, CIPHER_ADD, -1, &head, &tail); 1400 0, 0, 0, CIPHER_ADD, -1, &head, &tail);
1406 ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20POLY1305_OLD,
1407 0, 0, 0, CIPHER_ADD, -1, &head, &tail);
1408 ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0, 1401 ssl_cipher_apply_rule(0, 0, 0, SSL_AES, 0, 0, 0,
1409 CIPHER_ADD, -1, &head, &tail); 1402 CIPHER_ADD, -1, &head, &tail);
1410 } 1403 }
@@ -1628,9 +1621,6 @@ SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len)
1628 case SSL_CHACHA20POLY1305: 1621 case SSL_CHACHA20POLY1305:
1629 enc = "ChaCha20-Poly1305"; 1622 enc = "ChaCha20-Poly1305";
1630 break; 1623 break;
1631 case SSL_CHACHA20POLY1305_OLD:
1632 enc = "ChaCha20-Poly1305-Old";
1633 break;
1634 case SSL_eGOST2814789CNT: 1624 case SSL_eGOST2814789CNT:
1635 enc = "GOST-28178-89-CNT"; 1625 enc = "GOST-28178-89-CNT";
1636 break; 1626 break;
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h
index e789a4ae27..17a4a0d4f6 100644
--- a/src/lib/libssl/ssl_locl.h
+++ b/src/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_locl.h,v 1.192 2017/08/27 02:58:04 doug Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.193 2017/08/28 16:37:04 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 *
@@ -233,7 +233,6 @@ __BEGIN_HIDDEN_DECLS
233#define SSL_AES128GCM 0x00000400L 233#define SSL_AES128GCM 0x00000400L
234#define SSL_AES256GCM 0x00000800L 234#define SSL_AES256GCM 0x00000800L
235#define SSL_CHACHA20POLY1305 0x00001000L 235#define SSL_CHACHA20POLY1305 0x00001000L
236#define SSL_CHACHA20POLY1305_OLD 0x00002000L
237 236
238#define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM) 237#define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM)
239#define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256) 238#define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256)
diff --git a/src/lib/libssl/tls1.h b/src/lib/libssl/tls1.h
index d06a1969b1..3cf778020b 100644
--- a/src/lib/libssl/tls1.h
+++ b/src/lib/libssl/tls1.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls1.h,v 1.29 2017/03/25 14:15:11 jsing Exp $ */ 1/* $OpenBSD: tls1.h,v 1.30 2017/08/28 16:37:04 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 *
@@ -534,9 +534,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb)
534#define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 534#define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032
535 535
536/* ChaCha20-Poly1305 based ciphersuites. */ 536/* ChaCha20-Poly1305 based ciphersuites. */
537#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305_OLD 0x0300CC13
538#define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305_OLD 0x0300CC14
539#define TLS1_CK_DHE_RSA_CHACHA20_POLY1305_OLD 0x0300CC15
540#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 0x0300CCA8 537#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 0x0300CCA8
541#define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305 0x0300CCA9 538#define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305 0x0300CCA9
542#define TLS1_CK_DHE_RSA_CHACHA20_POLY1305 0x0300CCAA 539#define TLS1_CK_DHE_RSA_CHACHA20_POLY1305 0x0300CCAA
@@ -701,9 +698,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb)
701#define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" 698#define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384"
702 699
703/* ChaCha20-Poly1305 based ciphersuites. */ 700/* ChaCha20-Poly1305 based ciphersuites. */
704#define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_OLD "ECDHE-RSA-CHACHA20-POLY1305-OLD"
705#define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_OLD "ECDHE-ECDSA-CHACHA20-POLY1305-OLD"
706#define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305_OLD "DHE-RSA-CHACHA20-POLY1305-OLD"
707#define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" 701#define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305"
708#define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" 702#define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305"
709#define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" 703#define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305"