summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_ciph.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_ciph.c')
-rw-r--r--src/lib/libssl/ssl_ciph.c30
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
722int
723ssl_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