diff options
author | nectar <nectar@FreeBSD.org> | 2002-02-19 15:46:56 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-02-19 15:46:56 +0000 |
commit | 69a91bec14ec3ad49d1c8a82c40a796755f9e4a3 (patch) | |
tree | 85ecf91fd00875cec4b93111d3a8ed9eec9cddfe /crypto/heimdal/admin/ktutil.c | |
parent | 8db4cdb3da4228a5d93635e43825e2e8a2f66db7 (diff) | |
download | FreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.zip FreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.tar.gz |
Import of Heimdal Kerberos from KTH repository circa 2002/02/17.
Diffstat (limited to 'crypto/heimdal/admin/ktutil.c')
-rw-r--r-- | crypto/heimdal/admin/ktutil.c | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/crypto/heimdal/admin/ktutil.c b/crypto/heimdal/admin/ktutil.c index 36f7cd8..7ac9b4b 100644 --- a/crypto/heimdal/admin/ktutil.c +++ b/crypto/heimdal/admin/ktutil.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 - 2001 Kungliga Tekniska Högskolan + * Copyright (c) 1997 - 2002 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -34,13 +34,13 @@ #include "ktutil_locl.h" #include <err.h> -RCSID("$Id: ktutil.c,v 1.33 2001/05/10 16:04:27 assar Exp $"); +RCSID("$Id: ktutil.c,v 1.36 2002/02/11 14:14:11 joda Exp $"); static int help_flag; static int version_flag; int verbose_flag; char *keytab_string; -char keytab_buf[256]; +static char keytab_buf[256]; static int help(int argc, char **argv); @@ -59,6 +59,8 @@ static SL_cmd cmds[] = { "remove old and superceeded entries" }, { "remove", kt_remove, "remove", "remove key from keytab" }, + { "rename", kt_rename, "rename from to", + "rename entry" }, { "srvconvert", srvconv, "srvconvert [flags]", "convert v4 srvtab to keytab" }, { "srv2keytab" }, @@ -108,6 +110,30 @@ static int num_args = sizeof(args) / sizeof(args[0]); krb5_context context; +krb5_keytab +ktutil_open_keytab(void) +{ + krb5_error_code ret; + krb5_keytab keytab; + if (keytab_string == NULL) { + ret = krb5_kt_default_name (context, keytab_buf, sizeof(keytab_buf)); + if (ret) { + krb5_warn(context, ret, "krb5_kt_default_name"); + return NULL; + } + keytab_string = keytab_buf; + } + ret = krb5_kt_resolve(context, keytab_string, &keytab); + if (ret) { + krb5_warn(context, ret, "resolving keytab %s", keytab_string); + return NULL; + } + if (verbose_flag) + fprintf (stderr, "Using keytab %s\n", keytab_string); + + return keytab; +} + static int help(int argc, char **argv) { |