From 7e61fff02abbafaac138b81e93da459ee69fbbe5 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 17 Mar 1996 23:46:03 +0000 Subject: [PATCH] klist git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@306 ec53bebd-3082-4978-b11e-865c3cabbd6b --- Makefile | 4 ++++ kinit.c | 2 ++ klist.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ kuser/kinit.c | 2 ++ kuser/klist.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 134 insertions(+) create mode 100644 klist.c create mode 100644 kuser/klist.c diff --git a/Makefile b/Makefile index d3fcf770c..ff8f24078 100644 --- a/Makefile +++ b/Makefile @@ -12,10 +12,14 @@ SOURCES = cache.c principal.c principal_p.c data.c context.c misc.c \ OBJECTS = $(SOURCES:%.c=%.o) config_file.o +all: kinit klist kinit: kinit.o libkrb5.a $(CC) -o kinit kinit.o libkrb5.a -L/usr/local/lib -ldes +klist: klist.o libkrb5.a + $(CC) -o klist klist.o libkrb5.a -L/usr/local/lib -ldes + tt: test.o libkrb5.a $(CC) -o tt test.o libkrb5.a diff --git a/kinit.c b/kinit.c index 3eeac3a7f..3b321367b 100644 --- a/kinit.c +++ b/kinit.c @@ -52,5 +52,7 @@ main (int argc, char **argv) NULL); if (err) abort (); + + krb5_free_context (context); return 0; } diff --git a/klist.c b/klist.c new file mode 100644 index 000000000..e40c0140c --- /dev/null +++ b/klist.c @@ -0,0 +1,63 @@ +#include +#include + +int +main (int argc, char **argv) +{ + krb5_error_code err; + krb5_context context; + krb5_ccache ccache; + krb5_principal principal; + krb5_cc_cursor cursor; + krb5_creds creds; + char *str; + + err = krb5_init_context (&context); + if (err) + abort (); + + err = krb5_cc_default (context, &ccache); + if (err) + abort (); + + err = krb5_cc_get_principal (context, ccache, &principal); + if (err) + abort (); + + err = krb5_unparse_name (context, principal, &str); + if (err) + abort (); + + printf ("Principal: %s\n", str); + free (str); + + err = krb5_cc_start_seq_get (context, ccache, &cursor); + if (err) + abort (); + + while (krb5_cc_next_cred (context, + ccache, + &creds, + &cursor) == 0) { + err = krb5_unparse_name (context, creds.server, &str); + if (err) + abort (); + printf ("%s\t", str); + free (str); + printf ("%s\t", ctime(&creds.times.starttime)); + printf ("%s\n", ctime(&creds.times.endtime)); + } + err = krb5_cc_end_seq_get (context, ccache, &cursor); + if (err) + return err; + + err = krb5_cc_close (context, ccache); + if (err) + abort (); + + + krb5_free_principal (principal); + + krb5_free_context (context); + return 0; +} diff --git a/kuser/kinit.c b/kuser/kinit.c index 3eeac3a7f..3b321367b 100644 --- a/kuser/kinit.c +++ b/kuser/kinit.c @@ -52,5 +52,7 @@ main (int argc, char **argv) NULL); if (err) abort (); + + krb5_free_context (context); return 0; } diff --git a/kuser/klist.c b/kuser/klist.c new file mode 100644 index 000000000..e40c0140c --- /dev/null +++ b/kuser/klist.c @@ -0,0 +1,63 @@ +#include +#include + +int +main (int argc, char **argv) +{ + krb5_error_code err; + krb5_context context; + krb5_ccache ccache; + krb5_principal principal; + krb5_cc_cursor cursor; + krb5_creds creds; + char *str; + + err = krb5_init_context (&context); + if (err) + abort (); + + err = krb5_cc_default (context, &ccache); + if (err) + abort (); + + err = krb5_cc_get_principal (context, ccache, &principal); + if (err) + abort (); + + err = krb5_unparse_name (context, principal, &str); + if (err) + abort (); + + printf ("Principal: %s\n", str); + free (str); + + err = krb5_cc_start_seq_get (context, ccache, &cursor); + if (err) + abort (); + + while (krb5_cc_next_cred (context, + ccache, + &creds, + &cursor) == 0) { + err = krb5_unparse_name (context, creds.server, &str); + if (err) + abort (); + printf ("%s\t", str); + free (str); + printf ("%s\t", ctime(&creds.times.starttime)); + printf ("%s\n", ctime(&creds.times.endtime)); + } + err = krb5_cc_end_seq_get (context, ccache, &cursor); + if (err) + return err; + + err = krb5_cc_close (context, ccache); + if (err) + abort (); + + + krb5_free_principal (principal); + + krb5_free_context (context); + return 0; +}