Deprecate OBJ_cleanup() and make it a no-op

OBJ_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/crypto/asn1/asn_moid.c b/crypto/asn1/asn_moid.c
index 8198874..ded5d01 100644
--- a/crypto/asn1/asn_moid.c
+++ b/crypto/asn1/asn_moid.c
@@ -63,6 +63,7 @@
 #include <openssl/conf.h>
 #include <openssl/x509.h>
 #include "internal/asn1_int.h"
+#include "internal/objects.h"
 
 /* Simple ASN1 OID module: add all objects in a given section */
 
@@ -92,7 +93,7 @@
 
 static void oid_module_finish(CONF_IMODULE *md)
 {
-    OBJ_cleanup();
+    obj_cleanup_intern();
 }
 
 void ASN1_add_oid_module(void)
diff --git a/crypto/evp/names.c b/crypto/evp/names.c
index 22c725d..5ef52b4 100644
--- a/crypto/evp/names.c
+++ b/crypto/evp/names.c
@@ -58,7 +58,7 @@
 #include <stdio.h>
 #include "internal/cryptlib.h"
 #include <openssl/evp.h>
-#include <openssl/objects.h>
+#include <internal/objects.h>
 #include <openssl/x509.h>
 #include "internal/evp_int.h"
 
@@ -142,7 +142,7 @@
     EVP_PBE_cleanup();
     if (obj_cleanup_defer == 2) {
         obj_cleanup_defer = 0;
-        OBJ_cleanup();
+        obj_cleanup_intern();
     }
     OBJ_sigid_free();
 }
diff --git a/crypto/include/internal/objects.h b/crypto/include/internal/objects.h
new file mode 100644
index 0000000..601294f
--- /dev/null
+++ b/crypto/include/internal/objects.h
@@ -0,0 +1,11 @@
+/*
+ * Licensed under the OpenSSL licenses, (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * https://www.openssl.org/source/license.html
+ * or in the file LICENSE in the source distribution.
+ */
+
+#include <openssl/objects.h>
+
+void obj_cleanup_intern(void);
diff --git a/crypto/init.c b/crypto/init.c
index dc24c02..170d11b 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -67,6 +67,7 @@
 #include <internal/engine.h>
 #include <internal/comp.h>
 #include <internal/err.h>
+#include <internal/objects.h>
 #include <stdlib.h>
 #include <assert.h>
 
@@ -468,7 +469,7 @@
     fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
                     "evp_cleanup_intern()\n");
     fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
-                    "OBJ_cleanup()\n");
+                    "obj_cleanup_intern()\n");
 #endif
     /*
      * Note that cleanup order is important:
@@ -489,7 +490,7 @@
     bio_sock_cleanup_intern();
 #endif
     evp_cleanup_intern();
-    OBJ_cleanup();
+    obj_cleanup_intern();
     base_inited = 0;
 }
 
diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c
index 21b4187..90db56b 100644
--- a/crypto/objects/obj_dat.c
+++ b/crypto/objects/obj_dat.c
@@ -61,7 +61,7 @@
 #include "internal/cryptlib.h"
 #include <openssl/lhash.h>
 #include <openssl/asn1.h>
-#include <openssl/objects.h>
+#include "internal/objects.h"
 #include <openssl/bn.h>
 #include "internal/asn1_int.h"
 #include "obj_lcl.h"
@@ -210,7 +210,7 @@
         obj_cleanup_defer = 1;
 }
 
-void OBJ_cleanup(void)
+void obj_cleanup_intern(void)
 {
     if (obj_cleanup_defer) {
         obj_cleanup_defer = 2;