diff options
author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-01-17 23:57:51 +0000 |
---|---|---|
committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-01-17 23:57:51 +0000 |
commit | 191783e634d17927051337359f9abbe32c0e5b2e (patch) | |
tree | 23e55cd09bc4ed584e897a03487834bf36172b14 /src/lib | |
parent | 962f1e24f1a3838d521db990778e1bd5a0432be2 (diff) | |
download | krb5-191783e634d17927051337359f9abbe32c0e5b2e.zip krb5-191783e634d17927051337359f9abbe32c0e5b2e.tar.gz krb5-191783e634d17927051337359f9abbe32c0e5b2e.tar.bz2 |
Some applications such as Eudora on Windows load and unload the Kerberos
libraries as part of a plug-in. Plugins are often loaded for a specific
purpose and then unregistered. In order to support this model, the libraries
must restore the library state to the uninitialized state when the library
is unloaded.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17050 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/gssapi/ChangeLog | 4 | ||||
-rw-r--r-- | src/lib/gssapi/gss_libinit.c | 3 | ||||
-rw-r--r-- | src/lib/krb5/ChangeLog | 4 | ||||
-rw-r--r-- | src/lib/krb5/krb5_libinit.c | 6 |
4 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/gssapi/ChangeLog b/src/lib/gssapi/ChangeLog index 90ac10e..af50c5e 100644 --- a/src/lib/gssapi/ChangeLog +++ b/src/lib/gssapi/ChangeLog @@ -1,3 +1,7 @@ +2005-01-17 Jeffrey Altman <jaltman@mit.edu> + + * gss_libinit.c: implement cleanup of mutexes, static vars, etc for Windows + 2004-07-29 Sam Hartman <hartmans@mit.edu> * libgssapi_krb5.exports: Add lucid context routines and gss_krb5_set_allowable_enctypes diff --git a/src/lib/gssapi/gss_libinit.c b/src/lib/gssapi/gss_libinit.c index a43989f..d45ac44 100644 --- a/src/lib/gssapi/gss_libinit.c +++ b/src/lib/gssapi/gss_libinit.c @@ -41,7 +41,10 @@ void gssint_lib_fini(void) remove_error_table(&et_k5g_error_table); remove_error_table(&et_ggss_error_table); #endif + k5_key_delete(K5_KEY_GSS_KRB5_SET_CCACHE_OLD_NAME); + k5_key_delete(K5_KEY_GSS_KRB5_CCACHE_NAME); k5_mutex_destroy(&kg_vdb.mutex); + k5_mutex_destroy(&gssint_krb5_keytab_lock); } OM_uint32 gssint_initialize_library (void) diff --git a/src/lib/krb5/ChangeLog b/src/lib/krb5/ChangeLog index 97a7fe3..882c9e0 100644 --- a/src/lib/krb5/ChangeLog +++ b/src/lib/krb5/ChangeLog @@ -1,3 +1,7 @@ +2005-01-17 Jeffrey Altman <jaltman@mit.edu> + + * krb5_libinit.c: implement library cleanup of mutexes, static vars, etc + 2005-01-04 Jeffrey Altman <jaltman@mit.edu> * libkrb5.exports: add krb5_is_thread_safe diff --git a/src/lib/krb5/krb5_libinit.c b/src/lib/krb5/krb5_libinit.c index 8290c14..ece79cf 100644 --- a/src/lib/krb5/krb5_libinit.c +++ b/src/lib/krb5/krb5_libinit.c @@ -69,9 +69,11 @@ void krb5int_lib_fini(void) if (!INITIALIZER_RAN(krb5int_lib_init) || PROGRAM_EXITING()) return; - krb5int_rc_terminate(); - krb5int_kt_finalize(); + k5_mutex_destroy(&krb5int_us_time_mutex); + krb5int_cc_finalize(); + krb5int_kt_finalize(); + krb5int_rc_terminate(); #if defined(_WIN32) || defined(USE_CCAPI) krb5_stdcc_shutdown(); |