]> git.pld-linux.org Git - packages/nfs-utils.git/blame - nfs-utils-heimdal.patch
- updated to 2.5.2
[packages/nfs-utils.git] / nfs-utils-heimdal.patch
CommitLineData
7aa240b7
JR
1--- nfs-utils-1.2.3.dist/aclocal/kerberos5.m4~ 2010-09-28 14:24:16.000000000 +0200
2+++ nfs-utils-1.2.3.dist/aclocal/kerberos5.m4 2010-10-03 14:13:17.274424855 +0200
7aa240b7
JR
3@@ -56,7 +56,11 @@
4 dnl of Heimdal Kerberos on SuSe
5 elif test \( -f $dir/include/heim_err.h -o\
6 -f $dir/include/heimdal/heim_err.h \) -a \
7- -f $dir/lib/libroken.a; then
8+ \( -f $dir/lib/libroken.a -o \
9+ -f $dir/lib64/libroken.a -o \
10+ -f $dir/lib64/libroken.so -o \
11+ -f $dir/lib/libroken.so \) ; then
12+ K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(2),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
13 AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
14 KRBDIR="$dir"
15 gssapi_lib=gssapi
21904062
JB
16--- nfs-utils-2.5.1/utils/gssd/krb5_util.c.orig 2020-06-18 19:10:06.000000000 +0200
17+++ nfs-utils-2.5.1/utils/gssd/krb5_util.c 2020-08-22 18:47:27.393014417 +0200
21904062
JB
18@@ -836,7 +836,11 @@
19 myhostad[i+1] = 0;
20 }
21 if (adhostoverride)
22+#ifdef HAVE_HEIMDAL
23+ free(adhostoverride);
24+#else
25 krb5_free_string(context, adhostoverride);
26+#endif
27
28 if (!srchost) {
29 retval = get_full_hostname(myhostname, myhostname, sizeof(myhostname));
21904062 30@@ -1003,9 +1007,37 @@
7aa240b7
JR
31 {
32 krb5_error_code ret;
33 krb5_creds creds;
34- krb5_cc_cursor cur;
35 int found = 0;
36
37+#ifdef HAVE_HEIMDAL
38+ krb5_creds pattern;
39+ krb5_const_realm client_realm;
40+
41+ krb5_cc_clear_mcred(&pattern);
42+
43+ client_realm = krb5_principal_get_realm (context, principal);
44+
45+ ret = krb5_make_principal (context, &pattern.server,
46+ client_realm, KRB5_TGS_NAME, client_realm,
47+ NULL);
48+ if (ret)
49+ krb5_err (context, 1, ret, "krb5_make_principal");
50+ pattern.client = principal;
51+
52+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
53+ krb5_free_principal (context, pattern.server);
54+ if (ret) {
55+ if (ret == KRB5_CC_END)
56+ return 1;
57+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
58+ }
59+
60+ found = creds.times.endtime > time(NULL);
61+
62+ krb5_free_cred_contents (context, &creds);
63+#else
64+ krb5_cc_cursor cur;
65+
66 ret = krb5_cc_start_seq_get(context, ccache, &cur);
67 if (ret)
68 return 0;
21904062 69@@ -1025,6 +1057,7 @@
7aa240b7
JR
70 krb5_free_cred_contents(context, &creds);
71 }
72 krb5_cc_end_seq_get(context, ccache, &cur);
73+#endif
74
75 return found;
76 }
21904062 77@@ -1071,6 +1104,9 @@
7aa240b7
JR
78 }
79 krb5_free_principal(context, principal);
80 err_princ:
81+#ifdef HAVE_HEIMDAL
82+#define KRB5_TC_OPENCLOSE 0x00000001
83+#endif
84 krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
85 krb5_cc_close(context, ccache);
86 err_cache:
21904062 87@@ -1369,7 +1405,7 @@
c17b6001
JB
88 #endif
89 if (msg != NULL)
90 return msg;
91-#if HAVE_KRB5
92+#ifdef HAVE_KRB5
93 return strdup(error_message(code));
94 #else
95 if (context != NULL)
This page took 0.109203 seconds and 4 git commands to generate.