summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2024-03-27 06:08:45 +0000
committertb <>2024-03-27 06:08:45 +0000
commit9b053635b6df53639cb40a0a0d5d55a030353509 (patch)
tree0be80a1eb56e01dd8e723505400b17d37b598ce8
parent12b93ff740101a3ee8c3d5daba35d06c6ec8641f (diff)
downloadopenbsd-9b053635b6df53639cb40a0a0d5d55a030353509.tar.gz
openbsd-9b053635b6df53639cb40a0a0d5d55a030353509.tar.bz2
openbsd-9b053635b6df53639cb40a0a0d5d55a030353509.zip
Hide symbols in engine
ok jsing
-rw-r--r--src/lib/libcrypto/Symbols.namespace19
-rw-r--r--src/lib/libcrypto/engine/engine_stubs.c21
-rw-r--r--src/lib/libcrypto/hidden/openssl/engine.h48
3 files changed, 87 insertions, 1 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 95b2a33720..adb4330f09 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2523,3 +2523,22 @@ _libre_OPENSSL_gmtime
2523_libre_OPENSSL_timegm 2523_libre_OPENSSL_timegm
2524_libre_OPENSSL_posix_to_tm 2524_libre_OPENSSL_posix_to_tm
2525_libre_OPENSSL_tm_to_posix 2525_libre_OPENSSL_tm_to_posix
2526_libre_ENGINE_load_builtin_engines
2527_libre_ENGINE_load_dynamic
2528_libre_ENGINE_load_openssl
2529_libre_ENGINE_register_all_complete
2530_libre_ENGINE_cleanup
2531_libre_ENGINE_new
2532_libre_ENGINE_free
2533_libre_ENGINE_init
2534_libre_ENGINE_finish
2535_libre_ENGINE_by_id
2536_libre_ENGINE_get_id
2537_libre_ENGINE_get_name
2538_libre_ENGINE_set_default
2539_libre_ENGINE_get_default_RSA
2540_libre_ENGINE_set_default_RSA
2541_libre_ENGINE_ctrl_cmd
2542_libre_ENGINE_ctrl_cmd_string
2543_libre_ENGINE_load_private_key
2544_libre_ENGINE_load_public_key
diff --git a/src/lib/libcrypto/engine/engine_stubs.c b/src/lib/libcrypto/engine/engine_stubs.c
index bd031e49f0..055396fba0 100644
--- a/src/lib/libcrypto/engine/engine_stubs.c
+++ b/src/lib/libcrypto/engine/engine_stubs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: engine_stubs.c,v 1.3 2023/11/19 15:47:40 tb Exp $ */ 1/* $OpenBSD: engine_stubs.c,v 1.4 2024/03/27 06:08:45 tb Exp $ */
2 2
3/* 3/*
4 * Written by Theo Buehler. Public domain. 4 * Written by Theo Buehler. Public domain.
@@ -10,87 +10,102 @@ void
10ENGINE_load_builtin_engines(void) 10ENGINE_load_builtin_engines(void)
11{ 11{
12} 12}
13LCRYPTO_ALIAS(ENGINE_load_builtin_engines);
13 14
14void 15void
15ENGINE_load_dynamic(void) 16ENGINE_load_dynamic(void)
16{ 17{
17} 18}
19LCRYPTO_ALIAS(ENGINE_load_dynamic);
18 20
19void 21void
20ENGINE_load_openssl(void) 22ENGINE_load_openssl(void)
21{ 23{
22} 24}
25LCRYPTO_ALIAS(ENGINE_load_openssl);
23 26
24int 27int
25ENGINE_register_all_complete(void) 28ENGINE_register_all_complete(void)
26{ 29{
27 return 0; 30 return 0;
28} 31}
32LCRYPTO_ALIAS(ENGINE_register_all_complete);
29 33
30void 34void
31ENGINE_cleanup(void) 35ENGINE_cleanup(void)
32{ 36{
33} 37}
38LCRYPTO_ALIAS(ENGINE_cleanup);
34 39
35ENGINE * 40ENGINE *
36ENGINE_new(void) 41ENGINE_new(void)
37{ 42{
38 return NULL; 43 return NULL;
39} 44}
45LCRYPTO_ALIAS(ENGINE_new);
40 46
41int 47int
42ENGINE_free(ENGINE *engine) 48ENGINE_free(ENGINE *engine)
43{ 49{
44 return 0; 50 return 0;
45} 51}
52LCRYPTO_ALIAS(ENGINE_free);
46 53
47int 54int
48ENGINE_init(ENGINE *engine) 55ENGINE_init(ENGINE *engine)
49{ 56{
50 return 0; 57 return 0;
51} 58}
59LCRYPTO_ALIAS(ENGINE_init);
52 60
53int 61int
54ENGINE_finish(ENGINE *engine) 62ENGINE_finish(ENGINE *engine)
55{ 63{
56 return 0; 64 return 0;
57} 65}
66LCRYPTO_ALIAS(ENGINE_finish);
58 67
59ENGINE * 68ENGINE *
60ENGINE_by_id(const char *id) 69ENGINE_by_id(const char *id)
61{ 70{
62 return NULL; 71 return NULL;
63} 72}
73LCRYPTO_ALIAS(ENGINE_by_id);
64 74
65const char * 75const char *
66ENGINE_get_id(const ENGINE *engine) 76ENGINE_get_id(const ENGINE *engine)
67{ 77{
68 return ""; 78 return "";
69} 79}
80LCRYPTO_ALIAS(ENGINE_get_id);
70 81
71const char * 82const char *
72ENGINE_get_name(const ENGINE *engine) 83ENGINE_get_name(const ENGINE *engine)
73{ 84{
74 return ""; 85 return "";
75} 86}
87LCRYPTO_ALIAS(ENGINE_get_name);
76 88
77int 89int
78ENGINE_set_default(ENGINE *engine, unsigned int flags) 90ENGINE_set_default(ENGINE *engine, unsigned int flags)
79{ 91{
80 return 0; 92 return 0;
81} 93}
94LCRYPTO_ALIAS(ENGINE_set_default);
82 95
83ENGINE * 96ENGINE *
84ENGINE_get_default_RSA(void) 97ENGINE_get_default_RSA(void)
85{ 98{
86 return NULL; 99 return NULL;
87} 100}
101LCRYPTO_ALIAS(ENGINE_get_default_RSA);
88 102
89int 103int
90ENGINE_set_default_RSA(ENGINE *engine) 104ENGINE_set_default_RSA(ENGINE *engine)
91{ 105{
92 return 0; 106 return 0;
93} 107}
108LCRYPTO_ALIAS(ENGINE_set_default_RSA);
94 109
95int 110int
96ENGINE_ctrl_cmd(ENGINE *engine, const char *cmd_name, long i, void *p, 111ENGINE_ctrl_cmd(ENGINE *engine, const char *cmd_name, long i, void *p,
@@ -98,6 +113,7 @@ ENGINE_ctrl_cmd(ENGINE *engine, const char *cmd_name, long i, void *p,
98{ 113{
99 return 0; 114 return 0;
100} 115}
116LCRYPTO_ALIAS(ENGINE_ctrl_cmd);
101 117
102int 118int
103ENGINE_ctrl_cmd_string(ENGINE *engine, const char *cmd, const char *arg, 119ENGINE_ctrl_cmd_string(ENGINE *engine, const char *cmd, const char *arg,
@@ -105,6 +121,7 @@ ENGINE_ctrl_cmd_string(ENGINE *engine, const char *cmd, const char *arg,
105{ 121{
106 return 0; 122 return 0;
107} 123}
124LCRYPTO_ALIAS(ENGINE_ctrl_cmd_string);
108 125
109EVP_PKEY * 126EVP_PKEY *
110ENGINE_load_private_key(ENGINE *engine, const char *key_id, 127ENGINE_load_private_key(ENGINE *engine, const char *key_id,
@@ -112,6 +129,7 @@ ENGINE_load_private_key(ENGINE *engine, const char *key_id,
112{ 129{
113 return NULL; 130 return NULL;
114} 131}
132LCRYPTO_ALIAS(ENGINE_load_private_key);
115 133
116EVP_PKEY * 134EVP_PKEY *
117ENGINE_load_public_key(ENGINE *engine, const char *key_id, 135ENGINE_load_public_key(ENGINE *engine, const char *key_id,
@@ -119,3 +137,4 @@ ENGINE_load_public_key(ENGINE *engine, const char *key_id,
119{ 137{
120 return NULL; 138 return NULL;
121} 139}
140LCRYPTO_ALIAS(ENGINE_load_public_key);
diff --git a/src/lib/libcrypto/hidden/openssl/engine.h b/src/lib/libcrypto/hidden/openssl/engine.h
new file mode 100644
index 0000000000..78334779b1
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/engine.h
@@ -0,0 +1,48 @@
1/* $OpenBSD: engine.h,v 1.1 2024/03/27 06:08:45 tb Exp $ */
2/*
3 * Copyright (c) 2024 Theo Buehler <tb@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_ENGINE_H
19#define _LIBCRYPTO_ENGINE_H
20
21#ifndef _MSC_VER
22#include_next <openssl/engine.h>
23#else
24#include "../include/openssl/engine.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(ENGINE_load_builtin_engines);
29LCRYPTO_USED(ENGINE_load_dynamic);
30LCRYPTO_USED(ENGINE_load_openssl);
31LCRYPTO_USED(ENGINE_register_all_complete);
32LCRYPTO_USED(ENGINE_cleanup);
33LCRYPTO_USED(ENGINE_new);
34LCRYPTO_USED(ENGINE_free);
35LCRYPTO_USED(ENGINE_init);
36LCRYPTO_USED(ENGINE_finish);
37LCRYPTO_USED(ENGINE_by_id);
38LCRYPTO_USED(ENGINE_get_id);
39LCRYPTO_USED(ENGINE_get_name);
40LCRYPTO_USED(ENGINE_set_default);
41LCRYPTO_USED(ENGINE_get_default_RSA);
42LCRYPTO_USED(ENGINE_set_default_RSA);
43LCRYPTO_USED(ENGINE_ctrl_cmd);
44LCRYPTO_USED(ENGINE_ctrl_cmd_string);
45LCRYPTO_USED(ENGINE_load_private_key);
46LCRYPTO_USED(ENGINE_load_public_key);
47
48#endif /* _LIBCRYPTO_ENGINE_H */