summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2024-01-13 11:18:52 +0000
committertb <>2024-01-13 11:18:52 +0000
commitc49e39f41c7ce0ba4c49648ff129c8aef2650e00 (patch)
treee36e535ecc4e90ca6a4fea1e4b5388db32372c98
parent0a0c4510c63b3ed05c4a35d0175ce78900516389 (diff)
downloadopenbsd-c49e39f41c7ce0ba4c49648ff129c8aef2650e00.tar.gz
openbsd-c49e39f41c7ce0ba4c49648ff129c8aef2650e00.tar.bz2
openbsd-c49e39f41c7ce0ba4c49648ff129c8aef2650e00.zip
Stub out {OpenSSL,OPENSSL}_add*
These serve no purpose anymore (and really haven't for many years) but will have to be kept since there's a number of software that still uses them because many years ago they had to. Relocate the stubs to crypto_init.c since library initialization's what they were there for. ok jsing
-rw-r--r--src/lib/libcrypto/Makefile3
-rw-r--r--src/lib/libcrypto/crypto_init.c23
-rw-r--r--src/lib/libcrypto/evp/c_all.c331
3 files changed, 23 insertions, 334 deletions
diff --git a/src/lib/libcrypto/Makefile b/src/lib/libcrypto/Makefile
index c308a47c62..75ab43c132 100644
--- a/src/lib/libcrypto/Makefile
+++ b/src/lib/libcrypto/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.163 2024/01/13 10:57:08 tb Exp $ 1# $OpenBSD: Makefile,v 1.164 2024/01/13 11:18:52 tb Exp $
2 2
3LIB= crypto 3LIB= crypto
4LIBREBUILD=y 4LIBREBUILD=y
@@ -348,7 +348,6 @@ SRCS+= err_prn.c
348SRCS+= bio_b64.c 348SRCS+= bio_b64.c
349SRCS+= bio_enc.c 349SRCS+= bio_enc.c
350SRCS+= bio_md.c 350SRCS+= bio_md.c
351SRCS+= c_all.c
352SRCS+= e_aes.c 351SRCS+= e_aes.c
353SRCS+= e_aes_cbc_hmac_sha1.c 352SRCS+= e_aes_cbc_hmac_sha1.c
354SRCS+= e_bf.c 353SRCS+= e_bf.c
diff --git a/src/lib/libcrypto/crypto_init.c b/src/lib/libcrypto/crypto_init.c
index 440128fe4c..d598318503 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.15 2024/01/07 19:59:32 tb Exp $ */ 1/* $OpenBSD: crypto_init.c,v 1.16 2024/01/13 11:18:52 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -91,3 +91,24 @@ OPENSSL_cleanup(void)
91 crypto_init_cleaned_up = 1; 91 crypto_init_cleaned_up = 1;
92} 92}
93LCRYPTO_ALIAS(OPENSSL_cleanup); 93LCRYPTO_ALIAS(OPENSSL_cleanup);
94
95void
96OpenSSL_add_all_ciphers(void)
97{
98}
99
100void
101OpenSSL_add_all_digests(void)
102{
103}
104
105void
106OPENSSL_add_all_algorithms_noconf(void)
107{
108}
109
110void
111OPENSSL_add_all_algorithms_conf(void)
112{
113 OPENSSL_config(NULL);
114}
diff --git a/src/lib/libcrypto/evp/c_all.c b/src/lib/libcrypto/evp/c_all.c
deleted file mode 100644
index ec38b108c5..0000000000
--- a/src/lib/libcrypto/evp/c_all.c
+++ /dev/null
@@ -1,331 +0,0 @@
1/* $OpenBSD: c_all.c,v 1.33 2023/10/24 13:09:54 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15 *
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 * 3. All advertising materials mentioning features or use of this software
32 * must display the following acknowledgement:
33 * "This product includes cryptographic software written by
34 * Eric Young (eay@cryptsoft.com)"
35 * The word 'cryptographic' can be left out if the rouines from the library
36 * being used are not cryptographic related :-).
37 * 4. If you include any Windows specific code (or a derivative thereof) from
38 * the apps directory (application code) you must include an acknowledgement:
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40 *
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE.
52 *
53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.]
57 */
58
59#include <stdio.h>
60#include <pthread.h>
61
62#include <openssl/opensslconf.h>
63
64#include <openssl/conf.h>
65#include <openssl/evp.h>
66#include <openssl/objects.h>
67
68#include "cryptlib.h"
69
70static void
71OpenSSL_add_all_ciphers_internal(void)
72{
73#ifndef OPENSSL_NO_DES
74 EVP_add_cipher(EVP_des_cfb());
75 EVP_add_cipher(EVP_des_cfb1());
76 EVP_add_cipher(EVP_des_cfb8());
77 EVP_add_cipher(EVP_des_ede_cfb());
78 EVP_add_cipher(EVP_des_ede3_cfb());
79 EVP_add_cipher(EVP_des_ede3_cfb1());
80 EVP_add_cipher(EVP_des_ede3_cfb8());
81
82 EVP_add_cipher(EVP_des_ofb());
83 EVP_add_cipher(EVP_des_ede_ofb());
84 EVP_add_cipher(EVP_des_ede3_ofb());
85
86 EVP_add_cipher(EVP_desx_cbc());
87 EVP_add_cipher_alias(SN_desx_cbc, "DESX");
88 EVP_add_cipher_alias(SN_desx_cbc, "desx");
89
90 EVP_add_cipher(EVP_des_cbc());
91 EVP_add_cipher_alias(SN_des_cbc, "DES");
92 EVP_add_cipher_alias(SN_des_cbc, "des");
93 EVP_add_cipher(EVP_des_ede_cbc());
94 EVP_add_cipher(EVP_des_ede3_cbc());
95 EVP_add_cipher_alias(SN_des_ede3_cbc, "DES3");
96 EVP_add_cipher_alias(SN_des_ede3_cbc, "des3");
97
98 EVP_add_cipher(EVP_des_ecb());
99 EVP_add_cipher(EVP_des_ede());
100 EVP_add_cipher(EVP_des_ede3());
101#endif
102
103#ifndef OPENSSL_NO_RC4
104 EVP_add_cipher(EVP_rc4());
105 EVP_add_cipher(EVP_rc4_40());
106#ifndef OPENSSL_NO_MD5
107 EVP_add_cipher(EVP_rc4_hmac_md5());
108#endif
109#endif
110
111#ifndef OPENSSL_NO_IDEA
112 EVP_add_cipher(EVP_idea_ecb());
113 EVP_add_cipher(EVP_idea_cfb());
114 EVP_add_cipher(EVP_idea_ofb());
115 EVP_add_cipher(EVP_idea_cbc());
116 EVP_add_cipher_alias(SN_idea_cbc, "IDEA");
117 EVP_add_cipher_alias(SN_idea_cbc, "idea");
118#endif
119
120#ifndef OPENSSL_NO_RC2
121 EVP_add_cipher(EVP_rc2_ecb());
122 EVP_add_cipher(EVP_rc2_cfb());
123 EVP_add_cipher(EVP_rc2_ofb());
124 EVP_add_cipher(EVP_rc2_cbc());
125 EVP_add_cipher(EVP_rc2_40_cbc());
126 EVP_add_cipher(EVP_rc2_64_cbc());
127 EVP_add_cipher_alias(SN_rc2_cbc, "RC2");
128 EVP_add_cipher_alias(SN_rc2_cbc, "rc2");
129#endif
130
131#ifndef OPENSSL_NO_BF
132 EVP_add_cipher(EVP_bf_ecb());
133 EVP_add_cipher(EVP_bf_cfb());
134 EVP_add_cipher(EVP_bf_ofb());
135 EVP_add_cipher(EVP_bf_cbc());
136 EVP_add_cipher_alias(SN_bf_cbc, "BF");
137 EVP_add_cipher_alias(SN_bf_cbc, "bf");
138 EVP_add_cipher_alias(SN_bf_cbc, "blowfish");
139#endif
140
141#ifndef OPENSSL_NO_CAST
142 EVP_add_cipher(EVP_cast5_ecb());
143 EVP_add_cipher(EVP_cast5_cfb());
144 EVP_add_cipher(EVP_cast5_ofb());
145 EVP_add_cipher(EVP_cast5_cbc());
146 EVP_add_cipher_alias(SN_cast5_cbc, "CAST");
147 EVP_add_cipher_alias(SN_cast5_cbc, "cast");
148 EVP_add_cipher_alias(SN_cast5_cbc, "CAST-cbc");
149 EVP_add_cipher_alias(SN_cast5_cbc, "cast-cbc");
150#endif
151
152#ifndef OPENSSL_NO_AES
153 EVP_add_cipher(EVP_aes_128_ecb());
154 EVP_add_cipher(EVP_aes_128_cbc());
155 EVP_add_cipher(EVP_aes_128_ccm());
156 EVP_add_cipher(EVP_aes_128_cfb());
157 EVP_add_cipher(EVP_aes_128_cfb1());
158 EVP_add_cipher(EVP_aes_128_cfb8());
159 EVP_add_cipher(EVP_aes_128_ofb());
160 EVP_add_cipher(EVP_aes_128_ctr());
161 EVP_add_cipher(EVP_aes_128_gcm());
162 EVP_add_cipher(EVP_aes_128_wrap());
163 EVP_add_cipher(EVP_aes_128_xts());
164 EVP_add_cipher_alias(SN_aes_128_cbc, "AES128");
165 EVP_add_cipher_alias(SN_aes_128_cbc, "aes128");
166 EVP_add_cipher(EVP_aes_192_ecb());
167 EVP_add_cipher(EVP_aes_192_cbc());
168 EVP_add_cipher(EVP_aes_192_ccm());
169 EVP_add_cipher(EVP_aes_192_cfb());
170 EVP_add_cipher(EVP_aes_192_cfb1());
171 EVP_add_cipher(EVP_aes_192_cfb8());
172 EVP_add_cipher(EVP_aes_192_ofb());
173 EVP_add_cipher(EVP_aes_192_ctr());
174 EVP_add_cipher(EVP_aes_192_gcm());
175 EVP_add_cipher(EVP_aes_192_wrap());
176 EVP_add_cipher_alias(SN_aes_192_cbc, "AES192");
177 EVP_add_cipher_alias(SN_aes_192_cbc, "aes192");
178 EVP_add_cipher(EVP_aes_256_ecb());
179 EVP_add_cipher(EVP_aes_256_cbc());
180 EVP_add_cipher(EVP_aes_256_ccm());
181 EVP_add_cipher(EVP_aes_256_cfb());
182 EVP_add_cipher(EVP_aes_256_cfb1());
183 EVP_add_cipher(EVP_aes_256_cfb8());
184 EVP_add_cipher(EVP_aes_256_ofb());
185 EVP_add_cipher(EVP_aes_256_ctr());
186 EVP_add_cipher(EVP_aes_256_gcm());
187 EVP_add_cipher(EVP_aes_256_wrap());
188 EVP_add_cipher(EVP_aes_256_xts());
189 EVP_add_cipher_alias(SN_aes_256_cbc, "AES256");
190 EVP_add_cipher_alias(SN_aes_256_cbc, "aes256");
191#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1)
192 EVP_add_cipher(EVP_aes_128_cbc_hmac_sha1());
193 EVP_add_cipher(EVP_aes_256_cbc_hmac_sha1());
194#endif
195#endif
196
197#ifndef OPENSSL_NO_CAMELLIA
198 EVP_add_cipher(EVP_camellia_128_ecb());
199 EVP_add_cipher(EVP_camellia_128_cbc());
200 EVP_add_cipher(EVP_camellia_128_cfb());
201 EVP_add_cipher(EVP_camellia_128_cfb1());
202 EVP_add_cipher(EVP_camellia_128_cfb8());
203 EVP_add_cipher(EVP_camellia_128_ofb());
204 EVP_add_cipher_alias(SN_camellia_128_cbc, "CAMELLIA128");
205 EVP_add_cipher_alias(SN_camellia_128_cbc, "camellia128");
206 EVP_add_cipher(EVP_camellia_192_ecb());
207 EVP_add_cipher(EVP_camellia_192_cbc());
208 EVP_add_cipher(EVP_camellia_192_cfb());
209 EVP_add_cipher(EVP_camellia_192_cfb1());
210 EVP_add_cipher(EVP_camellia_192_cfb8());
211 EVP_add_cipher(EVP_camellia_192_ofb());
212 EVP_add_cipher_alias(SN_camellia_192_cbc, "CAMELLIA192");
213 EVP_add_cipher_alias(SN_camellia_192_cbc, "camellia192");
214 EVP_add_cipher(EVP_camellia_256_ecb());
215 EVP_add_cipher(EVP_camellia_256_cbc());
216 EVP_add_cipher(EVP_camellia_256_cfb());
217 EVP_add_cipher(EVP_camellia_256_cfb1());
218 EVP_add_cipher(EVP_camellia_256_cfb8());
219 EVP_add_cipher(EVP_camellia_256_ofb());
220 EVP_add_cipher_alias(SN_camellia_256_cbc, "CAMELLIA256");
221 EVP_add_cipher_alias(SN_camellia_256_cbc, "camellia256");
222#endif
223
224#ifndef OPENSSL_NO_CHACHA
225 EVP_add_cipher(EVP_chacha20());
226 EVP_add_cipher_alias(SN_chacha20, "ChaCha20");
227 EVP_add_cipher_alias(LN_chacha20, "chacha20");
228#endif
229#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
230 EVP_add_cipher(EVP_chacha20_poly1305());
231#endif
232
233#ifndef OPENSSL_NO_GOST
234 EVP_add_cipher(EVP_gost2814789_ecb());
235 EVP_add_cipher(EVP_gost2814789_cfb64());
236 EVP_add_cipher(EVP_gost2814789_cnt());
237#endif
238
239#ifndef OPENSSL_NO_SM4
240 EVP_add_cipher(EVP_sm4_ecb());
241 EVP_add_cipher(EVP_sm4_cbc());
242 EVP_add_cipher(EVP_sm4_cfb());
243 EVP_add_cipher(EVP_sm4_ofb());
244 EVP_add_cipher(EVP_sm4_ctr());
245 EVP_add_cipher_alias(SN_sm4_cbc, "SM4");
246 EVP_add_cipher_alias(SN_sm4_cbc, "sm4");
247#endif
248}
249
250void
251OpenSSL_add_all_ciphers(void)
252{
253 static pthread_once_t add_all_ciphers_once = PTHREAD_ONCE_INIT;
254 (void) pthread_once(&add_all_ciphers_once, OpenSSL_add_all_ciphers_internal);
255}
256
257static void
258OpenSSL_add_all_digests_internal(void)
259{
260#ifndef OPENSSL_NO_MD4
261 EVP_add_digest(EVP_md4());
262#endif
263
264#ifndef OPENSSL_NO_MD5
265 EVP_add_digest(EVP_md5());
266 EVP_add_digest(EVP_md5_sha1());
267 EVP_add_digest_alias(SN_md5, "ssl2-md5");
268 EVP_add_digest_alias(SN_md5, "ssl3-md5");
269#endif
270
271#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1)
272 EVP_add_digest(EVP_sha1());
273 EVP_add_digest_alias(SN_sha1, "ssl3-sha1");
274 EVP_add_digest_alias(SN_sha1WithRSAEncryption, SN_sha1WithRSA);
275#endif
276
277#ifndef OPENSSL_NO_GOST
278 EVP_add_digest(EVP_gostr341194());
279 EVP_add_digest(EVP_gost2814789imit());
280 EVP_add_digest(EVP_streebog256());
281 EVP_add_digest(EVP_streebog512());
282#endif
283#ifndef OPENSSL_NO_RIPEMD
284 EVP_add_digest(EVP_ripemd160());
285 EVP_add_digest_alias(SN_ripemd160, "ripemd");
286 EVP_add_digest_alias(SN_ripemd160, "rmd160");
287#endif
288#ifndef OPENSSL_NO_SHA256
289 EVP_add_digest(EVP_sha224());
290 EVP_add_digest(EVP_sha256());
291#endif
292#ifndef OPENSSL_NO_SHA512
293 EVP_add_digest(EVP_sha384());
294 EVP_add_digest(EVP_sha512());
295 EVP_add_digest(EVP_sha512_224());
296 EVP_add_digest(EVP_sha512_256());
297#endif
298#ifndef OPENSSL_NO_SHA3
299 EVP_add_digest(EVP_sha3_224());
300 EVP_add_digest(EVP_sha3_256());
301 EVP_add_digest(EVP_sha3_384());
302 EVP_add_digest(EVP_sha3_512());
303#endif
304#ifndef OPENSSL_NO_SM3
305 EVP_add_digest(EVP_sm3());
306#endif
307#ifndef OPENSSL_NO_WHIRLPOOL
308 EVP_add_digest(EVP_whirlpool());
309#endif
310}
311
312void
313OpenSSL_add_all_digests(void)
314{
315 static pthread_once_t add_all_digests_once = PTHREAD_ONCE_INIT;
316 (void) pthread_once(&add_all_digests_once, OpenSSL_add_all_digests_internal);
317}
318
319void
320OPENSSL_add_all_algorithms_noconf(void)
321{
322 OpenSSL_add_all_ciphers();
323 OpenSSL_add_all_digests();
324}
325
326void
327OPENSSL_add_all_algorithms_conf(void)
328{
329 OPENSSL_add_all_algorithms_noconf();
330 OPENSSL_config(NULL);
331}