summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordtucker <dtucker>2014-01-20 02:18:09 +0000
committerdtucker <dtucker>2014-01-20 02:18:09 +0000
commit012c5940a90d5e0e12a1d304419a3f274efec48a (patch)
treedfe1d058dbc8b85896e496bc433c724071bd0207
parentca4fe166a6066fd63cee01ae59850ca0215d7fb8 (diff)
downloadopenssh-012c5940a90d5e0e12a1d304419a3f274efec48a.tar.gz
- (dtucker) [gss-serv-krb5.c] Fall back to krb5_cc_gen_new if the Kerberos
implementation does not have krb5_cc_new_unique, similar to what we do in auth-krb5.c.
-rw-r--r--ChangeLog3
-rw-r--r--gss-serv-krb5.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b870c075..6073abbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
20140120
+ - (dtucker) [gss-serv-krb5.c] Fall back to krb5_cc_gen_new if the Kerberos
+ implementation does not have krb5_cc_new_unique, similar to what we do
+ in auth-krb5.c.
- (djm) OpenBSD CVS Sync
- djm@cvs.openbsd.org 2014/01/20 00:08:48
[digest.c]
diff --git a/gss-serv-krb5.c b/gss-serv-krb5.c
index 87f26831..759fa104 100644
--- a/gss-serv-krb5.c
+++ b/gss-serv-krb5.c
@@ -132,10 +132,16 @@ ssh_gssapi_krb5_storecreds(ssh_gssapi_client *client)
return;
#ifdef HEIMDAL
+# ifdef HAVE_KRB5_CC_NEW_UNIQUE
if ((problem = krb5_cc_new_unique(krb_context, krb5_fcc_ops.prefix,
NULL, &ccache)) != 0) {
errmsg = krb5_get_error_message(krb_context, problem);
logit("krb5_cc_new_unique(): %.100s", errmsg);
+# else
+ if ((problem = krb5_cc_gen_new(krb_context, &krb5_fcc_ops, &ccache))) {
+ logit("krb5_cc_gen_new(): %.100s",
+ krb5_get_err_text(krb_context, problem));
+# endif
krb5_free_error_message(krb_context, errmsg);
return;
}