diff options
Diffstat (limited to 'src/lib/crypto/krb/crypto_libinit.c')
-rw-r--r-- | src/lib/crypto/krb/crypto_libinit.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/crypto/krb/crypto_libinit.c b/src/lib/crypto/krb/crypto_libinit.c new file mode 100644 index 000000000..91bf8ac22 --- /dev/null +++ b/src/lib/crypto/krb/crypto_libinit.c @@ -0,0 +1,33 @@ +#include <assert.h> +#include "k5-int.h" + +MAKE_INIT_FUNCTION(cryptoint_initialize_library); +MAKE_FINI_FUNCTION(cryptoint_cleanup_library); + +extern int krb5int_prng_init(void); +extern void krb5int_prng_cleanup (void); + +/* + * Initialize the crypto library. + */ + +int cryptoint_initialize_library (void) +{ + return krb5int_prng_init(); +} + +int krb5int_crypto_init(void) +{ + return CALL_INIT_FUNCTION(cryptoint_initialize_library); +} + +/* + * Clean up the crypto library state + */ + +void cryptoint_cleanup_library (void) +{ + if (!INITIALIZER_RAN(cryptoint_initialize_library)) + return; + krb5int_prng_cleanup (); +} |