From 12455d6eff265f95b0a7e20595630321799f50a2 Mon Sep 17 00:00:00 2001 From: miod <> Date: Sun, 9 Nov 2014 19:17:13 +0000 Subject: GOST crypto algorithms (well, most of them), ported from the removed GOST engine to regular EVP citizens, contributed by Dmitry Eremin-Solenikov; libcrypto bits only for now. This is a verbatim import of Dmitry's work, and does not compile in this state; the forthcoming commits will address these issues. None of the GOST code is enabled in libcrypto yet, for it still gets compiled with OPENSSL_NO_GOST defined. However, the public header gost.h will be installed. --- src/lib/libcrypto/err/err.c | 3 ++- src/lib/libcrypto/err/err.h | 4 +++- src/lib/libcrypto/err/err_all.c | 8 +++++++- src/lib/libcrypto/err/openssl.ec | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/lib/libcrypto/err') diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c index 75a1d0181e..f06320247c 100644 --- a/src/lib/libcrypto/err/err.c +++ b/src/lib/libcrypto/err/err.c @@ -1,4 +1,4 @@ -/* $OpenBSD: err.c,v 1.40 2014/10/05 15:21:48 deraadt Exp $ */ +/* $OpenBSD: err.c,v 1.41 2014/11/09 19:17:13 miod Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -157,6 +157,7 @@ static ERR_STRING_DATA ERR_str_libraries[] = { {ERR_PACK(ERR_LIB_FIPS,0,0), "FIPS routines"}, {ERR_PACK(ERR_LIB_CMS,0,0), "CMS routines"}, {ERR_PACK(ERR_LIB_HMAC,0,0), "HMAC routines"}, + {ERR_PACK(ERR_LIB_GOST,0,0), "GOST routines"}, {0, NULL}, }; diff --git a/src/lib/libcrypto/err/err.h b/src/lib/libcrypto/err/err.h index ced340ea80..87bb96eec7 100644 --- a/src/lib/libcrypto/err/err.h +++ b/src/lib/libcrypto/err/err.h @@ -1,4 +1,4 @@ -/* $OpenBSD: err.h,v 1.21 2014/07/11 09:25:24 jsing Exp $ */ +/* $OpenBSD: err.h,v 1.22 2014/11/09 19:17:13 miod Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -195,6 +195,7 @@ typedef struct err_state_st { #define ERR_LIB_TS 47 #define ERR_LIB_HMAC 48 #define ERR_LIB_JPAKE 49 +#define ERR_LIB_GOST 50 #define ERR_LIB_USER 128 @@ -231,6 +232,7 @@ typedef struct err_state_st { #define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) #define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) #define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) +#define GOSTerr(f,r) ERR_PUT_error(ERR_LIB_GOST,(f),(r),__FILE__,__LINE__) #define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)<<24L)| \ ((((unsigned long)f)&0xfffL)<<12L)| \ diff --git a/src/lib/libcrypto/err/err_all.c b/src/lib/libcrypto/err/err_all.c index 7362220824..c880f1fbf3 100644 --- a/src/lib/libcrypto/err/err_all.c +++ b/src/lib/libcrypto/err/err_all.c @@ -1,4 +1,4 @@ -/* $OpenBSD: err_all.c,v 1.18 2014/10/18 17:08:32 jsing Exp $ */ +/* $OpenBSD: err_all.c,v 1.19 2014/11/09 19:17:13 miod Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -105,6 +105,9 @@ #ifndef OPENSSL_NO_RSA #include #endif +#ifndef OPENSSL_NO_GOST +#include +#endif void ERR_load_crypto_strings(void) @@ -157,5 +160,8 @@ ERR_load_crypto_strings(void) #ifndef OPENSSL_NO_CMS ERR_load_CMS_strings(); #endif +#ifndef OPENSSL_NO_GOST + ERR_load_GOST_strings(); +#endif #endif } diff --git a/src/lib/libcrypto/err/openssl.ec b/src/lib/libcrypto/err/openssl.ec index c513734e94..dcebbba6c4 100644 --- a/src/lib/libcrypto/err/openssl.ec +++ b/src/lib/libcrypto/err/openssl.ec @@ -34,6 +34,7 @@ L STORE crypto/store/store.h crypto/store/str_err.c L TS crypto/ts/ts.h crypto/ts/ts_err.c L HMAC crypto/hmac/hmac.h crypto/hmac/hmac_err.c L CMS crypto/cms/cms.h crypto/cms/cms_err.c +L GOST crypto/gost/gost.h crypto/gost/gost_err.c # additional header files to be scanned for function names L NONE crypto/x509/x509_vfy.h NONE -- cgit v1.2.3-55-g6feb