Hide symbols in cmac
authorbeck <beck@openbsd.org>
Sat, 8 Jul 2023 14:27:14 +0000 (14:27 +0000)
committerbeck <beck@openbsd.org>
Sat, 8 Jul 2023 14:27:14 +0000 (14:27 +0000)
ok tb@

lib/libcrypto/Symbols.namespace
lib/libcrypto/cmac/cmac.c
lib/libcrypto/hidden/openssl/cmac.h [new file with mode: 0644]

index 63f9e7c..3dc0c33 100644 (file)
@@ -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
index 7135f53..9c05a98 100644 (file)
@@ -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 (file)
index 0000000..cefdb4f
--- /dev/null
@@ -0,0 +1,38 @@
+/* $OpenBSD: cmac.h,v 1.1 2023/07/08 14:27:14 beck Exp $ */
+/*
+ * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
+ *
+ * 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 <openssl/cmac.h>
+#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 */