From 4e0b913a527ce81e8e12203a6caf6111e1d47f4c Mon Sep 17 00:00:00 2001 From: tb Date: Sat, 2 Mar 2024 13:39:28 +0000 Subject: [PATCH] Remove some GOST relics --- lib/libcrypto/Makefile | 3 +- lib/libcrypto/err/err_all.c | 5 +- lib/libcrypto/evp/m_streebog.c | 133 ---------------------------- lib/libcrypto/hidden/openssl/gost.h | 71 --------------- 4 files changed, 2 insertions(+), 210 deletions(-) delete mode 100644 lib/libcrypto/evp/m_streebog.c delete mode 100644 lib/libcrypto/hidden/openssl/gost.h diff --git a/lib/libcrypto/Makefile b/lib/libcrypto/Makefile index 5ef55c6b6cf..06bb1ec6bdb 100644 --- a/lib/libcrypto/Makefile +++ b/lib/libcrypto/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.173 2024/03/02 11:17:27 tb Exp $ +# $OpenBSD: Makefile,v 1.174 2024/03/02 13:39:28 tb Exp $ LIB= crypto LIBREBUILD=y @@ -381,7 +381,6 @@ SRCS+= m_sha1.c SRCS+= m_sha3.c SRCS+= m_sigver.c SRCS+= m_sm3.c -SRCS+= m_streebog.c SRCS+= m_wp.c SRCS+= p_legacy.c SRCS+= p_lib.c diff --git a/lib/libcrypto/err/err_all.c b/lib/libcrypto/err/err_all.c index 4829e46a1a2..56276abb0d9 100644 --- a/lib/libcrypto/err/err_all.c +++ b/lib/libcrypto/err/err_all.c @@ -1,4 +1,4 @@ -/* $OpenBSD: err_all.c,v 1.33 2023/11/19 15:46:09 tb Exp $ */ +/* $OpenBSD: err_all.c,v 1.34 2024/03/02 13:39:28 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -94,9 +94,6 @@ #ifndef OPENSSL_NO_RSA #include #endif -#ifndef OPENSSL_NO_GOST -#include -#endif void ERR_load_ERR_strings_internal(void); diff --git a/lib/libcrypto/evp/m_streebog.c b/lib/libcrypto/evp/m_streebog.c deleted file mode 100644 index 48fa65864e5..00000000000 --- a/lib/libcrypto/evp/m_streebog.c +++ /dev/null @@ -1,133 +0,0 @@ -/* $OpenBSD: m_streebog.c,v 1.7 2023/07/07 19:37:54 beck Exp $ */ -/* - * Copyright (c) 2014 Dmitry Eremin-Solenikov - * Copyright (c) 2005-2006 Cryptocom LTD - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - */ - -#include - -#ifndef OPENSSL_NO_GOST - -#include -#include -#include - -#include "evp_local.h" - -static int -streebog_init256(EVP_MD_CTX *ctx) -{ - return STREEBOG256_Init(ctx->md_data); -} - -static int -streebog_update256(EVP_MD_CTX *ctx, const void *data, size_t count) -{ - return STREEBOG256_Update(ctx->md_data, data, count); -} - -static int -streebog_final256(EVP_MD_CTX *ctx, unsigned char *md) -{ - return STREEBOG256_Final(md, ctx->md_data); -} - -static int -streebog_init512(EVP_MD_CTX *ctx) -{ - return STREEBOG512_Init(ctx->md_data); -} - -static int -streebog_update512(EVP_MD_CTX *ctx, const void *data, size_t count) -{ - return STREEBOG512_Update(ctx->md_data, data, count); -} - -static int -streebog_final512(EVP_MD_CTX *ctx, unsigned char *md) -{ - return STREEBOG512_Final(md, ctx->md_data); -} - -static const EVP_MD streebog256_md = { - .type = NID_id_tc26_gost3411_2012_256, - .pkey_type = NID_undef, - .md_size = STREEBOG256_LENGTH, - .flags = 0, - .init = streebog_init256, - .update = streebog_update256, - .final = streebog_final256, - .block_size = STREEBOG_CBLOCK, - .ctx_size = sizeof(EVP_MD *) + sizeof(STREEBOG_CTX), -}; - -static const EVP_MD streebog512_md = { - .type = NID_id_tc26_gost3411_2012_512, - .pkey_type = NID_undef, - .md_size = STREEBOG512_LENGTH, - .flags = 0, - .init = streebog_init512, - .update = streebog_update512, - .final = streebog_final512, - .block_size = STREEBOG_CBLOCK, - .ctx_size = sizeof(EVP_MD *) + sizeof(STREEBOG_CTX), -}; - -const EVP_MD * -EVP_streebog256(void) -{ - return (&streebog256_md); -} - -const EVP_MD * -EVP_streebog512(void) -{ - return (&streebog512_md); -} -#endif diff --git a/lib/libcrypto/hidden/openssl/gost.h b/lib/libcrypto/hidden/openssl/gost.h deleted file mode 100644 index e30e6611af5..00000000000 --- a/lib/libcrypto/hidden/openssl/gost.h +++ /dev/null @@ -1,71 +0,0 @@ -/* $OpenBSD: gost.h,v 1.1 2023/07/08 14:30:44 beck Exp $ */ -/* - * Copyright (c) 2023 Bob Beck - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef _LIBCRYPTO_GOST_H -#define _LIBCRYPTO_GOST_H - -#ifndef _MSC_VER -#include_next -#else -#include "../include/openssl/gost.h" -#endif -#include "crypto_namespace.h" - -LCRYPTO_USED(Gost2814789_set_sbox); -LCRYPTO_USED(Gost2814789_set_key); -LCRYPTO_USED(Gost2814789_ecb_encrypt); -LCRYPTO_USED(Gost2814789_cfb64_encrypt); -LCRYPTO_USED(Gost2814789_cnt_encrypt); -LCRYPTO_USED(GOST_CIPHER_PARAMS_new); -LCRYPTO_USED(GOST_CIPHER_PARAMS_free); -LCRYPTO_USED(d2i_GOST_CIPHER_PARAMS); -LCRYPTO_USED(i2d_GOST_CIPHER_PARAMS); -LCRYPTO_USED(GOST2814789IMIT_Init); -LCRYPTO_USED(GOST2814789IMIT_Update); -LCRYPTO_USED(GOST2814789IMIT_Final); -LCRYPTO_USED(GOST2814789IMIT_Transform); -LCRYPTO_USED(GOST2814789IMIT); -LCRYPTO_USED(GOSTR341194_Init); -LCRYPTO_USED(GOSTR341194_Update); -LCRYPTO_USED(GOSTR341194_Final); -LCRYPTO_USED(GOSTR341194_Transform); -LCRYPTO_USED(GOSTR341194); -LCRYPTO_USED(STREEBOG256_Init); -LCRYPTO_USED(STREEBOG256_Update); -LCRYPTO_USED(STREEBOG256_Final); -LCRYPTO_USED(STREEBOG256); -LCRYPTO_USED(STREEBOG512_Init); -LCRYPTO_USED(STREEBOG512_Update); -LCRYPTO_USED(STREEBOG512_Final); -LCRYPTO_USED(STREEBOG512_Transform); -LCRYPTO_USED(STREEBOG512); -LCRYPTO_USED(GOST_KEY_new); -LCRYPTO_USED(GOST_KEY_free); -LCRYPTO_USED(GOST_KEY_check_key); -LCRYPTO_USED(GOST_KEY_set_public_key_affine_coordinates); -LCRYPTO_USED(GOST_KEY_get0_group); -LCRYPTO_USED(GOST_KEY_set_group); -LCRYPTO_USED(GOST_KEY_get_digest); -LCRYPTO_USED(GOST_KEY_set_digest); -LCRYPTO_USED(GOST_KEY_get0_private_key); -LCRYPTO_USED(GOST_KEY_set_private_key); -LCRYPTO_USED(GOST_KEY_get0_public_key); -LCRYPTO_USED(GOST_KEY_set_public_key); -LCRYPTO_USED(GOST_KEY_get_size); -LCRYPTO_USED(ERR_load_GOST_strings); - -#endif /* _LIBCRYPTO_GOST_H */ -- 2.20.1