On 14/06/2019 00:42, Graham Leggett wrote:
> Hi all,
> 
> I am currently reviewing the shutdown behaviour in both httpd’s mod_ssl and 
> apr’s apr-crypto-openssl modules.
> 
> Am I right in understanding that from openssl v1.1.0 and upwards, all the 
> following calls are no longer necessary, will be called automatically atexit 
> by the openssl library, and these can be removed from the code?
> 
> https://svn.apache.org/viewvc/httpd/httpd/tags/2.4.39/modules/ssl/mod_ssl.c?view=markup#l329
> 
>     FIPS_mode_set(0);
>     OBJ_cleanup();
>     CONF_modules_free();
>     EVP_cleanup();
>     ENGINE_cleanup();
>     SSL_COMP_free_compression_methods();
>     ERR_remove_thread_state(NULL);
>     ERR_remove_state(0);
>     ERR_free_strings();
>     CRYPTO_cleanup_all_ex_data();
> 
> https://svn.apache.org/viewvc/apr/apr-util/tags/1.6.1/crypto/apr_crypto_openssl.c?view=markup#l114
> 
>     ERR_free_strings();
>     EVP_cleanup();
>     ENGINE_cleanup();
> 

Correct. *All* of the above calls are no-ops in 1.1.0+, e.g:

#  define EVP_cleanup() while(0) continue

There are one or two caveats around auto-init and auto-deinit of the library.
The documentation for it is here:

https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_init_crypto.html

Matt

Reply via email to