summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-09-03 17:45:24 +0000
committerjsing <>2018-09-03 17:45:24 +0000
commiteca2420af5d63ef1e9423a7fddf8183743b93cf5 (patch)
tree0893a63fb7aeaa61195a7adc22f84a46b3b2d14e
parent209597a55238d18f26193baa01019c0ccd316df1 (diff)
downloadopenbsd-eca2420af5d63ef1e9423a7fddf8183743b93cf5.tar.gz
openbsd-eca2420af5d63ef1e9423a7fddf8183743b93cf5.tar.bz2
openbsd-eca2420af5d63ef1e9423a7fddf8183743b93cf5.zip
Stop handling AES-GCM via ssl_cipher_get_evp().
All of the AES-GCM ciphersuites use the EVP_AEAD interface, so there is no need to support them via EVP_CIPHER. ok inoguchi@ tb@
-rw-r--r--src/lib/libssl/ssl_ciph.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c
index c39ac302bd..6998645691 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.100 2018/09/03 17:41:13 jsing Exp $ */ 1/* $OpenBSD: ssl_ciph.c,v 1.101 2018/09/03 17:45:24 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 *
@@ -158,12 +158,10 @@
158#define SSL_ENC_CAMELLIA128_IDX 5 158#define SSL_ENC_CAMELLIA128_IDX 5
159#define SSL_ENC_CAMELLIA256_IDX 6 159#define SSL_ENC_CAMELLIA256_IDX 6
160#define SSL_ENC_GOST89_IDX 7 160#define SSL_ENC_GOST89_IDX 7
161#define SSL_ENC_AES128GCM_IDX 8 161#define SSL_ENC_NUM_IDX 8
162#define SSL_ENC_AES256GCM_IDX 9
163#define SSL_ENC_NUM_IDX 10
164 162
165static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX] = { 163static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX] = {
166 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL 164 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
167}; 165};
168 166
169#define SSL_MD_MD5_IDX 0 167#define SSL_MD_MD5_IDX 0
@@ -465,11 +463,6 @@ ssl_load_ciphers(void)
465 ssl_cipher_methods[SSL_ENC_GOST89_IDX] = 463 ssl_cipher_methods[SSL_ENC_GOST89_IDX] =
466 EVP_get_cipherbyname(SN_gost89_cnt); 464 EVP_get_cipherbyname(SN_gost89_cnt);
467 465
468 ssl_cipher_methods[SSL_ENC_AES128GCM_IDX] =
469 EVP_get_cipherbyname(SN_aes_128_gcm);
470 ssl_cipher_methods[SSL_ENC_AES256GCM_IDX] =
471 EVP_get_cipherbyname(SN_aes_256_gcm);
472
473 ssl_digest_methods[SSL_MD_MD5_IDX] = 466 ssl_digest_methods[SSL_MD_MD5_IDX] =
474 EVP_get_digestbyname(SN_md5); 467 EVP_get_digestbyname(SN_md5);
475 ssl_mac_secret_size[SSL_MD_MD5_IDX] = 468 ssl_mac_secret_size[SSL_MD_MD5_IDX] =
@@ -553,12 +546,6 @@ ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
553 case SSL_eGOST2814789CNT: 546 case SSL_eGOST2814789CNT:
554 i = SSL_ENC_GOST89_IDX; 547 i = SSL_ENC_GOST89_IDX;
555 break; 548 break;
556 case SSL_AES128GCM:
557 i = SSL_ENC_AES128GCM_IDX;
558 break;
559 case SSL_AES256GCM:
560 i = SSL_ENC_AES256GCM_IDX;
561 break;
562 default: 549 default:
563 i = -1; 550 i = -1;
564 break; 551 break;
@@ -659,14 +646,12 @@ ssl_cipher_get_evp_aead(const SSL_SESSION *s, const EVP_AEAD **aead)
659 return 0; 646 return 0;
660 647
661 switch (c->algorithm_enc) { 648 switch (c->algorithm_enc) {
662#ifndef OPENSSL_NO_AES
663 case SSL_AES128GCM: 649 case SSL_AES128GCM:
664 *aead = EVP_aead_aes_128_gcm(); 650 *aead = EVP_aead_aes_128_gcm();
665 return 1; 651 return 1;
666 case SSL_AES256GCM: 652 case SSL_AES256GCM:
667 *aead = EVP_aead_aes_256_gcm(); 653 *aead = EVP_aead_aes_256_gcm();
668 return 1; 654 return 1;
669#endif
670 case SSL_CHACHA20POLY1305: 655 case SSL_CHACHA20POLY1305:
671 *aead = EVP_aead_chacha20_poly1305(); 656 *aead = EVP_aead_chacha20_poly1305();
672 return 1; 657 return 1;
@@ -771,8 +756,6 @@ ssl_cipher_get_disabled(unsigned long *mkey, unsigned long *auth,
771 *enc |= (ssl_cipher_methods[SSL_ENC_RC4_IDX ] == NULL) ? SSL_RC4 : 0; 756 *enc |= (ssl_cipher_methods[SSL_ENC_RC4_IDX ] == NULL) ? SSL_RC4 : 0;
772 *enc |= (ssl_cipher_methods[SSL_ENC_AES128_IDX] == NULL) ? SSL_AES128 : 0; 757 *enc |= (ssl_cipher_methods[SSL_ENC_AES128_IDX] == NULL) ? SSL_AES128 : 0;
773 *enc |= (ssl_cipher_methods[SSL_ENC_AES256_IDX] == NULL) ? SSL_AES256 : 0; 758 *enc |= (ssl_cipher_methods[SSL_ENC_AES256_IDX] == NULL) ? SSL_AES256 : 0;
774 *enc |= (ssl_cipher_methods[SSL_ENC_AES128GCM_IDX] == NULL) ? SSL_AES128GCM : 0;
775 *enc |= (ssl_cipher_methods[SSL_ENC_AES256GCM_IDX] == NULL) ? SSL_AES256GCM : 0;
776 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] == NULL) ? SSL_CAMELLIA128 : 0; 759 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] == NULL) ? SSL_CAMELLIA128 : 0;
777 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX] == NULL) ? SSL_CAMELLIA256 : 0; 760 *enc |= (ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX] == NULL) ? SSL_CAMELLIA256 : 0;
778 *enc |= (ssl_cipher_methods[SSL_ENC_GOST89_IDX] == NULL) ? SSL_eGOST2814789CNT : 0; 761 *enc |= (ssl_cipher_methods[SSL_ENC_GOST89_IDX] == NULL) ? SSL_eGOST2814789CNT : 0;