summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2023-07-08 08:28:23 +0000
committerbeck <>2023-07-08 08:28:23 +0000
commit62076bba7c620e3ba9d5e1eb92934c369465834b (patch)
treea5a939397b6b2256dfb6935b10c9e72d34fbc502 /src
parent8035a603830bfb31d58529c3c42a85a6999ff6cb (diff)
downloadopenbsd-62076bba7c620e3ba9d5e1eb92934c369465834b.tar.gz
openbsd-62076bba7c620e3ba9d5e1eb92934c369465834b.tar.bz2
openbsd-62076bba7c620e3ba9d5e1eb92934c369465834b.zip
Hide symbols in crypto.h
ok jsing@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.namespace50
-rw-r--r--src/lib/libcrypto/cpt_err.c3
-rw-r--r--src/lib/libcrypto/cryptlib.c9
-rw-r--r--src/lib/libcrypto/crypto_init.c4
-rw-r--r--src/lib/libcrypto/crypto_lock.c4
-rw-r--r--src/lib/libcrypto/cversion.c6
-rw-r--r--src/lib/libcrypto/ex_data.c12
-rw-r--r--src/lib/libcrypto/hidden/openssl/crypto.h79
-rw-r--r--src/lib/libcrypto/malloc-wrapper.c18
-rw-r--r--src/lib/libcrypto/mem_dbg.c13
10 files changed, 190 insertions, 8 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 617fc06b13..89c4a06367 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2013,3 +2013,53 @@ _libre_BUF_MEM_free
2013_libre_BUF_MEM_grow 2013_libre_BUF_MEM_grow
2014_libre_BUF_MEM_grow_clean 2014_libre_BUF_MEM_grow_clean
2015_libre_ERR_load_BUF_strings 2015_libre_ERR_load_BUF_strings
2016_libre_OpenSSL_version
2017_libre_OpenSSL_version_num
2018_libre_SSLeay_version
2019_libre_SSLeay
2020_libre_CRYPTO_get_ex_data_implementation
2021_libre_CRYPTO_set_ex_data_implementation
2022_libre_CRYPTO_ex_data_new_class
2023_libre_CRYPTO_get_ex_new_index
2024_libre_CRYPTO_new_ex_data
2025_libre_CRYPTO_dup_ex_data
2026_libre_CRYPTO_free_ex_data
2027_libre_CRYPTO_set_ex_data
2028_libre_CRYPTO_get_ex_data
2029_libre_CRYPTO_cleanup_all_ex_data
2030_libre_CRYPTO_lock
2031_libre_CRYPTO_add_lock
2032_libre_CRYPTO_THREADID_current
2033_libre_CRYPTO_THREADID_cmp
2034_libre_CRYPTO_THREADID_cpy
2035_libre_CRYPTO_THREADID_hash
2036_libre_CRYPTO_set_mem_functions
2037_libre_CRYPTO_set_locked_mem_functions
2038_libre_CRYPTO_set_mem_ex_functions
2039_libre_CRYPTO_set_locked_mem_ex_functions
2040_libre_CRYPTO_set_mem_debug_functions
2041_libre_CRYPTO_get_mem_functions
2042_libre_CRYPTO_get_locked_mem_functions
2043_libre_CRYPTO_get_mem_ex_functions
2044_libre_CRYPTO_get_locked_mem_ex_functions
2045_libre_CRYPTO_get_mem_debug_functions
2046_libre_CRYPTO_realloc_clean
2047_libre_CRYPTO_remalloc
2048_libre_CRYPTO_set_mem_debug_options
2049_libre_CRYPTO_get_mem_debug_options
2050_libre_CRYPTO_push_info_
2051_libre_CRYPTO_pop_info
2052_libre_CRYPTO_remove_all_info
2053_libre_CRYPTO_dbg_malloc
2054_libre_CRYPTO_dbg_realloc
2055_libre_CRYPTO_dbg_free
2056_libre_CRYPTO_dbg_set_options
2057_libre_CRYPTO_dbg_get_options
2058_libre_CRYPTO_mem_leaks_fp
2059_libre_CRYPTO_mem_leaks
2060_libre_CRYPTO_mem_leaks_cb
2061_libre_OpenSSLDie
2062_libre_OPENSSL_cpu_caps
2063_libre_OPENSSL_init_crypto
2064_libre_OPENSSL_cleanup
2065_libre_ERR_load_CRYPTO_strings
diff --git a/src/lib/libcrypto/cpt_err.c b/src/lib/libcrypto/cpt_err.c
index 718c72608e..ff4e5c4bc5 100644
--- a/src/lib/libcrypto/cpt_err.c
+++ b/src/lib/libcrypto/cpt_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cpt_err.c,v 1.14 2022/07/12 14:42:48 kn Exp $ */ 1/* $OpenBSD: cpt_err.c,v 1.15 2023/07/08 08:28:23 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -97,3 +97,4 @@ ERR_load_CRYPTO_strings(void)
97 } 97 }
98#endif 98#endif
99} 99}
100LCRYPTO_ALIAS(ERR_load_CRYPTO_strings);
diff --git a/src/lib/libcrypto/cryptlib.c b/src/lib/libcrypto/cryptlib.c
index 38d31e7ac2..18f40e5448 100644
--- a/src/lib/libcrypto/cryptlib.c
+++ b/src/lib/libcrypto/cryptlib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cryptlib.c,v 1.45 2019/01/26 11:30:32 deraadt Exp $ */ 1/* $OpenBSD: cryptlib.c,v 1.46 2023/07/08 08:28:23 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -281,24 +281,28 @@ CRYPTO_THREADID_current(CRYPTO_THREADID *id)
281 memset(id, 0, sizeof(*id)); 281 memset(id, 0, sizeof(*id));
282 id->val = (unsigned long)pthread_self(); 282 id->val = (unsigned long)pthread_self();
283} 283}
284LCRYPTO_ALIAS(CRYPTO_THREADID_current);
284 285
285int 286int
286CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b) 287CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b)
287{ 288{
288 return memcmp(a, b, sizeof(*a)); 289 return memcmp(a, b, sizeof(*a));
289} 290}
291LCRYPTO_ALIAS(CRYPTO_THREADID_cmp);
290 292
291void 293void
292CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src) 294CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src)
293{ 295{
294 memcpy(dest, src, sizeof(*src)); 296 memcpy(dest, src, sizeof(*src));
295} 297}
298LCRYPTO_ALIAS(CRYPTO_THREADID_cpy);
296 299
297unsigned long 300unsigned long
298CRYPTO_THREADID_hash(const CRYPTO_THREADID *id) 301CRYPTO_THREADID_hash(const CRYPTO_THREADID *id)
299{ 302{
300 return id->val; 303 return id->val;
301} 304}
305LCRYPTO_ALIAS(CRYPTO_THREADID_hash);
302 306
303#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ 307#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
304 defined(__INTEL__) || \ 308 defined(__INTEL__) || \
@@ -311,6 +315,7 @@ OPENSSL_cpu_caps(void)
311{ 315{
312 return OPENSSL_ia32cap_P; 316 return OPENSSL_ia32cap_P;
313} 317}
318LCRYPTO_ALIAS(OPENSSL_cpu_caps);
314 319
315#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) 320#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM)
316#define OPENSSL_CPUID_SETUP 321#define OPENSSL_CPUID_SETUP
@@ -333,6 +338,7 @@ OPENSSL_cpu_caps(void)
333{ 338{
334 return 0; 339 return 0;
335} 340}
341LCRYPTO_ALIAS(OPENSSL_cpu_caps);
336#endif 342#endif
337 343
338#if !defined(OPENSSL_CPUID_SETUP) && !defined(OPENSSL_CPUID_OBJ) 344#if !defined(OPENSSL_CPUID_SETUP) && !defined(OPENSSL_CPUID_OBJ)
@@ -361,6 +367,7 @@ OpenSSLDie(const char *file, int line, const char *assertion)
361 getuid(), getprogname(), file, line, assertion); 367 getuid(), getprogname(), file, line, assertion);
362 _exit(1); 368 _exit(1);
363} 369}
370LCRYPTO_ALIAS(OpenSSLDie);
364 371
365int 372int
366CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len) 373CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
diff --git a/src/lib/libcrypto/crypto_init.c b/src/lib/libcrypto/crypto_init.c
index 361bef41a3..a2c1c786c3 100644
--- a/src/lib/libcrypto/crypto_init.c
+++ b/src/lib/libcrypto/crypto_init.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_init.c,v 1.10 2023/07/02 19:52:01 tb Exp $ */ 1/* $OpenBSD: crypto_init.c,v 1.11 2023/07/08 08:28:23 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -75,6 +75,7 @@ OPENSSL_init_crypto(uint64_t opts, const void *settings)
75 75
76 return 1; 76 return 1;
77} 77}
78LCRYPTO_ALIAS(OPENSSL_init_crypto);
78 79
79void 80void
80OPENSSL_cleanup(void) 81OPENSSL_cleanup(void)
@@ -98,3 +99,4 @@ OPENSSL_cleanup(void)
98 99
99 crypto_init_cleaned_up = 1; 100 crypto_init_cleaned_up = 1;
100} 101}
102LCRYPTO_ALIAS(OPENSSL_cleanup);
diff --git a/src/lib/libcrypto/crypto_lock.c b/src/lib/libcrypto/crypto_lock.c
index 6d9dbab22b..59c3933c7d 100644
--- a/src/lib/libcrypto/crypto_lock.c
+++ b/src/lib/libcrypto/crypto_lock.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_lock.c,v 1.5 2023/06/04 17:28:35 tb Exp $ */ 1/* $OpenBSD: crypto_lock.c,v 1.6 2023/07/08 08:28:23 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Brent Cook <bcook@openbsd.org> 3 * Copyright (c) 2018 Brent Cook <bcook@openbsd.org>
4 * 4 *
@@ -78,6 +78,7 @@ CRYPTO_lock(int mode, int type, const char *file, int line)
78 else if (mode & CRYPTO_UNLOCK) 78 else if (mode & CRYPTO_UNLOCK)
79 (void) pthread_mutex_unlock(&locks[type]); 79 (void) pthread_mutex_unlock(&locks[type]);
80} 80}
81LCRYPTO_ALIAS(CRYPTO_lock);
81 82
82int 83int
83CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, 84CRYPTO_add_lock(int *pointer, int amount, int type, const char *file,
@@ -92,3 +93,4 @@ CRYPTO_add_lock(int *pointer, int amount, int type, const char *file,
92 93
93 return (ret); 94 return (ret);
94} 95}
96LCRYPTO_ALIAS(CRYPTO_add_lock);
diff --git a/src/lib/libcrypto/cversion.c b/src/lib/libcrypto/cversion.c
index 2d4460d10d..acb7b70543 100644
--- a/src/lib/libcrypto/cversion.c
+++ b/src/lib/libcrypto/cversion.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cversion.c,v 1.17 2018/02/17 06:56:12 jsing Exp $ */ 1/* $OpenBSD: cversion.c,v 1.18 2023/07/08 08:28:23 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -78,12 +78,14 @@ SSLeay_version(int t)
78 } 78 }
79 return("not available"); 79 return("not available");
80} 80}
81LCRYPTO_ALIAS(SSLeay_version);
81 82
82unsigned long 83unsigned long
83SSLeay(void) 84SSLeay(void)
84{ 85{
85 return (SSLEAY_VERSION_NUMBER); 86 return (SSLEAY_VERSION_NUMBER);
86} 87}
88LCRYPTO_ALIAS(SSLeay);
87 89
88const char * 90const char *
89OpenSSL_version(int t) 91OpenSSL_version(int t)
@@ -104,9 +106,11 @@ OpenSSL_version(int t)
104 } 106 }
105 return("not available"); 107 return("not available");
106} 108}
109LCRYPTO_ALIAS(OpenSSL_version);
107 110
108unsigned long 111unsigned long
109OpenSSL_version_num(void) 112OpenSSL_version_num(void)
110{ 113{
111 return SSLeay(); 114 return SSLeay();
112} 115}
116LCRYPTO_ALIAS(OpenSSL_version_num);
diff --git a/src/lib/libcrypto/ex_data.c b/src/lib/libcrypto/ex_data.c
index 0a9c59121f..71b2fc397b 100644
--- a/src/lib/libcrypto/ex_data.c
+++ b/src/lib/libcrypto/ex_data.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ex_data.c,v 1.21 2023/06/16 11:20:01 tb Exp $ */ 1/* $OpenBSD: ex_data.c,v 1.22 2023/07/08 08:28:23 beck Exp $ */
2 2
3/* 3/*
4 * Overhaul notes; 4 * Overhaul notes;
@@ -217,6 +217,7 @@ CRYPTO_get_ex_data_implementation(void)
217 IMPL_CHECK 217 IMPL_CHECK
218 return impl; 218 return impl;
219} 219}
220LCRYPTO_ALIAS(CRYPTO_get_ex_data_implementation);
220 221
221int 222int
222CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i) 223CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i)
@@ -230,6 +231,7 @@ CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i)
230 CRYPTO_w_unlock(CRYPTO_LOCK_EX_DATA); 231 CRYPTO_w_unlock(CRYPTO_LOCK_EX_DATA);
231 return toret; 232 return toret;
232} 233}
234LCRYPTO_ALIAS(CRYPTO_set_ex_data_implementation);
233 235
234/****************************************************************************/ 236/****************************************************************************/
235/* Interal (default) implementation of "ex_data" support. API functions are 237/* Interal (default) implementation of "ex_data" support. API functions are
@@ -547,6 +549,7 @@ CRYPTO_ex_data_new_class(void)
547 IMPL_CHECK 549 IMPL_CHECK
548 return EX_IMPL(new_class)(); 550 return EX_IMPL(new_class)();
549} 551}
552LCRYPTO_ALIAS(CRYPTO_ex_data_new_class);
550 553
551/* Release all "ex_data" state to prevent memory leaks. This can't be made 554/* Release all "ex_data" state to prevent memory leaks. This can't be made
552 * thread-safe without overhauling a lot of stuff, and shouldn't really be 555 * thread-safe without overhauling a lot of stuff, and shouldn't really be
@@ -558,6 +561,7 @@ CRYPTO_cleanup_all_ex_data(void)
558 IMPL_CHECK 561 IMPL_CHECK
559 EX_IMPL(cleanup)(); 562 EX_IMPL(cleanup)();
560} 563}
564LCRYPTO_ALIAS(CRYPTO_cleanup_all_ex_data);
561 565
562/* Inside an existing class, get/register a new index. */ 566/* Inside an existing class, get/register a new index. */
563int 567int
@@ -571,6 +575,7 @@ CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,
571 argl, argp, new_func, dup_func, free_func); 575 argl, argp, new_func, dup_func, free_func);
572 return ret; 576 return ret;
573} 577}
578LCRYPTO_ALIAS(CRYPTO_get_ex_new_index);
574 579
575/* Initialise a new CRYPTO_EX_DATA for use in a particular class - including 580/* Initialise a new CRYPTO_EX_DATA for use in a particular class - including
576 * calling new() callbacks for each index in the class used by this variable */ 581 * calling new() callbacks for each index in the class used by this variable */
@@ -580,6 +585,7 @@ CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
580 IMPL_CHECK 585 IMPL_CHECK
581 return EX_IMPL(new_ex_data)(class_index, obj, ad); 586 return EX_IMPL(new_ex_data)(class_index, obj, ad);
582} 587}
588LCRYPTO_ALIAS(CRYPTO_new_ex_data);
583 589
584/* Duplicate a CRYPTO_EX_DATA variable - including calling dup() callbacks for 590/* Duplicate a CRYPTO_EX_DATA variable - including calling dup() callbacks for
585 * each index in the class used by this variable */ 591 * each index in the class used by this variable */
@@ -589,6 +595,7 @@ CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from)
589 IMPL_CHECK 595 IMPL_CHECK
590 return EX_IMPL(dup_ex_data)(class_index, to, from); 596 return EX_IMPL(dup_ex_data)(class_index, to, from);
591} 597}
598LCRYPTO_ALIAS(CRYPTO_dup_ex_data);
592 599
593/* Cleanup a CRYPTO_EX_DATA variable - including calling free() callbacks for 600/* Cleanup a CRYPTO_EX_DATA variable - including calling free() callbacks for
594 * each index in the class used by this variable */ 601 * each index in the class used by this variable */
@@ -598,6 +605,7 @@ CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
598 IMPL_CHECK 605 IMPL_CHECK
599 EX_IMPL(free_ex_data)(class_index, obj, ad); 606 EX_IMPL(free_ex_data)(class_index, obj, ad);
600} 607}
608LCRYPTO_ALIAS(CRYPTO_free_ex_data);
601 609
602/* For a given CRYPTO_EX_DATA variable, set the value corresponding to a 610/* For a given CRYPTO_EX_DATA variable, set the value corresponding to a
603 * particular index in the class used by this variable */ 611 * particular index in the class used by this variable */
@@ -624,6 +632,7 @@ CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val)
624 sk_void_set(ad->sk, idx, val); 632 sk_void_set(ad->sk, idx, val);
625 return (1); 633 return (1);
626} 634}
635LCRYPTO_ALIAS(CRYPTO_set_ex_data);
627 636
628/* For a given CRYPTO_EX_DATA_ variable, get the value corresponding to a 637/* For a given CRYPTO_EX_DATA_ variable, get the value corresponding to a
629 * particular index in the class used by this variable */ 638 * particular index in the class used by this variable */
@@ -637,3 +646,4 @@ CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx)
637 else 646 else
638 return (sk_void_value(ad->sk, idx)); 647 return (sk_void_value(ad->sk, idx));
639} 648}
649LCRYPTO_ALIAS(CRYPTO_get_ex_data);
diff --git a/src/lib/libcrypto/hidden/openssl/crypto.h b/src/lib/libcrypto/hidden/openssl/crypto.h
new file mode 100644
index 0000000000..69ffa9480b
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/crypto.h
@@ -0,0 +1,79 @@
1/* $OpenBSD: crypto.h,v 1.1 2023/07/08 08:28:23 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_CRYPTO_H
19#define _LIBCRYPTO_CRYPTO_H
20
21#ifndef _MSC_VER
22#include_next <openssl/crypto.h>
23#else
24#include "../include/openssl/crypto.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(OpenSSL_version);
29LCRYPTO_USED(OpenSSL_version_num);
30LCRYPTO_USED(SSLeay_version);
31LCRYPTO_USED(SSLeay);
32LCRYPTO_USED(CRYPTO_get_ex_data_implementation);
33LCRYPTO_USED(CRYPTO_set_ex_data_implementation);
34LCRYPTO_USED(CRYPTO_ex_data_new_class);
35LCRYPTO_USED(CRYPTO_get_ex_new_index);
36LCRYPTO_USED(CRYPTO_new_ex_data);
37LCRYPTO_USED(CRYPTO_dup_ex_data);
38LCRYPTO_USED(CRYPTO_free_ex_data);
39LCRYPTO_USED(CRYPTO_set_ex_data);
40LCRYPTO_USED(CRYPTO_get_ex_data);
41LCRYPTO_USED(CRYPTO_cleanup_all_ex_data);
42LCRYPTO_USED(CRYPTO_lock);
43LCRYPTO_USED(CRYPTO_add_lock);
44LCRYPTO_USED(CRYPTO_THREADID_current);
45LCRYPTO_USED(CRYPTO_THREADID_cmp);
46LCRYPTO_USED(CRYPTO_THREADID_cpy);
47LCRYPTO_USED(CRYPTO_THREADID_hash);
48LCRYPTO_USED(CRYPTO_set_mem_functions);
49LCRYPTO_USED(CRYPTO_set_locked_mem_functions);
50LCRYPTO_USED(CRYPTO_set_mem_ex_functions);
51LCRYPTO_USED(CRYPTO_set_locked_mem_ex_functions);
52LCRYPTO_USED(CRYPTO_set_mem_debug_functions);
53LCRYPTO_USED(CRYPTO_get_mem_functions);
54LCRYPTO_USED(CRYPTO_get_locked_mem_functions);
55LCRYPTO_USED(CRYPTO_get_mem_ex_functions);
56LCRYPTO_USED(CRYPTO_get_locked_mem_ex_functions);
57LCRYPTO_USED(CRYPTO_get_mem_debug_functions);
58LCRYPTO_USED(CRYPTO_realloc_clean);
59LCRYPTO_USED(CRYPTO_remalloc);
60LCRYPTO_USED(CRYPTO_set_mem_debug_options);
61LCRYPTO_USED(CRYPTO_get_mem_debug_options);
62LCRYPTO_USED(CRYPTO_push_info_);
63LCRYPTO_USED(CRYPTO_pop_info);
64LCRYPTO_USED(CRYPTO_remove_all_info);
65LCRYPTO_USED(CRYPTO_dbg_malloc);
66LCRYPTO_USED(CRYPTO_dbg_realloc);
67LCRYPTO_USED(CRYPTO_dbg_free);
68LCRYPTO_USED(CRYPTO_dbg_set_options);
69LCRYPTO_USED(CRYPTO_dbg_get_options);
70LCRYPTO_USED(CRYPTO_mem_leaks_fp);
71LCRYPTO_USED(CRYPTO_mem_leaks);
72LCRYPTO_USED(CRYPTO_mem_leaks_cb);
73LCRYPTO_USED(OpenSSLDie);
74LCRYPTO_USED(OPENSSL_cpu_caps);
75LCRYPTO_USED(OPENSSL_init_crypto);
76LCRYPTO_USED(OPENSSL_cleanup);
77LCRYPTO_USED(ERR_load_CRYPTO_strings);
78
79#endif /* _LIBCRYPTO_CRYPTO_H */
diff --git a/src/lib/libcrypto/malloc-wrapper.c b/src/lib/libcrypto/malloc-wrapper.c
index cb9a31186d..4d57f00b23 100644
--- a/src/lib/libcrypto/malloc-wrapper.c
+++ b/src/lib/libcrypto/malloc-wrapper.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: malloc-wrapper.c,v 1.7 2018/05/13 13:49:04 jsing Exp $ */ 1/* $OpenBSD: malloc-wrapper.c,v 1.8 2023/07/08 08:28:23 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Bob Beck 3 * Copyright (c) 2014 Bob Beck
4 * 4 *
@@ -18,12 +18,15 @@
18#include <stdlib.h> 18#include <stdlib.h>
19#include <string.h> 19#include <string.h>
20 20
21#include <openssl/crypto.h>
22
21int 23int
22CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), 24CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t),
23 void (*f)(void *)) 25 void (*f)(void *))
24{ 26{
25 return 0; 27 return 0;
26} 28}
29LCRYPTO_ALIAS(CRYPTO_set_mem_functions);
27 30
28int 31int
29CRYPTO_set_mem_ex_functions(void *(*m)(size_t, const char *, int), 32CRYPTO_set_mem_ex_functions(void *(*m)(size_t, const char *, int),
@@ -31,12 +34,14 @@ CRYPTO_set_mem_ex_functions(void *(*m)(size_t, const char *, int),
31{ 34{
32 return 0; 35 return 0;
33} 36}
37LCRYPTO_ALIAS(CRYPTO_set_mem_ex_functions);
34 38
35int 39int
36CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*f)(void *)) 40CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*f)(void *))
37{ 41{
38 return 0; 42 return 0;
39} 43}
44LCRYPTO_ALIAS(CRYPTO_set_locked_mem_functions);
40 45
41int 46int
42CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t, const char *, int), 47CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t, const char *, int),
@@ -44,6 +49,7 @@ CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t, const char *, int),
44{ 49{
45 return 0; 50 return 0;
46} 51}
52LCRYPTO_ALIAS(CRYPTO_set_locked_mem_ex_functions);
47 53
48int 54int
49CRYPTO_set_mem_debug_functions(void (*m)(void *, int, const char *, int, int), 55CRYPTO_set_mem_debug_functions(void (*m)(void *, int, const char *, int, int),
@@ -52,6 +58,7 @@ CRYPTO_set_mem_debug_functions(void (*m)(void *, int, const char *, int, int),
52{ 58{
53 return 0; 59 return 0;
54} 60}
61LCRYPTO_ALIAS(CRYPTO_set_mem_debug_functions);
55 62
56 63
57void 64void
@@ -65,6 +72,7 @@ CRYPTO_get_mem_functions(void *(**m)(size_t), void *(**r)(void *, size_t),
65 if (f != NULL) 72 if (f != NULL)
66 *f = free; 73 *f = free;
67} 74}
75LCRYPTO_ALIAS(CRYPTO_get_mem_functions);
68 76
69void 77void
70CRYPTO_get_mem_ex_functions(void *(**m)(size_t, const char *, int), 78CRYPTO_get_mem_ex_functions(void *(**m)(size_t, const char *, int),
@@ -77,6 +85,7 @@ CRYPTO_get_mem_ex_functions(void *(**m)(size_t, const char *, int),
77 if (f != NULL) 85 if (f != NULL)
78 *f = free; 86 *f = free;
79} 87}
88LCRYPTO_ALIAS(CRYPTO_get_mem_ex_functions);
80 89
81void 90void
82CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *)) 91CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *))
@@ -86,6 +95,7 @@ CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *))
86 if (f != NULL) 95 if (f != NULL)
87 *f = free; 96 *f = free;
88} 97}
98LCRYPTO_ALIAS(CRYPTO_get_locked_mem_functions);
89 99
90void 100void
91CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t, const char *, int), 101CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t, const char *, int),
@@ -96,6 +106,7 @@ CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t, const char *, int),
96 if (f != NULL) 106 if (f != NULL)
97 *f = free; 107 *f = free;
98} 108}
109LCRYPTO_ALIAS(CRYPTO_get_locked_mem_ex_functions);
99 110
100void 111void
101CRYPTO_get_mem_debug_functions(void (**m)(void *, int, const char *, int, int), 112CRYPTO_get_mem_debug_functions(void (**m)(void *, int, const char *, int, int),
@@ -113,6 +124,7 @@ CRYPTO_get_mem_debug_functions(void (**m)(void *, int, const char *, int, int),
113 if (go != NULL) 124 if (go != NULL)
114 *go = NULL; 125 *go = NULL;
115} 126}
127LCRYPTO_ALIAS(CRYPTO_get_mem_debug_functions);
116 128
117 129
118void * 130void *
@@ -162,6 +174,7 @@ CRYPTO_realloc_clean(void *ptr, int old_len, int num, const char *file,
162 return NULL; 174 return NULL;
163 return recallocarray(ptr, old_len, num, 1); 175 return recallocarray(ptr, old_len, num, 1);
164} 176}
177LCRYPTO_ALIAS(CRYPTO_realloc_clean);
165 178
166void 179void
167CRYPTO_free(void *ptr) 180CRYPTO_free(void *ptr)
@@ -175,15 +188,18 @@ CRYPTO_remalloc(void *a, int num, const char *file, int line)
175 free(a); 188 free(a);
176 return malloc(num); 189 return malloc(num);
177} 190}
191LCRYPTO_ALIAS(CRYPTO_remalloc);
178 192
179void 193void
180CRYPTO_set_mem_debug_options(long bits) 194CRYPTO_set_mem_debug_options(long bits)
181{ 195{
182 return; 196 return;
183} 197}
198LCRYPTO_ALIAS(CRYPTO_set_mem_debug_options);
184 199
185long 200long
186CRYPTO_get_mem_debug_options(void) 201CRYPTO_get_mem_debug_options(void)
187{ 202{
188 return 0; 203 return 0;
189} 204}
205LCRYPTO_ALIAS(CRYPTO_get_mem_debug_options);
diff --git a/src/lib/libcrypto/mem_dbg.c b/src/lib/libcrypto/mem_dbg.c
index 602b139d1c..e2eacebe19 100644
--- a/src/lib/libcrypto/mem_dbg.c
+++ b/src/lib/libcrypto/mem_dbg.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: mem_dbg.c,v 1.24 2019/01/29 14:40:54 deraadt Exp $ */ 1/* $OpenBSD: mem_dbg.c,v 1.25 2023/07/08 08:28:23 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -133,30 +133,35 @@ CRYPTO_dbg_set_options(long bits)
133{ 133{
134 return; 134 return;
135} 135}
136LCRYPTO_ALIAS(CRYPTO_dbg_set_options);
136 137
137long 138long
138CRYPTO_dbg_get_options(void) 139CRYPTO_dbg_get_options(void)
139{ 140{
140 return (0); 141 return (0);
141} 142}
143LCRYPTO_ALIAS(CRYPTO_dbg_get_options);
142 144
143int 145int
144CRYPTO_push_info_(const char *info, const char *file, int line) 146CRYPTO_push_info_(const char *info, const char *file, int line)
145{ 147{
146 return (0); 148 return (0);
147} 149}
150LCRYPTO_ALIAS(CRYPTO_push_info_);
148 151
149int 152int
150CRYPTO_pop_info(void) 153CRYPTO_pop_info(void)
151{ 154{
152 return (0); 155 return (0);
153} 156}
157LCRYPTO_ALIAS(CRYPTO_pop_info);
154 158
155int 159int
156CRYPTO_remove_all_info(void) 160CRYPTO_remove_all_info(void)
157{ 161{
158 return (0); 162 return (0);
159} 163}
164LCRYPTO_ALIAS(CRYPTO_remove_all_info);
160 165
161void 166void
162CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line, 167CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line,
@@ -164,12 +169,14 @@ CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line,
164{ 169{
165 OPENSSL_assert("CRYPTO_dbg_malloc is no longer permitted"); 170 OPENSSL_assert("CRYPTO_dbg_malloc is no longer permitted");
166} 171}
172LCRYPTO_ALIAS(CRYPTO_dbg_malloc);
167 173
168void 174void
169CRYPTO_dbg_free(void *addr, int before_p) 175CRYPTO_dbg_free(void *addr, int before_p)
170{ 176{
171 OPENSSL_assert("CRYPTO_dbg_free is no longer permitted"); 177 OPENSSL_assert("CRYPTO_dbg_free is no longer permitted");
172} 178}
179LCRYPTO_ALIAS(CRYPTO_dbg_free);
173 180
174void 181void
175CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, 182CRYPTO_dbg_realloc(void *addr1, void *addr2, int num,
@@ -177,18 +184,21 @@ CRYPTO_dbg_realloc(void *addr1, void *addr2, int num,
177{ 184{
178 OPENSSL_assert("CRYPTO_dbg_realloc is no longer permitted"); 185 OPENSSL_assert("CRYPTO_dbg_realloc is no longer permitted");
179} 186}
187LCRYPTO_ALIAS(CRYPTO_dbg_realloc);
180 188
181int 189int
182CRYPTO_mem_leaks(BIO *b) 190CRYPTO_mem_leaks(BIO *b)
183{ 191{
184 return -1; 192 return -1;
185} 193}
194LCRYPTO_ALIAS(CRYPTO_mem_leaks);
186 195
187int 196int
188CRYPTO_mem_leaks_fp(FILE *fp) 197CRYPTO_mem_leaks_fp(FILE *fp)
189{ 198{
190 return -1; 199 return -1;
191} 200}
201LCRYPTO_ALIAS(CRYPTO_mem_leaks_fp);
192 202
193 203
194int 204int
@@ -196,3 +206,4 @@ CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb)
196{ 206{
197 return -1; 207 return -1;
198} 208}
209LCRYPTO_ALIAS(CRYPTO_mem_leaks_cb);