summaryrefslogtreecommitdiff
path: root/community/autofs/heimdal.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/autofs/heimdal.patch')
-rw-r--r--community/autofs/heimdal.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/community/autofs/heimdal.patch b/community/autofs/heimdal.patch
new file mode 100644
index 000000000..4aa321834
--- /dev/null
+++ b/community/autofs/heimdal.patch
@@ -0,0 +1,44 @@
+--- autofs-5.0.5/modules/cyrus-sasl.c~ 2010-03-03 01:38:41.582901786 +0100
++++ autofs-5.0.5/modules/cyrus-sasl.c 2010-03-03 01:41:32.313704755 +0100
+@@ -66,6 +66,15 @@
+ #endif
+ #endif
+
++/**
++ * The type of a principal is different for MIT Krb5 and Heimdal.
++ * These macros are provided by Heimdal, and introduced here for MIT.
++ */
++#ifndef krb5_realm_length
++#define krb5_realm_length(r) ((r).length)
++#define krb5_realm_data(r) ((r).data)
++#endif
++
+ /*
+ * Once a krb5 credentials cache is setup, we need to set the KRB5CCNAME
+ * environment variable so that the library knows where to find it.
+@@ -452,11 +452,11 @@
+
+ /* setup a principal for the ticket granting service */
+ ret = krb5_build_principal_ext(ctxt->krb5ctxt, &tgs_princ,
+- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length,
+- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data,
++ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
++ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
+ strlen(KRB5_TGS_NAME), KRB5_TGS_NAME,
+- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length,
+- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data,
++ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
++ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
+ 0);
+ if (ret) {
+ error(logopt,
+--- autofs-5.0.5/modules/Makefile~ 2010-03-03 01:42:18.532868539 +0100
++++ autofs-5.0.5/modules/Makefile 2010-03-03 01:42:35.360367371 +0100
+@@ -43,7 +43,7 @@
+ ifeq ($(SASL), 1)
+ SASL_OBJ = cyrus-sasl.o
+ LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE
+- LIBLDAP += $(LIBSASL) $(XML_LIBS)
++ LIBLDAP += $(LIBSASL) $(XML_LIBS) -lkrb5
+ endif
+ endif \ No newline at end of file