diff options
Diffstat (limited to 'src/lib/libssl/ssl_ciph.c')
-rw-r--r-- | src/lib/libssl/ssl_ciph.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c index 3e991fa577..da48765aba 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.94 2017/02/21 15:28:27 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_ciph.c,v 1.95 2017/03/05 14:39:53 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 | * |
@@ -719,6 +719,34 @@ ssl_get_handshake_digest(int idx, long *mask, const EVP_MD **md) | |||
719 | return 1; | 719 | return 1; |
720 | } | 720 | } |
721 | 721 | ||
722 | int | ||
723 | ssl_get_handshake_evp_md(SSL *s, const EVP_MD **md) | ||
724 | { | ||
725 | *md = NULL; | ||
726 | |||
727 | switch (ssl_get_algorithm2(s) & SSL_HANDSHAKE_MAC_MASK) { | ||
728 | case SSL_HANDSHAKE_MAC_DEFAULT: | ||
729 | *md = EVP_md5_sha1(); | ||
730 | return 1; | ||
731 | case SSL_HANDSHAKE_MAC_GOST94: | ||
732 | *md = EVP_gostr341194(); | ||
733 | return 1; | ||
734 | case SSL_HANDSHAKE_MAC_SHA256: | ||
735 | *md = EVP_sha256(); | ||
736 | return 1; | ||
737 | case SSL_HANDSHAKE_MAC_SHA384: | ||
738 | *md = EVP_sha384(); | ||
739 | return 1; | ||
740 | case SSL_HANDSHAKE_MAC_STREEBOG256: | ||
741 | *md = EVP_streebog256(); | ||
742 | return 1; | ||
743 | default: | ||
744 | break; | ||
745 | } | ||
746 | |||
747 | return 0; | ||
748 | } | ||
749 | |||
722 | #define ITEM_SEP(a) \ | 750 | #define ITEM_SEP(a) \ |
723 | (((a) == ':') || ((a) == ' ') || ((a) == ';') || ((a) == ',')) | 751 | (((a) == ':') || ((a) == ' ') || ((a) == ';') || ((a) == ',')) |
724 | 752 | ||