CONF_MODULES_FREE(3ossl)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… CONF_MODULES_FREE(3ossl) β€” the OpenSSL config cleanup besties

okay so this is one of those 3ossl manpages, from the OpenSSL fam, and it's all about tidying up your configuration modules. Think of it as the "ok bestie, we're leaving the party, grab your stuff" of the crypto library πŸŽ€


✨ NAME ✨

CONF_modules_free, CONF_modules_finish, CONF_modules_unload β€” the OpenSSL configuration cleanup functions. yes, all three, they're a trio, they come as a set πŸ’–


🌸 SYNOPSIS 🌸

#include <openssl/conf.h>

void CONF_modules_finish(void);
void CONF_modules_unload(int all);

and then, plot twist 😭 β€” the following functions have been deprecated since OpenSSL 1.1.0, and you can hide them entirely by defining OPENSSL_API_COMPAT with a suitable version value. check openssl_user_macros(7) for the deets:

void CONF_modules_free(void);

πŸ¦‹ DESCRIPTION πŸ¦‹

So CONF_modules_free() closes down and frees up all the memory allocated by all the configuration modules. like, everything. the whole closet 🧹✨ Normally β€” and by "normally" we mean in versions of OpenSSL prior to 1.1.0 β€” applications called CONF_modules_free() at exit to tidy up any configuration they'd performed. that's the old way, iykyk.

CONF_modules_finish() calls each configuration module's finish handler, so every module can free up whatever configuration it may have performed. it's giving "each of you clean up your own mess" 🫢

CONF_modules_unload() finishes and unloads configuration modules. here's the vibe check on the all arg:

  • if all is set to 0, only modules loaded from DSOs will be unloaded πŸ‘€
  • if all is 1, all modules β€” including built-in modules β€” will be unloaded πŸ”₯
ngl the original text literally says "will be unloads" for the 0 case, and we are not fixing it, we're just lovingly reporting it πŸ’€

🌈 RETURN VALUES 🌈

None of the functions return a value. not one. zero. void. they are above such things πŸ‘‘


πŸŽ€ SEE ALSO πŸŽ€


πŸ’œ HISTORY πŸ’œ

CONF_modules_free() was deprecated in OpenSSL 1.1.0 β€” do not use it 🚨 For more information see OPENSSL_init_crypto(3).


Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


and that's the whole page, bestie πŸ“ this one's from OpenSSL 3.5.6, dated 2026-04-07, so you know it's fresh ✨ mwah, go clean up your modules πŸ’…πŸ’–

πŸ“¦ where this page comes from