Commit 03b0e735 authored by Matt Caswell's avatar Matt Caswell
Browse files

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: default avatarTim Hudson <tjh@openssl.org>
Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent 6827cb36
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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);
+1 −4
Original line number Diff line number Diff line
@@ -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;
+2 −2
Original line number Diff line number Diff line
@@ -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
    }

+2 −0
Original line number Diff line number Diff line
@@ -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