summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-04 14:53:37 +0100
committerMatt Caswell <matt@openssl.org>2016-04-13 08:52:33 +0100
commit62d876ad1784bce2feb1b95cfff8aca0fbc3e1e2 (patch)
tree18db51c88bbdf8774ec6d6e19fe414cba212bc78
parenta5e3ac13d602173e2820e7f4399fa89e25db7821 (diff)
Deprecate BIO_sock_cleanup() and make it a no-op
BIO_sock_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/bio/b_sock.c2
-rw-r--r--crypto/init.c5
-rw-r--r--include/internal/bio.h3
-rw-r--r--include/openssl/bio.h4
4 files changed, 8 insertions, 6 deletions
diff --git a/crypto/bio/b_sock.c b/crypto/bio/b_sock.c
index 046de99190..e0038f0188 100644
--- a/crypto/bio/b_sock.c
+++ b/crypto/bio/b_sock.c
@@ -205,7 +205,7 @@ int BIO_sock_init(void)
return (1);
}
-void BIO_sock_cleanup(void)
+void bio_sock_cleanup_intern(void)
{
# ifdef OPENSSL_SYS_WINDOWS
if (wsa_init_done) {
diff --git a/crypto/init.c b/crypto/init.c
index 3bfe4502eb..2d50d4deb8 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -59,6 +59,7 @@
#include <internal/cryptlib_int.h>
#include <openssl/err.h>
#include <internal/rand.h>
+#include <internal/bio.h>
#include <openssl/evp.h>
#include <internal/evp_int.h>
#include <internal/conf.h>
@@ -463,7 +464,7 @@ void OPENSSL_cleanup(void)
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"crypto_cleanup_all_ex_data_intern()\n");
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
- "BIO_sock_cleanup()\n");
+ "bio_sock_cleanup_intern()\n");
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"EVP_cleanup()\n");
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
@@ -485,7 +486,7 @@ void OPENSSL_cleanup(void)
#endif
crypto_cleanup_all_ex_data_intern();
#ifndef OPENSSL_NO_SOCK
- BIO_sock_cleanup();
+ bio_sock_cleanup_intern();
#endif
EVP_cleanup();
OBJ_cleanup();
diff --git a/include/internal/bio.h b/include/internal/bio.h
index b3352ce80f..bf5bc18c7a 100644
--- a/include/internal/bio.h
+++ b/include/internal/bio.h
@@ -67,5 +67,4 @@ struct bio_method_st {
long (*callback_ctrl) (BIO *, int, bio_info_cb *);
};
-
-
+void bio_sock_cleanup_intern(void);
diff --git a/include/openssl/bio.h b/include/openssl/bio.h
index e0c6380883..97a3d9d46c 100644
--- a/include/openssl/bio.h
+++ b/include/openssl/bio.h
@@ -695,7 +695,9 @@ int BIO_sock_error(int sock);
int BIO_socket_ioctl(int fd, long type, void *arg);
int BIO_socket_nbio(int fd, int mode);
int BIO_sock_init(void);
-void BIO_sock_cleanup(void);
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define BIO_sock_cleanup()
+#endif
int BIO_set_tcp_ndelay(int sock, int turn_on);
DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name))