--- utils/gssd/krb5_util.c 2008-10-17 14:20:09.000000000 +0000
+++ utils/gssd/krb5_util.c 2008-11-22 13:52:42.000000000 +0000
-@@ -115,9 +115,7 @@
- #include <errno.h>
- #include <time.h>
- #include <gssapi/gssapi.h>
--#ifdef USE_PRIVATE_KRB5_FUNCTIONS
- #include <gssapi/gssapi_krb5.h>
--#endif
- #include <krb5.h>
- #include <rpc/auth_gss.h>
-
@@ -927,9 +927,37 @@
{
krb5_error_code ret;
+#ifdef HAVE_HEIMDAL
+ krb5_creds pattern;
-+ krb5_const_realm client_realm;
++ krb5_realm *client_realm;
+
+ krb5_cc_clear_mcred(&pattern);
+
-+ client_realm = krb5_principal_get_realm (context, principal);
++ client_realm = krb5_princ_realm (context, principal);
+
+ ret = krb5_make_principal (context, &pattern.server,
-+ client_realm, KRB5_TGS_NAME, client_realm,
++ *client_realm, KRB5_TGS_NAME, *client_realm,
+ NULL);
+ if (ret)
+ krb5_err (context, 1, ret, "krb5_make_principal");
krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
krb5_cc_close(context, ccache);
err_cache:
+@@ -1262,7 +1294,11 @@
+ if (context != NULL) {
+ origmsg = krb5_get_error_message(context, code);
+ msg = strdup(origmsg);
++#ifdef HAVE_HEIMDAL
++ krb5_free_error_string(context, origmsg);
++#else
+ krb5_free_error_message(context, origmsg);
++#endif
+ }
+ #endif
+ if (msg != NULL)
@@ -171,10 +173,10 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss
int retcode = 0;
- printerr(2, "DEBUG: %s: lucid version!\n", __FUNCTION__);
+ printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
+ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
1, &return_ctx);
===================================================================
--- nfs-utils-1.1.0.orig/utils/gssd/krb5_util.c
+++ nfs-utils-1.1.0/utils/gssd/krb5_util.c
-@@ -1317,13 +1317,13 @@ limit_krb5_enctypes(struct rpc_gss_sec *
- * list of supported enctypes, use local default here.
- */
- if (krb5_enctypes == NULL)
-- maj_stat = gss_set_allowable_enctypes(&min_stat, credh,
-- &krb5oid, num_enctypes, enctypes);
-+ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
-+ num_enctypes, enctypes);
- else
-- maj_stat = gss_set_allowable_enctypes(&min_stat, credh,
-- &krb5oid, num_krb5_enctypes, krb5_enctypes);
-+ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
-+ num_krb5_enctypes, krb5_enctypes);
+@@ -294,10 +294,10 @@ limit_krb5_enctypes(struct rpc_gss_sec *
+ return -1;
+ }
+- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
++ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
+ num_enctypes, &enctypes);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_set_allowable_enctypes",
+ pgsserr("gss_krb5_set_allowable_enctypes",
diff -ur nfs-utils-1.2.0/aclocal/rpcsec_vers.m4 nfs-utils-1.2.0-pkg/aclocal/rpcsec_vers.m4
--- nfs-utils-1.2.0/aclocal/rpcsec_vers.m4 2009-06-02 16:43:05.000000000 +0200
+++ nfs-utils-1.2.0-pkg/aclocal/rpcsec_vers.m4 2009-06-30 15:48:36.603210573 +0200
-@@ -1,7 +1,6 @@
+@@ -1,7 +1,7 @@
dnl Checks librpcsec version
AC_DEFUN([AC_RPCSEC_VERSION], [
- PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1])
++ PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1], , [PKG_CHECK_MODULES([GSSGLUE], [heimdal-gssapi])])
dnl TI-RPC replaces librpcsecgss
if test "$enable_tirpc" = no; then
Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
Name: nfs-utils
Version: 1.2.2
-Release: 3
+Release: 4
License: GPL v2
Group: Networking/Daemons
Source0: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
Patch5: %{name}-no_libgssapi.patch
Patch6: %{name}-pkgconfig_ac.patch
Patch7: %{name}-heimdal_functions.patch
-Patch100: %{name}-git.patch
URL: http://nfs.sourceforge.net/
BuildRequires: autoconf >= 2.59
BuildRequires: automake
%prep
%setup -q -a1
-%patch100 -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%attr(4755,root,root) /sbin/umount.nfs
%attr(4755,root,root) /sbin/mount.nfs4
%attr(4755,root,root) /sbin/umount.nfs4
-%attr(755,root,root) %{_sbindir}/mountstats
-%attr(755,root,root) %{_sbindir}/nfsiostat
%attr(755,root,root) %{_sbindir}/showmount
%attr(755,root,root) %{_sbindir}/rpc.gssd
%attr(754,root,root) /etc/rc.d/init.d/gssd
%{_mandir}/man8/gssd.8*
%{_mandir}/man8/mount.nfs.8*
-%{_mandir}/man8/mountstats.8*
-%{_mandir}/man8/nfsiostat.8*
%{_mandir}/man8/rpc.gssd.8*
%{_mandir}/man8/showmount.8*
%{_mandir}/man8/umount.nfs.8*