From b51570b5eca21dd8f8e13a749d6e60695def24eb Mon Sep 17 00:00:00 2001 From: tb Date: Sat, 13 Jan 2024 19:06:20 +0000 Subject: [PATCH] Remove check{,obj_cleanup}_defer documentation Both check_defer() and the global variable obj_cleanup_defer were removed from the public API two years ago. Now they were removed from the internals as well, simplifying the cleanup process greatly. We no longer need them to have a chance to understand the cleanup process. Also remove references to EVP_cleanup() since this has long been deprecated and now it doesn't clean up things anymore. --- lib/libcrypto/man/OBJ_create.3 | 69 ++-------------------------------- 1 file changed, 3 insertions(+), 66 deletions(-) diff --git a/lib/libcrypto/man/OBJ_create.3 b/lib/libcrypto/man/OBJ_create.3 index 7a6135e0522..6bc255e9818 100644 --- a/lib/libcrypto/man/OBJ_create.3 +++ b/lib/libcrypto/man/OBJ_create.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: OBJ_create.3,v 1.8 2023/09/06 12:26:59 schwarze Exp $ +.\" $OpenBSD: OBJ_create.3,v 1.9 2024/01/13 19:06:20 tb Exp $ .\" full merge up to: .\" OpenSSL OBJ_nid2obj.pod 9b86974e Aug 17 15:21:33 2015 -0400 .\" selective merge up to: @@ -69,7 +69,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED .\" OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: September 6 2023 $ +.Dd $Mdocdate: January 13 2024 $ .Dt OBJ_CREATE 3 .Os .Sh NAME @@ -78,9 +78,7 @@ .Nm OBJ_create , .\" OBJ_create_and_add_object is a deprecated, unused alias for OBJ_create(3). .Nm OBJ_create_objects , -.Nm obj_cleanup_defer , -.Nm OBJ_cleanup , -.Nm check_defer +.Nm OBJ_cleanup .Nd modify the table of ASN.1 object identifiers .Sh SYNOPSIS .In openssl/objects.h @@ -96,11 +94,8 @@ .Fc .Ft int .Fn OBJ_create_objects "BIO *in_bio" -.Vt extern int obj_cleanup_defer ; .Ft void .Fn OBJ_cleanup void -.Ft void -.Fn check_defer "int nid" .Sh DESCRIPTION .Fn OBJ_new_nid returns the smallest currently unassigned ASN.1 numeric @@ -154,16 +149,6 @@ or a similar function and then calling .Xr ASN1_OBJECT_free 3 on the returned pointer will have no effect. .Pp -The global variable -.Va obj_cleanup_defer -controls the behaviour of -.Fn OBJ_cleanup -and -.Xr EVP_cleanup 3 . -.Pp -If -.Va obj_cleanup_defer -has the default value of 0, .Fn OBJ_cleanup resets the internal object table to its default state, removing and freeing all objects that were added with @@ -171,47 +156,6 @@ removing and freeing all objects that were added with .Fn OBJ_create , or .Fn OBJ_create_objects . -Otherwise, -.Fn OBJ_cleanup -only sets -.Va obj_cleanup_defer -to 2, which defers the cleanup of the internal object table -to the next call of -.Xr EVP_cleanup 3 . -.Pp -By default, -.Xr EVP_cleanup 3 -has no effect on the internal object table. -Only if -.Va obj_cleanup_defer -is 2, it resets -.Va obj_cleanup_defer -to 0 and calls -.Fn OBJ_cleanup , -which then resets the table to its default state. -.Pp -The function -.Fn check_defer -sets -.Va obj_cleanup_defer -to 1 unless -.Fa nid -is a built-in numeric identifier, but it has no effect if -.Va obj_cleanup_defer -already differs from 0. -This function is called internally by various functions -in the EVP library, in particular by subroutines of -.Xr OpenSSL_add_all_ciphers 3 -and -.Xr OpenSSL_add_all_digests 3 . -.Pp -To reliably reset the internal object table no matter what the -current state may be, an application program needs to call both -.Fn OBJ_cleanup -and -.Xr EVP_cleanup 3 , -in this order. -The opposite order will usually not work. .Sh RETURN VALUES .Fn OBJ_new_nid returns the new NID. @@ -256,7 +200,6 @@ obj = OBJ_nid2obj(new_nid); .Ed .Sh SEE ALSO .Xr ASN1_OBJECT_new 3 , -.Xr EVP_cleanup 3 , .Xr OBJ_NAME_add 3 , .Xr OBJ_nid2obj 3 .Sh HISTORY @@ -269,12 +212,6 @@ first appeared in SSLeay 0.8.0 and in SSLeay 0.9.0. These functions have been available since .Ox 2.4 . -.Pp -.Va obj_cleanup_defer -and -.Fn check_defer -first appeared in OpenSSL 1.0.0 and have been available since -.Ox 4.9 . .Sh CAVEATS .Fn OBJ_add_object indicates success even after adding an incomplete object that was created with -- 2.20.1