From df60ae0e5f346c21f7bcdd53bc6116772cf843b3 Mon Sep 17 00:00:00 2001 From: beck Date: Sat, 8 Jul 2023 14:27:14 +0000 Subject: [PATCH] Hide symbols in cmac ok tb@ --- lib/libcrypto/Symbols.namespace | 9 +++++++ lib/libcrypto/cmac/cmac.c | 11 ++++++++- lib/libcrypto/hidden/openssl/cmac.h | 38 +++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 lib/libcrypto/hidden/openssl/cmac.h diff --git a/lib/libcrypto/Symbols.namespace b/lib/libcrypto/Symbols.namespace index 63f9e7c6f01..3dc0c339210 100644 --- a/lib/libcrypto/Symbols.namespace +++ b/lib/libcrypto/Symbols.namespace @@ -2557,3 +2557,12 @@ _libre_OBJ_find_sigid_by_algs _libre_OBJ_add_sigid _libre_OBJ_sigid_free _libre_ERR_load_OBJ_strings +_libre_CMAC_CTX_new +_libre_CMAC_CTX_cleanup +_libre_CMAC_CTX_free +_libre_CMAC_CTX_get0_cipher_ctx +_libre_CMAC_CTX_copy +_libre_CMAC_Init +_libre_CMAC_Update +_libre_CMAC_Final +_libre_CMAC_resume diff --git a/lib/libcrypto/cmac/cmac.c b/lib/libcrypto/cmac/cmac.c index 7135f5306ee..9c05a98e155 100644 --- a/lib/libcrypto/cmac/cmac.c +++ b/lib/libcrypto/cmac/cmac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmac.c,v 1.13 2022/12/26 07:18:51 jmc Exp $ */ +/* $OpenBSD: cmac.c,v 1.14 2023/07/08 14:27:14 beck Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project. */ @@ -104,6 +104,7 @@ CMAC_CTX_new(void) ctx->nlast_block = -1; return ctx; } +LCRYPTO_ALIAS(CMAC_CTX_new); void CMAC_CTX_cleanup(CMAC_CTX *ctx) @@ -115,12 +116,14 @@ CMAC_CTX_cleanup(CMAC_CTX *ctx) explicit_bzero(ctx->last_block, EVP_MAX_BLOCK_LENGTH); ctx->nlast_block = -1; } +LCRYPTO_ALIAS(CMAC_CTX_cleanup); EVP_CIPHER_CTX * CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx) { return &ctx->cctx; } +LCRYPTO_ALIAS(CMAC_CTX_get0_cipher_ctx); void CMAC_CTX_free(CMAC_CTX *ctx) @@ -131,6 +134,7 @@ CMAC_CTX_free(CMAC_CTX *ctx) CMAC_CTX_cleanup(ctx); free(ctx); } +LCRYPTO_ALIAS(CMAC_CTX_free); int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in) @@ -149,6 +153,7 @@ CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in) out->nlast_block = in->nlast_block; return 1; } +LCRYPTO_ALIAS(CMAC_CTX_copy); int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, @@ -195,6 +200,7 @@ CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, } return 1; } +LCRYPTO_ALIAS(CMAC_Init); int CMAC_Update(CMAC_CTX *ctx, const void *in, size_t dlen) @@ -237,6 +243,7 @@ CMAC_Update(CMAC_CTX *ctx, const void *in, size_t dlen) ctx->nlast_block = dlen; return 1; } +LCRYPTO_ALIAS(CMAC_Update); int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen) @@ -267,6 +274,7 @@ CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen) } return 1; } +LCRYPTO_ALIAS(CMAC_Final); int CMAC_resume(CMAC_CTX *ctx) @@ -281,3 +289,4 @@ CMAC_resume(CMAC_CTX *ctx) */ return EVP_EncryptInit_ex(&ctx->cctx, NULL, NULL, NULL, ctx->tbl); } +LCRYPTO_ALIAS(CMAC_resume); diff --git a/lib/libcrypto/hidden/openssl/cmac.h b/lib/libcrypto/hidden/openssl/cmac.h new file mode 100644 index 00000000000..cefdb4f6e5b --- /dev/null +++ b/lib/libcrypto/hidden/openssl/cmac.h @@ -0,0 +1,38 @@ +/* $OpenBSD: cmac.h,v 1.1 2023/07/08 14:27:14 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_CMAC_H +#define _LIBCRYPTO_CMAC_H + +#ifndef _MSC_VER +#include_next +#else +#include "../include/openssl/cmac.h" +#endif +#include "crypto_namespace.h" + +LCRYPTO_USED(CMAC_CTX_new); +LCRYPTO_USED(CMAC_CTX_cleanup); +LCRYPTO_USED(CMAC_CTX_free); +LCRYPTO_USED(CMAC_CTX_get0_cipher_ctx); +LCRYPTO_USED(CMAC_CTX_copy); +LCRYPTO_USED(CMAC_Init); +LCRYPTO_USED(CMAC_Update); +LCRYPTO_USED(CMAC_Final); +LCRYPTO_USED(CMAC_resume); + +#endif /* _LIBCRYPTO_CMAC_H */ -- 2.20.1