Add --cache option.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2723 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -39,35 +39,63 @@
|
|||||||
#include "kuser_locl.h"
|
#include "kuser_locl.h"
|
||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
|
char *cache;
|
||||||
|
int help_flag;
|
||||||
|
int version_flag;
|
||||||
|
|
||||||
|
struct getargs args[] = {
|
||||||
|
{ "cache", 'c', arg_string, &cache, "cache to destroy", "cache" },
|
||||||
|
{ "version", 0, arg_flag, &version_flag, NULL, NULL },
|
||||||
|
{ "help", 'h', arg_flag, &help_flag, NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
int num_args = sizeof(args) / sizeof(args[0]);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage (void)
|
usage (int status)
|
||||||
{
|
{
|
||||||
errx (1, "Usage: %s", __progname);
|
arg_printusage (args, num_args, "");
|
||||||
|
exit (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
krb5_error_code err;
|
krb5_error_code ret;
|
||||||
krb5_context context;
|
krb5_context context;
|
||||||
krb5_ccache ccache;
|
krb5_ccache ccache;
|
||||||
krb5_principal principal;
|
int optind = 0;
|
||||||
krb5_principal server;
|
|
||||||
krb5_creds cred;
|
|
||||||
|
|
||||||
set_progname (argv[0]);
|
set_progname (argv[0]);
|
||||||
|
|
||||||
err = krb5_init_context (&context);
|
if(getarg(args, num_args, argc, argv, &optind))
|
||||||
if (err)
|
usage(1);
|
||||||
errx (1, "krb5_init_context: %s", krb5_get_err_text(context, err));
|
|
||||||
|
|
||||||
err = krb5_cc_default (context, &ccache);
|
if (help_flag)
|
||||||
if (err)
|
usage (0);
|
||||||
errx (1, "krb5_cc_default: %s", krb5_get_err_text(context, err));
|
|
||||||
|
if(version_flag){
|
||||||
|
printf("%s (%s)\n", __progname, heimdal_version);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = krb5_init_context (&context);
|
||||||
|
if (ret)
|
||||||
|
errx (1, "krb5_init_context: %s", krb5_get_err_text(context, ret));
|
||||||
|
|
||||||
|
if(cache == NULL)
|
||||||
|
cache = krb5_cc_default_name(context);
|
||||||
|
|
||||||
err = krb5_cc_destroy (context, ccache);
|
ret = krb5_cc_resolve(context,
|
||||||
if (err)
|
cache,
|
||||||
errx (1, "krb5_cc_destroy: %s", krb5_get_err_text(context, err));
|
&ccache);
|
||||||
krb5_free_context (context);
|
|
||||||
return 0;
|
if (ret)
|
||||||
|
errx (1, "krb5_cc_resolve(%s): %s", cache, krb5_get_err_text(context, ret));
|
||||||
|
|
||||||
|
ret = krb5_cc_destroy (context, ccache);
|
||||||
|
if (ret)
|
||||||
|
errx (1, "krb5_cc_destroy: %s", krb5_get_err_text(context, ret));
|
||||||
|
krb5_free_context (context);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user