summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-04 17:19:06 +0100
committerMatt Caswell <matt@openssl.org>2016-04-13 08:52:33 +0100
commit02a247e0fa23f2caa9c10df3adf3476eb9813c95 (patch)
tree27382f1da3d5bfffe5b6ac0d3bded12645a8146c
parent01d358a3ab09b0a4e79a5a492169aedcfbe8ddb3 (diff)
Deprecate COMP_zlib_cleanup() and make it a no-op
COMP_zlib_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>
-rw-r--r--crypto/comp/c_zlib.c6
-rw-r--r--crypto/init.c6
-rw-r--r--include/internal/comp.h11
-rw-r--r--include/openssl/comp.h5
4 files changed, 21 insertions, 7 deletions
diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c
index 68b9da78be..e16fbbb4ef 100644
--- a/crypto/comp/c_zlib.c
+++ b/crypto/comp/c_zlib.c
@@ -56,7 +56,7 @@
#include <stdlib.h>
#include <string.h>
#include <openssl/objects.h>
-#include <openssl/comp.h>
+#include "internal/comp.h"
#include <openssl/err.h>
#include "internal/cryptlib_int.h"
#include "internal/bio.h"
@@ -282,7 +282,7 @@ COMP_METHOD *COMP_zlib(void)
zlib_loaded++;
if (!OPENSSL_init_crypto(OPENSSL_INIT_ZLIB, NULL)) {
- COMP_zlib_cleanup();
+ comp_zlib_cleanup_internal();
return meth;
}
if (zlib_loaded)
@@ -297,7 +297,7 @@ COMP_METHOD *COMP_zlib(void)
return (meth);
}
-void COMP_zlib_cleanup(void)
+void comp_zlib_cleanup_internal(void)
{
#ifdef ZLIB_SHARED
if (zlib_dso != NULL)
diff --git a/crypto/init.c b/crypto/init.c
index 4d28e31ace..fe1ecd876c 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -64,7 +64,7 @@
#include <internal/conf.h>
#include <internal/async.h>
#include <internal/engine.h>
-#include <openssl/comp.h>
+#include <internal/comp.h>
#include <internal/err.h>
#include <stdlib.h>
#include <assert.h>
@@ -427,9 +427,9 @@ void OPENSSL_cleanup(void)
if (zlib_inited) {
#ifdef OPENSSL_INIT_DEBUG
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
- "COMP_zlib_cleanup()\n");
+ "comp_zlib_cleanup_internal()\n");
#endif
- COMP_zlib_cleanup();
+ comp_zlib_cleanup_internal();
}
#endif
diff --git a/include/internal/comp.h b/include/internal/comp.h
new file mode 100644
index 0000000000..8232574635
--- /dev/null
+++ b/include/internal/comp.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/comp.h>
+
+void comp_zlib_cleanup_internal(void);
diff --git a/include/openssl/comp.h b/include/openssl/comp.h
index 9fa71efd55..bfdadce1a1 100644
--- a/include/openssl/comp.h
+++ b/include/openssl/comp.h
@@ -79,7 +79,10 @@ int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
unsigned char *in, int ilen);
COMP_METHOD *COMP_zlib(void);
-void COMP_zlib_cleanup(void);
+
+#if OPENSSL_API_COMPAT < 0x10100000L
+#define COMP_zlib_cleanup()
+#endif
# ifdef HEADER_BIO_H
# ifdef ZLIB