aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/os/t_std_conf.c
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1999-02-02 04:27:33 +0000
committerTheodore Tso <tytso@mit.edu>1999-02-02 04:27:33 +0000
commit19083c2a7626f485a3605779024aa776926d6786 (patch)
tree3892caf267274828e51fc3658a9cd19aaa34bcc3 /src/lib/krb5/os/t_std_conf.c
parentb28c1bca371582d924b06d7a618b20c5cce5359c (diff)
downloadkrb5-19083c2a7626f485a3605779024aa776926d6786.zip
krb5-19083c2a7626f485a3605779024aa776926d6786.tar.gz
krb5-19083c2a7626f485a3605779024aa776926d6786.tar.bz2
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
Diffstat (limited to 'src/lib/krb5/os/t_std_conf.c')
-rw-r--r--src/lib/krb5/os/t_std_conf.c46
1 files changed, 41 insertions, 5 deletions
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 <netinet/in.h>
#include <arpa/inet.h>
+#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;