Add --cache option.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2723 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-08-07 20:11:45 +00:00
parent 08cebc2e44
commit 35a677e0f6

View File

@@ -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;
} }