]> git.pld-linux.org Git - packages/nfs-utils.git/blame - nfs-utils-heimdal_functions.patch
- updated pkgconfig_ac patch, dropped now unnecessary BC for libgssglue
[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
3@@ -927,9 +927,37 @@
4 {
5 krb5_error_code ret;
6 krb5_creds creds;
7- krb5_cc_cursor cur;
8 int found = 0;
9
10+#ifdef HAVE_HEIMDAL
11+ krb5_creds pattern;
12+ krb5_realm *client_realm;
13+
14+ krb5_cc_clear_mcred(&pattern);
15+
16+ client_realm = krb5_princ_realm (context, principal);
17+
18+ ret = krb5_make_principal (context, &pattern.server,
19+ *client_realm, KRB5_TGS_NAME, *client_realm,
20+ NULL);
21+ if (ret)
22+ krb5_err (context, 1, ret, "krb5_make_principal");
23+ pattern.client = principal;
24+
25+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
26+ krb5_free_principal (context, pattern.server);
27+ if (ret) {
28+ if (ret == KRB5_CC_END)
29+ return 1;
30+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
31+ }
32+
33+ found = creds.times.endtime > time(NULL);
34+
35+ krb5_free_cred_contents (context, &creds);
36+#else
37+ krb5_cc_cursor cur;
38+
39 ret = krb5_cc_start_seq_get(context, ccache, &cur);
40 if (ret)
41 return 0;
42@@ -949,6 +977,7 @@
43 krb5_free_cred_contents(context, &creds);
44 }
45 krb5_cc_end_seq_get(context, ccache, &cur);
46+#endif
47
48 return found;
49 }
50@@ -995,6 +1024,9 @@
51 }
52 krb5_free_principal(context, principal);
53 err_princ:
54+#ifdef HAVE_HEIMDAL
55+#define KRB5_TC_OPENCLOSE 0x00000001
56+#endif
57 krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
58 krb5_cc_close(context, ccache);
59 err_cache:
5eef8ef1 60@@ -1262,7 +1294,11 @@
11212b0d
JR
61 if (context != NULL) {
62 origmsg = krb5_get_error_message(context, code);
63 msg = strdup(origmsg);
5eef8ef1 64+#ifdef HAVE_HEIMDAL
11212b0d 65+ krb5_free_error_string(context, origmsg);
5eef8ef1
JR
66+#else
67 krb5_free_error_message(context, origmsg);
68+#endif
11212b0d
JR
69 }
70 #endif
71 if (msg != NULL)
This page took 0.065199 seconds and 4 git commands to generate.