diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/ssl_ciph.c | 26 | ||||
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 6 |
2 files changed, 6 insertions, 26 deletions
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c index 9808c7c37f..3e991fa577 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.93 2017/02/07 02:08:38 beck Exp $ */ | 1 | /* $OpenBSD: ssl_ciph.c,v 1.94 2017/02/21 15:28:27 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 | * |
@@ -176,29 +176,27 @@ static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX] = { | |||
176 | #define SSL_MD_SHA256_IDX 4 | 176 | #define SSL_MD_SHA256_IDX 4 |
177 | #define SSL_MD_SHA384_IDX 5 | 177 | #define SSL_MD_SHA384_IDX 5 |
178 | #define SSL_MD_STREEBOG256_IDX 6 | 178 | #define SSL_MD_STREEBOG256_IDX 6 |
179 | #define SSL_MD_STREEBOG512_IDX 7 | ||
180 | /*Constant SSL_MAX_DIGEST equal to size of digests array should be | 179 | /*Constant SSL_MAX_DIGEST equal to size of digests array should be |
181 | * defined in the | 180 | * defined in the |
182 | * ssl_locl.h */ | 181 | * ssl_locl.h */ |
183 | #define SSL_MD_NUM_IDX SSL_MAX_DIGEST | 182 | #define SSL_MD_NUM_IDX SSL_MAX_DIGEST |
184 | static const EVP_MD *ssl_digest_methods[SSL_MD_NUM_IDX] = { | 183 | static const EVP_MD *ssl_digest_methods[SSL_MD_NUM_IDX] = { |
185 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL | 184 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
186 | }; | 185 | }; |
187 | 186 | ||
188 | static int ssl_mac_pkey_id[SSL_MD_NUM_IDX] = { | 187 | static int ssl_mac_pkey_id[SSL_MD_NUM_IDX] = { |
189 | EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_GOSTIMIT, | 188 | EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_GOSTIMIT, |
190 | EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, | 189 | EVP_PKEY_HMAC, EVP_PKEY_HMAC, EVP_PKEY_HMAC, |
191 | }; | 190 | }; |
192 | 191 | ||
193 | static int ssl_mac_secret_size[SSL_MD_NUM_IDX] = { | 192 | static int ssl_mac_secret_size[SSL_MD_NUM_IDX] = { |
194 | 0, 0, 0, 0, 0, 0, 0, 0 | 193 | 0, 0, 0, 0, 0, 0, 0, |
195 | }; | 194 | }; |
196 | 195 | ||
197 | static int ssl_handshake_digest_flag[SSL_MD_NUM_IDX] = { | 196 | static int ssl_handshake_digest_flag[SSL_MD_NUM_IDX] = { |
198 | SSL_HANDSHAKE_MAC_MD5, SSL_HANDSHAKE_MAC_SHA, | 197 | SSL_HANDSHAKE_MAC_MD5, SSL_HANDSHAKE_MAC_SHA, |
199 | SSL_HANDSHAKE_MAC_GOST94, 0, SSL_HANDSHAKE_MAC_SHA256, | 198 | SSL_HANDSHAKE_MAC_GOST94, 0, SSL_HANDSHAKE_MAC_SHA256, |
200 | SSL_HANDSHAKE_MAC_SHA384, SSL_HANDSHAKE_MAC_STREEBOG256, | 199 | SSL_HANDSHAKE_MAC_SHA384, SSL_HANDSHAKE_MAC_STREEBOG256, |
201 | SSL_HANDSHAKE_MAC_STREEBOG512 | ||
202 | }; | 200 | }; |
203 | 201 | ||
204 | #define CIPHER_ADD 1 | 202 | #define CIPHER_ADD 1 |
@@ -436,10 +434,6 @@ static const SSL_CIPHER cipher_aliases[] = { | |||
436 | .name = SSL_TXT_STREEBOG256, | 434 | .name = SSL_TXT_STREEBOG256, |
437 | .algorithm_mac = SSL_STREEBOG256, | 435 | .algorithm_mac = SSL_STREEBOG256, |
438 | }, | 436 | }, |
439 | { | ||
440 | .name = SSL_TXT_STREEBOG512, | ||
441 | .algorithm_mac = SSL_STREEBOG512, | ||
442 | }, | ||
443 | 437 | ||
444 | /* protocol version aliases */ | 438 | /* protocol version aliases */ |
445 | { | 439 | { |
@@ -531,10 +525,6 @@ ssl_load_ciphers(void) | |||
531 | EVP_get_digestbyname(SN_id_tc26_gost3411_2012_256); | 525 | EVP_get_digestbyname(SN_id_tc26_gost3411_2012_256); |
532 | ssl_mac_secret_size[SSL_MD_STREEBOG256_IDX] = | 526 | ssl_mac_secret_size[SSL_MD_STREEBOG256_IDX] = |
533 | EVP_MD_size(ssl_digest_methods[SSL_MD_STREEBOG256_IDX]); | 527 | EVP_MD_size(ssl_digest_methods[SSL_MD_STREEBOG256_IDX]); |
534 | ssl_digest_methods[SSL_MD_STREEBOG512_IDX] = | ||
535 | EVP_get_digestbyname(SN_id_tc26_gost3411_2012_512); | ||
536 | ssl_mac_secret_size[SSL_MD_STREEBOG512_IDX] = | ||
537 | EVP_MD_size(ssl_digest_methods[SSL_MD_STREEBOG512_IDX]); | ||
538 | } | 528 | } |
539 | 529 | ||
540 | int | 530 | int |
@@ -631,9 +621,6 @@ ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, | |||
631 | case SSL_STREEBOG256: | 621 | case SSL_STREEBOG256: |
632 | i = SSL_MD_STREEBOG256_IDX; | 622 | i = SSL_MD_STREEBOG256_IDX; |
633 | break; | 623 | break; |
634 | case SSL_STREEBOG512: | ||
635 | i = SSL_MD_STREEBOG512_IDX; | ||
636 | break; | ||
637 | default: | 624 | default: |
638 | i = -1; | 625 | i = -1; |
639 | break; | 626 | break; |
@@ -814,8 +801,6 @@ ssl_cipher_get_disabled(unsigned long *mkey, unsigned long *auth, | |||
814 | *mac |= (ssl_digest_methods[SSL_MD_GOST94_IDX] == NULL) ? SSL_GOST94 : 0; | 801 | *mac |= (ssl_digest_methods[SSL_MD_GOST94_IDX] == NULL) ? SSL_GOST94 : 0; |
815 | *mac |= (ssl_digest_methods[SSL_MD_GOST89MAC_IDX] == NULL) ? SSL_GOST89MAC : 0; | 802 | *mac |= (ssl_digest_methods[SSL_MD_GOST89MAC_IDX] == NULL) ? SSL_GOST89MAC : 0; |
816 | *mac |= (ssl_digest_methods[SSL_MD_STREEBOG256_IDX] == NULL) ? SSL_STREEBOG256 : 0; | 803 | *mac |= (ssl_digest_methods[SSL_MD_STREEBOG256_IDX] == NULL) ? SSL_STREEBOG256 : 0; |
817 | *mac |= (ssl_digest_methods[SSL_MD_STREEBOG512_IDX] == NULL) ? SSL_STREEBOG512 : 0; | ||
818 | |||
819 | } | 804 | } |
820 | 805 | ||
821 | static void | 806 | static void |
@@ -1671,9 +1656,6 @@ SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len) | |||
1671 | case SSL_STREEBOG256: | 1656 | case SSL_STREEBOG256: |
1672 | mac = "STREEBOG256"; | 1657 | mac = "STREEBOG256"; |
1673 | break; | 1658 | break; |
1674 | case SSL_STREEBOG512: | ||
1675 | mac = "STREEBOG512"; | ||
1676 | break; | ||
1677 | default: | 1659 | default: |
1678 | mac = "unknown"; | 1660 | mac = "unknown"; |
1679 | break; | 1661 | break; |
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index a64edd2c18..62d9d0314e 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.173 2017/02/07 02:08:38 beck Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.174 2017/02/21 15:28:27 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 | * |
@@ -250,7 +250,6 @@ __BEGIN_HIDDEN_DECLS | |||
250 | /* Not a real MAC, just an indication it is part of cipher */ | 250 | /* Not a real MAC, just an indication it is part of cipher */ |
251 | #define SSL_AEAD 0x00000040L | 251 | #define SSL_AEAD 0x00000040L |
252 | #define SSL_STREEBOG256 0x00000080L | 252 | #define SSL_STREEBOG256 0x00000080L |
253 | #define SSL_STREEBOG512 0x00000100L | ||
254 | 253 | ||
255 | /* Bits for algorithm_ssl (protocol version) */ | 254 | /* Bits for algorithm_ssl (protocol version) */ |
256 | #define SSL_SSLV3 0x00000002L | 255 | #define SSL_SSLV3 0x00000002L |
@@ -266,12 +265,11 @@ __BEGIN_HIDDEN_DECLS | |||
266 | #define SSL_HANDSHAKE_MAC_SHA256 0x80 | 265 | #define SSL_HANDSHAKE_MAC_SHA256 0x80 |
267 | #define SSL_HANDSHAKE_MAC_SHA384 0x100 | 266 | #define SSL_HANDSHAKE_MAC_SHA384 0x100 |
268 | #define SSL_HANDSHAKE_MAC_STREEBOG256 0x200 | 267 | #define SSL_HANDSHAKE_MAC_STREEBOG256 0x200 |
269 | #define SSL_HANDSHAKE_MAC_STREEBOG512 0x400 | ||
270 | #define SSL_HANDSHAKE_MAC_DEFAULT (SSL_HANDSHAKE_MAC_MD5 | SSL_HANDSHAKE_MAC_SHA) | 268 | #define SSL_HANDSHAKE_MAC_DEFAULT (SSL_HANDSHAKE_MAC_MD5 | SSL_HANDSHAKE_MAC_SHA) |
271 | 269 | ||
272 | /* When adding new digest in the ssl_ciph.c and increment SSM_MD_NUM_IDX | 270 | /* When adding new digest in the ssl_ciph.c and increment SSM_MD_NUM_IDX |
273 | * make sure to update this constant too */ | 271 | * make sure to update this constant too */ |
274 | #define SSL_MAX_DIGEST 8 | 272 | #define SSL_MAX_DIGEST 7 |
275 | 273 | ||
276 | #define SSL3_CK_ID 0x03000000 | 274 | #define SSL3_CK_ID 0x03000000 |
277 | #define SSL3_CK_VALUE_MASK 0x0000ffff | 275 | #define SSL3_CK_VALUE_MASK 0x0000ffff |