summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2014-01-20 13:18:09 +1100
committerDarren Tucker <dtucker@zip.com.au>2014-01-20 13:18:09 +1100
commitc74e70eb52ccc0082bd5a70b5798bb01c114d138 (patch)
treec26e2f657a59989e3457ab2006e5bba81f5b612a
parent3510979e83b6a18ec8773c64c3fa04aa08b2e783 (diff)
- (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;
}