summaryrefslogtreecommitdiffstats
path: root/src/mac/GSS.CFM.c
blob: 98c552da3d44e4ed4340a0ff1fa5e9bb7bad5e1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 *   Copyright (C) 1997 by the Massachusetts Institute of Technology
 *   All rights reserved.
 *
 *   For copying and distribution information, please see the file
 *   COPYRIGHT.
 */
 
 
#include <CodeFragments.h>
 
#include "gssapi_err_generic.h"
#include "gssapi_err_krb5.h"

#include "gssapi.h"

OSErr __initializeGSS(CFragInitBlockPtr ibp);
void __terminateGSS(void);

OSErr __initializeGSS(CFragInitBlockPtr ibp)
{
	OSErr	err = noErr;
	
	/* Do normal init of the shared library */
	err = __initialize();
	
	/* Initialize the error tables */
	if (err == noErr) {
	    add_error_table(&et_k5g_error_table);
	    add_error_table(&et_ggss_error_table);
	}
	
	return err;
}

void __terminateGSS(void)
{

	OM_uint32 maj_stat, min_stat;

	maj_stat = kg_release_defcred (&min_stat);
	
    remove_error_table(&et_k5g_error_table);
    remove_error_table(&et_ggss_error_table);

	__terminate();
}