Add CBC-MAC.
[shishi.git] / lib / done.c
blob046d78f6ee80b90fe287aa634317ec26e004c355
1 /* done.c deconstructor
2 * Copyright (C) 2002, 2003 Simon Josefsson
4 * This file is part of Shishi.
6 * Shishi is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * Shishi is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Shishi; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #include "internal.h"
24 /**
25 * shishi_done:
26 * @handle: shishi handle as allocated by shishi_init().
28 * Deallocates the shishi library handle. The handle must not be used
29 * in any calls to shishi functions after this. If there is a default
30 * tkts, it is written to the default tkts file (call
31 * shishi_tkts_default_file_set() to change the default tkts
32 * file). If you do not wish to write the default tkts file,
33 * close the default tkts with shishi_tkts_done(handle,
34 * NULL) before calling this function.
35 **/
36 void
37 shishi_done (Shishi * handle)
39 if (handle->tkts)
41 shishi_tkts_to_file (handle->tkts, shishi_tkts_default_file (handle));
43 shishi_tkts_done (&handle->tkts);
46 /* if (handle->default_realm)
47 free (handle->default_realm); */
48 if (handle->usercfgfile)
49 free (handle->usercfgfile);
50 if (handle->tktsdefaultfile)
51 free (handle->tktsdefaultfile);
52 if (handle->hostkeysdefaultfile)
53 free (handle->hostkeysdefaultfile);
54 if (handle->clientkdcetypes)
55 free (handle->clientkdcetypes);
57 if (handle->asn1)
58 shishi_asn1_done (handle, handle->asn1);
60 free (handle);