summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/err
diff options
context:
space:
mode:
authortb <>2023-04-09 19:10:23 +0000
committertb <>2023-04-09 19:10:23 +0000
commitc6d2fd4172ff9d967c8568f18bee3e3fbb7c4d96 (patch)
tree4e68c064d1e2a087f3d85418eec7158852b63be6 /src/lib/libcrypto/err
parent716f7ee66553ba43368106520df77e5efdddef94 (diff)
downloadopenbsd-c6d2fd4172ff9d967c8568f18bee3e3fbb7c4d96.tar.gz
openbsd-c6d2fd4172ff9d967c8568f18bee3e3fbb7c4d96.tar.bz2
openbsd-c6d2fd4172ff9d967c8568f18bee3e3fbb7c4d96.zip
Move a few functions out of OPENSSL_NO_DEPRECATED
Geoff Thorpe added OPENSSL_NO_DEPRECATED nearly two decades ago. The hope was that at some point some functions can be dropped. Most of the functions marked deprecated are actually unused nowadays but unfortunately some of them are still used in the ecosystem. Move them out of OPENSSL_NO_DEPRECATED so we can define it without breaking the consumers in the next bump. ERR_remove_state() is still used by a dozen or so ports. This isn't a big deal since it is just a stupid wrapper for the not quite as deprecated ERR_remove_thread_state(). It's not worth patching these ports. Annoyingly, {DH,DSA}_generate_parameters() and RSA_generate_key() are still used. They "make use" of the old-style BN_GENCB callback, which is therefore more difficult to remove - in case you don't know know: that's the thing responsible for printing pretty '.', '+' and '*' when you generate keys. Most annoyingly, DH_generate_parameters() was added to rust-openssl in 2020 for "advanced DH support". This is very unfortunate since cargo bundles a rust-openssl and updates it only every few years or so. As a consequence we're going to be stuck with this nonsense for a good while. ok beck jsing
Diffstat (limited to 'src/lib/libcrypto/err')
-rw-r--r--src/lib/libcrypto/err/err.c4
-rw-r--r--src/lib/libcrypto/err/err.h7
2 files changed, 4 insertions, 7 deletions
diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c
index 2eca16d77c..365eae0e90 100644
--- a/src/lib/libcrypto/err/err.c
+++ b/src/lib/libcrypto/err/err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: err.c,v 1.51 2023/03/27 09:15:45 jan Exp $ */ 1/* $OpenBSD: err.c,v 1.52 2023/04/09 19:10:23 tb 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 *
@@ -1040,13 +1040,11 @@ ERR_remove_thread_state(const CRYPTO_THREADID *id)
1040 ERRFN(thread_del_item)(&tmp); 1040 ERRFN(thread_del_item)(&tmp);
1041} 1041}
1042 1042
1043#ifndef OPENSSL_NO_DEPRECATED
1044void 1043void
1045ERR_remove_state(unsigned long pid) 1044ERR_remove_state(unsigned long pid)
1046{ 1045{
1047 ERR_remove_thread_state(NULL); 1046 ERR_remove_thread_state(NULL);
1048} 1047}
1049#endif
1050 1048
1051ERR_STATE * 1049ERR_STATE *
1052ERR_get_state(void) 1050ERR_get_state(void)
diff --git a/src/lib/libcrypto/err/err.h b/src/lib/libcrypto/err/err.h
index 24708c5b1a..b61599d508 100644
--- a/src/lib/libcrypto/err/err.h
+++ b/src/lib/libcrypto/err/err.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: err.h,v 1.28 2022/08/29 06:49:24 jsing Exp $ */ 1/* $OpenBSD: err.h,v 1.29 2023/04/09 19:10:23 tb 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 *
@@ -395,9 +395,8 @@ void ERR_load_crypto_strings(void);
395void ERR_free_strings(void); 395void ERR_free_strings(void);
396 396
397void ERR_remove_thread_state(const CRYPTO_THREADID *tid); 397void ERR_remove_thread_state(const CRYPTO_THREADID *tid);
398#ifndef OPENSSL_NO_DEPRECATED 398/* Wrapped in OPENSSL_NO_DEPRECATED in 0.9.8. Still used in 2023. */
399void ERR_remove_state(unsigned long pid); /* if zero we look it up */ 399void ERR_remove_state(unsigned long pid);
400#endif
401ERR_STATE *ERR_get_state(void); 400ERR_STATE *ERR_get_state(void);
402 401
403#ifndef OPENSSL_NO_LHASH 402#ifndef OPENSSL_NO_LHASH