summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2023-07-08 14:27:14 +0000
committerbeck <>2023-07-08 14:27:14 +0000
commitd916b9cc17bb2d4b961581db313185bdc3848a55 (patch)
tree919e44b1086b21b3164a5c04f52c853470236e44 /src
parent58b8e86504ee990d53dee75f82e5650298fb8fae (diff)
downloadopenbsd-d916b9cc17bb2d4b961581db313185bdc3848a55.tar.gz
openbsd-d916b9cc17bb2d4b961581db313185bdc3848a55.tar.bz2
openbsd-d916b9cc17bb2d4b961581db313185bdc3848a55.zip
Hide symbols in cmac
ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.namespace9
-rw-r--r--src/lib/libcrypto/cmac/cmac.c11
-rw-r--r--src/lib/libcrypto/hidden/openssl/cmac.h38
3 files changed, 57 insertions, 1 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 63f9e7c6f0..3dc0c33921 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2557,3 +2557,12 @@ _libre_OBJ_find_sigid_by_algs
2557_libre_OBJ_add_sigid 2557_libre_OBJ_add_sigid
2558_libre_OBJ_sigid_free 2558_libre_OBJ_sigid_free
2559_libre_ERR_load_OBJ_strings 2559_libre_ERR_load_OBJ_strings
2560_libre_CMAC_CTX_new
2561_libre_CMAC_CTX_cleanup
2562_libre_CMAC_CTX_free
2563_libre_CMAC_CTX_get0_cipher_ctx
2564_libre_CMAC_CTX_copy
2565_libre_CMAC_Init
2566_libre_CMAC_Update
2567_libre_CMAC_Final
2568_libre_CMAC_resume
diff --git a/src/lib/libcrypto/cmac/cmac.c b/src/lib/libcrypto/cmac/cmac.c
index 7135f5306e..9c05a98e15 100644
--- a/src/lib/libcrypto/cmac/cmac.c
+++ b/src/lib/libcrypto/cmac/cmac.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cmac.c,v 1.13 2022/12/26 07:18:51 jmc Exp $ */ 1/* $OpenBSD: cmac.c,v 1.14 2023/07/08 14:27:14 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -104,6 +104,7 @@ CMAC_CTX_new(void)
104 ctx->nlast_block = -1; 104 ctx->nlast_block = -1;
105 return ctx; 105 return ctx;
106} 106}
107LCRYPTO_ALIAS(CMAC_CTX_new);
107 108
108void 109void
109CMAC_CTX_cleanup(CMAC_CTX *ctx) 110CMAC_CTX_cleanup(CMAC_CTX *ctx)
@@ -115,12 +116,14 @@ CMAC_CTX_cleanup(CMAC_CTX *ctx)
115 explicit_bzero(ctx->last_block, EVP_MAX_BLOCK_LENGTH); 116 explicit_bzero(ctx->last_block, EVP_MAX_BLOCK_LENGTH);
116 ctx->nlast_block = -1; 117 ctx->nlast_block = -1;
117} 118}
119LCRYPTO_ALIAS(CMAC_CTX_cleanup);
118 120
119EVP_CIPHER_CTX * 121EVP_CIPHER_CTX *
120CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx) 122CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx)
121{ 123{
122 return &ctx->cctx; 124 return &ctx->cctx;
123} 125}
126LCRYPTO_ALIAS(CMAC_CTX_get0_cipher_ctx);
124 127
125void 128void
126CMAC_CTX_free(CMAC_CTX *ctx) 129CMAC_CTX_free(CMAC_CTX *ctx)
@@ -131,6 +134,7 @@ CMAC_CTX_free(CMAC_CTX *ctx)
131 CMAC_CTX_cleanup(ctx); 134 CMAC_CTX_cleanup(ctx);
132 free(ctx); 135 free(ctx);
133} 136}
137LCRYPTO_ALIAS(CMAC_CTX_free);
134 138
135int 139int
136CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in) 140CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in)
@@ -149,6 +153,7 @@ CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in)
149 out->nlast_block = in->nlast_block; 153 out->nlast_block = in->nlast_block;
150 return 1; 154 return 1;
151} 155}
156LCRYPTO_ALIAS(CMAC_CTX_copy);
152 157
153int 158int
154CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, 159CMAC_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,
195 } 200 }
196 return 1; 201 return 1;
197} 202}
203LCRYPTO_ALIAS(CMAC_Init);
198 204
199int 205int
200CMAC_Update(CMAC_CTX *ctx, const void *in, size_t dlen) 206CMAC_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)
237 ctx->nlast_block = dlen; 243 ctx->nlast_block = dlen;
238 return 1; 244 return 1;
239} 245}
246LCRYPTO_ALIAS(CMAC_Update);
240 247
241int 248int
242CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen) 249CMAC_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)
267 } 274 }
268 return 1; 275 return 1;
269} 276}
277LCRYPTO_ALIAS(CMAC_Final);
270 278
271int 279int
272CMAC_resume(CMAC_CTX *ctx) 280CMAC_resume(CMAC_CTX *ctx)
@@ -281,3 +289,4 @@ CMAC_resume(CMAC_CTX *ctx)
281 */ 289 */
282 return EVP_EncryptInit_ex(&ctx->cctx, NULL, NULL, NULL, ctx->tbl); 290 return EVP_EncryptInit_ex(&ctx->cctx, NULL, NULL, NULL, ctx->tbl);
283} 291}
292LCRYPTO_ALIAS(CMAC_resume);
diff --git a/src/lib/libcrypto/hidden/openssl/cmac.h b/src/lib/libcrypto/hidden/openssl/cmac.h
new file mode 100644
index 0000000000..cefdb4f6e5
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/cmac.h
@@ -0,0 +1,38 @@
1/* $OpenBSD: cmac.h,v 1.1 2023/07/08 14:27:14 beck Exp $ */
2/*
3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_CMAC_H
19#define _LIBCRYPTO_CMAC_H
20
21#ifndef _MSC_VER
22#include_next <openssl/cmac.h>
23#else
24#include "../include/openssl/cmac.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(CMAC_CTX_new);
29LCRYPTO_USED(CMAC_CTX_cleanup);
30LCRYPTO_USED(CMAC_CTX_free);
31LCRYPTO_USED(CMAC_CTX_get0_cipher_ctx);
32LCRYPTO_USED(CMAC_CTX_copy);
33LCRYPTO_USED(CMAC_Init);
34LCRYPTO_USED(CMAC_Update);
35LCRYPTO_USED(CMAC_Final);
36LCRYPTO_USED(CMAC_resume);
37
38#endif /* _LIBCRYPTO_CMAC_H */