summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/lib/gssapi/acquire_cred.c
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2002-02-19 15:46:56 +0000
committernectar <nectar@FreeBSD.org>2002-02-19 15:46:56 +0000
commit69a91bec14ec3ad49d1c8a82c40a796755f9e4a3 (patch)
tree85ecf91fd00875cec4b93111d3a8ed9eec9cddfe /crypto/heimdal/lib/gssapi/acquire_cred.c
parent8db4cdb3da4228a5d93635e43825e2e8a2f66db7 (diff)
downloadFreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.zip
FreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.tar.gz
Import of Heimdal Kerberos from KTH repository circa 2002/02/17.
Diffstat (limited to 'crypto/heimdal/lib/gssapi/acquire_cred.c')
-rw-r--r--crypto/heimdal/lib/gssapi/acquire_cred.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/crypto/heimdal/lib/gssapi/acquire_cred.c b/crypto/heimdal/lib/gssapi/acquire_cred.c
index acc60a2..0e6873f 100644
--- a/crypto/heimdal/lib/gssapi/acquire_cred.c
+++ b/crypto/heimdal/lib/gssapi/acquire_cred.c
@@ -33,7 +33,7 @@
#include "gssapi_locl.h"
-RCSID("$Id: acquire_cred.c,v 1.6 2001/05/11 09:16:45 assar Exp $");
+RCSID("$Id: acquire_cred.c,v 1.7 2001/07/06 15:33:28 assar Exp $");
OM_uint32 gss_acquire_cred
(OM_uint32 * minor_status,
@@ -85,9 +85,23 @@ OM_uint32 gss_acquire_cred
krb5_get_init_creds_opt opt;
try_keytab:
- kret = krb5_kt_default(gssapi_krb5_context, &handle->keytab);
- if (kret != 0)
- goto krb5_bad;
+ if (gssapi_krb5_keytab != NULL) {
+ char kt_name[256];
+
+ kret = krb5_kt_get_name(gssapi_krb5_context,
+ gssapi_krb5_keytab,
+ kt_name, sizeof(kt_name));
+ if (kret)
+ goto krb5_bad;
+ kret = krb5_kt_resolve(gssapi_krb5_context, kt_name,
+ &handle->keytab);
+ if (kret)
+ goto krb5_bad;
+ } else {
+ kret = krb5_kt_default(gssapi_krb5_context, &handle->keytab);
+ if (kret != 0)
+ goto krb5_bad;
+ }
krb5_get_init_creds_opt_init(&opt);
memset(&cred, 0, sizeof(cred));
OpenPOWER on IntegriCloud