]> git.pld-linux.org Git - packages/nfs-utils.git/blame - nfs-utils-heimdal_functions.patch
- updated to 1.2.3
[packages/nfs-utils.git] / nfs-utils-heimdal_functions.patch
CommitLineData
7e12652e
JR
1--- utils/gssd/krb5_util.c 2008-10-17 14:20:09.000000000 +0000
2+++ utils/gssd/krb5_util.c 2008-11-22 13:52:42.000000000 +0000
e8168b46
JR
3@@ -115,9 +115,7 @@
4 #include <errno.h>
5 #include <time.h>
6 #include <gssapi/gssapi.h>
7-#ifdef USE_PRIVATE_KRB5_FUNCTIONS
8 #include <gssapi/gssapi_krb5.h>
9-#endif
10 #include <krb5.h>
11 #include <rpc/auth_gss.h>
12
7e12652e
JR
13@@ -927,9 +927,37 @@
14 {
15 krb5_error_code ret;
16 krb5_creds creds;
17- krb5_cc_cursor cur;
18 int found = 0;
19
20+#ifdef HAVE_HEIMDAL
21+ krb5_creds pattern;
e8168b46 22+ krb5_const_realm client_realm;
7e12652e
JR
23+
24+ krb5_cc_clear_mcred(&pattern);
25+
e8168b46 26+ client_realm = krb5_principal_get_realm (context, principal);
7e12652e
JR
27+
28+ ret = krb5_make_principal (context, &pattern.server,
e8168b46 29+ client_realm, KRB5_TGS_NAME, client_realm,
7e12652e
JR
30+ NULL);
31+ if (ret)
32+ krb5_err (context, 1, ret, "krb5_make_principal");
33+ pattern.client = principal;
34+
35+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
36+ krb5_free_principal (context, pattern.server);
37+ if (ret) {
38+ if (ret == KRB5_CC_END)
39+ return 1;
40+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
41+ }
42+
43+ found = creds.times.endtime > time(NULL);
44+
45+ krb5_free_cred_contents (context, &creds);
46+#else
47+ krb5_cc_cursor cur;
48+
49 ret = krb5_cc_start_seq_get(context, ccache, &cur);
50 if (ret)
51 return 0;
52@@ -949,6 +977,7 @@
53 krb5_free_cred_contents(context, &creds);
54 }
55 krb5_cc_end_seq_get(context, ccache, &cur);
56+#endif
57
58 return found;
59 }
60@@ -995,6 +1024,9 @@
61 }
62 krb5_free_principal(context, principal);
63 err_princ:
64+#ifdef HAVE_HEIMDAL
65+#define KRB5_TC_OPENCLOSE 0x00000001
66+#endif
67 krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
68 krb5_cc_close(context, ccache);
69 err_cache:
This page took 0.109608 seconds and 4 git commands to generate.