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
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])
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
20 krb5_cc_close(context, ccache);
21 krb5_free_cred_contents(context, &my_creds);
22 - krb5_free_string(context, k5err);
28 "we failed to unparse principal name: %s\n",
30 k5_free_kt_entry(context, kte);
31 - krb5_free_string(context, k5err);
40 - krb5_free_string(context, k5err);
50 + free(adhostoverride);
52 krb5_free_string(context, adhostoverride);
56 retval = get_full_hostname(myhostname, myhostname, sizeof(myhostname));
58 k5err = gssd_k5_err_msg(context, code);
59 printerr(1, "%s while building principal for '%s'\n",
61 - krb5_free_string(context, k5err);
67 k5err = gssd_k5_err_msg(context, code);
68 printerr(3, "%s while getting keytab entry for '%s'\n",
70 - krb5_free_string(context, k5err);
74 * We tried the active directory machine account
76 k5_free_default_realm(context, default_realm);
78 krb5_free_host_realm(context, realmnames);
79 - krb5_free_string(context, k5err);
84 @@ -1003,9 +1007,37 @@
93 + krb5_const_realm client_realm;
95 + krb5_cc_clear_mcred(&pattern);
97 + client_realm = krb5_principal_get_realm (context, principal);
99 + ret = krb5_make_principal (context, &pattern.server,
100 + client_realm, KRB5_TGS_NAME, client_realm,
103 + krb5_err (context, 1, ret, "krb5_make_principal");
104 + pattern.client = principal;
106 + ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
107 + krb5_free_principal (context, pattern.server);
109 + if (ret == KRB5_CC_END)
111 + krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
114 + found = creds.times.endtime > time(NULL);
116 + krb5_free_cred_contents (context, &creds);
118 + krb5_cc_cursor cur;
120 ret = krb5_cc_start_seq_get(context, ccache, &cur);
123 @@ -1025,6 +1057,7 @@
124 krb5_free_cred_contents(context, &creds);
126 krb5_cc_end_seq_get(context, ccache, &cur);
131 @@ -1071,6 +1104,9 @@
133 krb5_free_principal(context, principal);
136 +#define KRB5_TC_OPENCLOSE 0x00000001
138 krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
139 krb5_cc_close(context, ccache);
141 @@ -1249,7 +1285,7 @@
142 printerr(0, "WARNING: %s while resolving credential "
143 "cache '%s' for destruction\n", k5err,
145 - krb5_free_string(context, k5err);
150 @@ -1258,13 +1294,13 @@
151 k5err = gssd_k5_err_msg(context, code);
152 printerr(0, "WARNING: %s while destroying credential "
153 "cache '%s'\n", k5err, ple->ccname);
154 - krb5_free_string(context, k5err);
159 krb5_free_context(context);
161 - krb5_free_string(context, k5err);
166 @@ -1347,7 +1383,7 @@
168 krb5_free_context(context);
170 - krb5_free_string(context, k5err);
175 @@ -1369,7 +1405,7 @@
181 return strdup(error_message(code));