summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-04 13:53:35 +0100
committerMatt Caswell <matt@openssl.org>2016-04-13 08:52:33 +0100
commit03b0e735556ed31c3e9096350e7a4563ea9d34b7 (patch)
treecce1221d779f74dbbe6fd88c049fd5d59fa0bee5
parent6827cb3610fee4ec8cc120cc6b5bf88b04884ae7 (diff)
Deprecate SSL_COMP_free_compression_methods() and make it a no-op
SSL_COMP_free_compression_methods() 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--doc/ssl/SSL_COMP_add_compression_method.pod19
-rw-r--r--include/openssl/ssl.h4
-rw-r--r--ssl/ssl_ciph.c5
-rw-r--r--ssl/ssl_init.c4
-rw-r--r--ssl/ssl_locl.h2
5 files changed, 23 insertions, 11 deletions
diff --git a/doc/ssl/SSL_COMP_add_compression_method.pod b/doc/ssl/SSL_COMP_add_compression_method.pod
index 6a0caffff9..b08a4247cc 100644
--- a/doc/ssl/SSL_COMP_add_compression_method.pod
+++ b/doc/ssl/SSL_COMP_add_compression_method.pod
@@ -10,7 +10,11 @@ SSL_COMP_add_compression_method, SSL_COMP_free_compression_methods - handle SSL/
int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
- +void SSL_COMP_free_compression_methods(void);
+Deprecated:
+
+ #if OPENSSL_API_COMPAT < 0x10100000L
+ # define SSL_COMP_free_compression_methods()
+ #endif
=head1 DESCRIPTION
@@ -19,9 +23,12 @@ the identifier B<id> to the list of available compression methods. This
list is globally maintained for all SSL operations within this application.
It cannot be set for specific SSL_CTX or SSL objects.
-SSL_COMP_free_compression_methods() frees the internal table of
-compression methods that were built internally, and possibly
-augmented by adding SSL_COMP_add_compression_method().
+In versions of OpenSSL prior to 1.1.0 SSL_COMP_free_compression_methods() freed
+the internal table of compression methods that were built internally, and
+possibly augmented by adding SSL_COMP_add_compression_method(). However this is
+now unncessary from version 1.1.0. No explicit initialisation or
+de-initialisation is necessary. See L<OPENSSL_init_crypto(3)> and
+L<OPENSSL_init_ssl(3)>. From OpenSSL 1.1.0 calling this function does nothing.
=head1 NOTES
@@ -73,4 +80,8 @@ The operation failed. Check the error queue to find out the reason.
L<ssl(3)>
+=head1 HISTORY
+
+SSL_COMP_free_compression_methods() was deprecated in OpenSSL 1.1.0.
+
=cut
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index b085c9ebb2..6b66407edc 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -1835,7 +1835,9 @@ __owur const char *SSL_COMP_get_name(const COMP_METHOD *comp);
STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
__owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
*meths);
-void SSL_COMP_free_compression_methods(void);
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define SSL_COMP_free_compression_methods()
+#endif
__owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr);
diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
index 46fa3e89c6..1faa2ea160 100644
--- a/ssl/ssl_ciph.c
+++ b/ssl/ssl_ciph.c
@@ -1883,9 +1883,6 @@ STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
{
return meths;
}
-void SSL_COMP_free_compression_methods(void)
-{
-}
int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm)
{
return 1;
@@ -1911,7 +1908,7 @@ static void cmeth_free(SSL_COMP *cm)
OPENSSL_free(cm);
}
-void SSL_COMP_free_compression_methods(void)
+void ssl_comp_free_compression_methods_intern(void)
{
STACK_OF(SSL_COMP) *old_meths = ssl_comp_methods;
ssl_comp_methods = NULL;
diff --git a/ssl/ssl_init.c b/ssl/ssl_init.c
index 2462fa5eab..2f8034a7d3 100644
--- a/ssl/ssl_init.c
+++ b/ssl/ssl_init.c
@@ -198,9 +198,9 @@ static void ssl_library_stop(void)
#ifndef OPENSSL_NO_COMP
#ifdef OPENSSL_INIT_DEBUG
fprintf(stderr, "OPENSSL_INIT: ssl_library_stop: "
- "SSL_COMP_free_compression_methods()\n");
+ "ssl_comp_free_compression_methods_intern()\n");
#endif
- SSL_COMP_free_compression_methods();
+ ssl_comp_free_compression_methods_intern();
#endif
}
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h
index c02dbbbe47..1596091e81 100644
--- a/ssl/ssl_locl.h
+++ b/ssl/ssl_locl.h
@@ -2195,6 +2195,8 @@ __owur int custom_ext_add(SSL *s, int server,
__owur int custom_exts_copy(custom_ext_methods *dst, const custom_ext_methods *src);
void custom_exts_free(custom_ext_methods *exts);
+void ssl_comp_free_compression_methods_intern(void);
+
# else
# define ssl_init_wbio_buffer SSL_test_functions()->p_ssl_init_wbio_buffer