diff options
Diffstat (limited to 'src/lib/gssapi')
| -rw-r--r-- | src/lib/gssapi/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lib/gssapi/Makefile.in | 6 | ||||
| -rw-r--r-- | src/lib/gssapi/gss_libinit.c | 43 | ||||
| -rw-r--r-- | src/lib/gssapi/gss_libinit.h | 9 |
4 files changed, 64 insertions, 0 deletions
diff --git a/src/lib/gssapi/ChangeLog b/src/lib/gssapi/ChangeLog index 8f794fa71..64f7f5765 100644 --- a/src/lib/gssapi/ChangeLog +++ b/src/lib/gssapi/ChangeLog @@ -1,3 +1,9 @@ +Fri Jan 21 22:47:00 2000 Miro Jurisic <meeroh@mit.edu> + + * Makefile.in: added gss_libinit.[co] + * gss_libinit.[ch]: new files, contain library initialization + and cleanup code + Tue May 18 19:52:56 1999 Danilo Almeida <dalmeida@mit.edu> * Makefile.in: Remove - from recursive Win32 make invocation. diff --git a/src/lib/gssapi/Makefile.in b/src/lib/gssapi/Makefile.in index 992615d55..5198aec4b 100644 --- a/src/lib/gssapi/Makefile.in +++ b/src/lib/gssapi/Makefile.in @@ -12,6 +12,12 @@ LOCAL_SUBDIRS= generic krb5 MAC_SUBDIRS = generic krb5 +OBJS=\ + $(OUTPRE)gss_libinit.$(OBJEXT) + +SRCS=\ + $(subdir)/gss_libinit.c + LIB=gssapi_krb5 LIBMAJOR=2 LIBMINOR=1 diff --git a/src/lib/gssapi/gss_libinit.c b/src/lib/gssapi/gss_libinit.c new file mode 100644 index 000000000..ac91b0fa1 --- /dev/null +++ b/src/lib/gssapi/gss_libinit.c @@ -0,0 +1,43 @@ +#include <assert.h> + +#include "gssapi_err_generic.h" +#include "gssapi_err_krb5.h" + +#include "gss_libinit.h" + +static int initialized = false; + +/* + * Initialize the GSSAPI library. + */ + +OM_uint32 gssint_initialize_library (void) +{ + + if (!initialized) { + add_error_table(&et_k5g_error_table); + add_error_table(&et_ggss_error_table); + + initialized = true; + } + + return 0; +} + +/* + * Clean up the Kerberos v5 lirbary state + */ + +void gssint_cleanup_library (void) +{ + OM_uint32 maj_stat, min_stat; + + assert (initialized); + + maj_stat = kg_release_defcred (&min_stat); + + remove_error_table(&et_k5g_error_table); + remove_error_table(&et_ggss_error_table); + + initialized = false; +}
\ No newline at end of file diff --git a/src/lib/gssapi/gss_libinit.h b/src/lib/gssapi/gss_libinit.h new file mode 100644 index 000000000..ba89ff397 --- /dev/null +++ b/src/lib/gssapi/gss_libinit.h @@ -0,0 +1,9 @@ +#ifndef KRB5_LIBINIT_H +#define KRB5_LIBINIT_H + +#include "gssapi.h" + +OM_uint32 gssint_initialize_library (void); +void gssint_cleanup_library (void); + +#endif /* KRB5_LIBINIT_H */ |
