From 19083c2a7626f485a3605779024aa776926d6786 Mon Sep 17 00:00:00 2001 From: Theodore Tso Date: Tue, 2 Feb 1999 04:27:33 +0000 Subject: ccdefname.c: Add a new function krb5_cc_set_default_name(), which is used set the default ccname stored in the krb5_context. All of the OS-specific functions to determine the default ccname is moved to this function. The krb5_cc_default_name() function now just reads the default ccname from the os_context, and will call krb5_cc_set_default_name() to set the default ccname if necessary. t_std_conf: Added functions to test krb5_cc_default_name and krb5_cc_set_default_name(). Fixed the call to krb5_locate_kdc to support the new variables added by the Cygnus initial ticket API merge. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11140 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/os/t_std_conf.c | 46 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) (limited to 'src/lib/krb5/os/t_std_conf.c') diff --git a/src/lib/krb5/os/t_std_conf.c b/src/lib/krb5/os/t_std_conf.c index 5e61510..c47072c 100644 --- a/src/lib/krb5/os/t_std_conf.c +++ b/src/lib/krb5/os/t_std_conf.c @@ -14,6 +14,8 @@ #include #include +#include "os-proto.h" + void test_get_default_realm(ctx) krb5_context ctx; { @@ -43,6 +45,32 @@ void test_set_default_realm(ctx, realm) printf("krb5_set_default_realm(%s)\n", realm); } +void test_get_default_ccname(ctx) + krb5_context ctx; +{ + const char *ccname; + + ccname = krb5_cc_default_name(ctx); + if (ccname) + printf("krb5_cc_default_name() returned '%s'\n", ccname); + else + printf("krb5_cc_default_name() returned NULL\n"); +} + +void test_set_default_ccname(ctx, ccname) + krb5_context ctx; + char *ccname; +{ + krb5_error_code retval; + + retval = krb5_cc_set_default_name(ctx, ccname); + if (retval) { + com_err("krb5_set_default_ccname", retval, 0); + return; + } + printf("krb5_set_default_ccname(%s)\n", ccname); +} + void test_get_krbhst(ctx, realm) krb5_context ctx; char *realm; @@ -83,12 +111,14 @@ void test_locate_kdc(ctx, realm) struct sockaddr *addrs; struct sockaddr_in *sin; int i, naddrs; + int master_index, nmasters; krb5_data rlm; krb5_error_code retval; rlm.data = realm; rlm.length = strlen(realm); - retval = krb5_locate_kdc(ctx, &rlm, &addrs, &naddrs); + retval = krb5_locate_kdc(ctx, &rlm, &addrs, &naddrs, + &master_index, &nmasters); if (retval) { com_err("krb5_get_krbhst", retval, 0); return; @@ -152,12 +182,12 @@ void test_get_realm_domain(ctx, realm) void usage(progname) char *progname; { - fprintf(stderr, "%s: Usage: %s [-d] [-k realm] [-r host] [-D realm]\n", + fprintf(stderr, "%s: Usage: %s [-dc] [-k realm] [-r host] [-C ccname] [-D realm]\n", progname, progname); exit(1); } -main(argc, argv) +int main(argc, argv) int argc; char **argv; { @@ -168,13 +198,16 @@ main(argc, argv) retval = krb5_init_context(&ctx); if (retval) { - fprintf(stderr, "krb5_init_context returned error %ld\n", + fprintf(stderr, "krb5_init_context returned error %u\n", retval); exit(1); } - while ((c = getopt(argc, argv, "dk:r:D:l:s:")) != -1) { + while ((c = getopt(argc, argv, "cdk:r:C:D:l:s:")) != -1) { switch (c) { + case 'c': /* Get default ccname */ + test_get_default_ccname(ctx); + break; case 'd': /* Get default realm */ test_get_default_realm(ctx); break; @@ -190,6 +223,9 @@ main(argc, argv) case 's': test_set_default_realm(ctx, optarg); break; + case 'C': + test_set_default_ccname(ctx, optarg); + break; case 'D': test_get_realm_domain(ctx, optarg); break; -- cgit v1.1