From dbf127646939bdc614a09c8d333cf32d92b44015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 21 Oct 2009 02:44:44 +0200 Subject: [PATCH 1/7] nsswitch: fix the build of the winbind krb5 locator plugin. Guenther (cherry picked from commit b9d9353b548d9b2ab684aa171f511174e6414762) --- source3/Makefile.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/source3/Makefile.in b/source3/Makefile.in index fb45056..128a2c3 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -2390,7 +2390,7 @@ bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_TARGET@ @LIBTDB_TARGET@ bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) @LIBWBCLIENT_TARGET@ @echo "Linking $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) \ + @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) $(KRB5_LIBS) \ @SONAMEFLAG@`basename $@` bin/pam_winbind.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) @LIBTALLOC_TARGET@ @LIBWBCLIENT_TARGET@ -- 1.6.5.2 From 1e23a1d75e32928e0b1daa86cbded924def72b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Thu, 19 Nov 2009 13:44:33 +0100 Subject: [PATCH 2/7] s3-build: really fix build of winbind_krb5_locator. Guenther (cherry picked from commit fc9f199f2619635f73e8ee7f3b5359521d63f325) --- source3/Makefile.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/source3/Makefile.in b/source3/Makefile.in index 128a2c3..f1f8471 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -2390,7 +2390,7 @@ bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_TARGET@ @LIBTDB_TARGET@ bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) @LIBWBCLIENT_TARGET@ @echo "Linking $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) $(KRB5_LIBS) \ + @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) $(KRB5LIBS) \ @SONAMEFLAG@`basename $@` bin/pam_winbind.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) @LIBTALLOC_TARGET@ @LIBWBCLIENT_TARGET@ -- 1.6.5.2 From 3ec2d1011f8345da06e15676aed9aa1d67e9f865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 25 Nov 2009 15:06:19 +0100 Subject: [PATCH 3/7] cifs.upcall: 2nd part of fix for Bug #6868: support building with Heimdal we well as with MIT. Guenther (cherry picked from commit 660ee2e74523194e5f6b2b6428d76628beb74717) --- source3/client/cifs.upcall.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/source3/client/cifs.upcall.c b/source3/client/cifs.upcall.c index ecd0348..d4010a3 100644 --- a/source3/client/cifs.upcall.c +++ b/source3/client/cifs.upcall.c @@ -104,7 +104,9 @@ err_endseq: err_ccstart: krb5_free_principal(context, principal); err_princ: +#if defined(KRB5_TC_OPENCLOSE) krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE); +#endif krb5_cc_close(context, ccache); err_cache: krb5_free_context(context); -- 1.6.5.2 From f8663dab27a627615dc3d98ee3d9b75cfa800a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 25 Nov 2009 15:21:54 +0100 Subject: [PATCH 4/7] nsswitch: fix compile of winbind_krb5_locator with recent Heimdal versions. Guenther (cherry picked from commit 51864219cc12ceb66c281355f3e1191d5e32842d) --- nsswitch/winbind_krb5_locator.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/nsswitch/winbind_krb5_locator.c b/nsswitch/winbind_krb5_locator.c index b9e35bd..272e7db 100644 --- a/nsswitch/winbind_krb5_locator.c +++ b/nsswitch/winbind_krb5_locator.c @@ -26,6 +26,7 @@ #if defined(HAVE_KRB5) && defined(HAVE_KRB5_LOCATE_PLUGIN_H) +#include #include #ifndef KRB5_PLUGIN_NO_HANDLE -- 1.6.5.2 From 9ca0540a5afafcb40d48735adbcc4e1f254cb306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 25 Nov 2009 21:33:48 +0100 Subject: [PATCH 5/7] s3-kerberos: add check for prerequisite krb5/krb5.h header while checking for krb5/locate_plugin.h. (Needed for new Heimdal versions). Guenther (cherry picked from commit c438b2b3923db66672ec82e795eef543de5fcb8a) --- source3/configure.in | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source3/configure.in b/source3/configure.in index 70a8fe8..54735c3 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -3276,7 +3276,7 @@ if test x"$with_ads_support" != x"no"; then # now check for krb5.h. Some systems have the libraries without the headers! # note that this check is done here to allow for different kerberos # include paths - AC_CHECK_HEADERS(krb5.h) + AC_CHECK_HEADERS(krb5.h krb5/krb5.h) if test x"$ac_cv_header_krb5_h" = x"no"; then @@ -3297,7 +3297,12 @@ if test x"$with_ads_support" != x"no"; then CPPFLAGS=$ac_save_CPPFLAGS LDFLAGS=$ac_save_LDFLAGS fi - AC_CHECK_HEADERS(krb5/locate_plugin.h) + AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [], +[[#ifdef HAVE_KRB5_KRB5_H + #include + #endif +]]) + if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT" EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR" -- 1.6.5.2 From 8d8e99cb470629eae9881601bfd8154aa53eb481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Thu, 26 Nov 2009 10:15:45 +0100 Subject: [PATCH 6/7] s3-kerberos: next step to resolve Bug #6929: build with recent heimdal. Based on patch from Allan . Also should fix the FreeBSD build on the buildfarm. Guenther (cherry picked from commit 5b3a32be97a37c119e837bdee8f049684565458c) --- nsswitch/winbind_krb5_locator.c | 6 +++++- source3/configure.in | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nsswitch/winbind_krb5_locator.c b/nsswitch/winbind_krb5_locator.c index 272e7db..db6e8d0 100644 --- a/nsswitch/winbind_krb5_locator.c +++ b/nsswitch/winbind_krb5_locator.c @@ -26,7 +26,11 @@ #if defined(HAVE_KRB5) && defined(HAVE_KRB5_LOCATE_PLUGIN_H) -#include +#if HAVE_COM_ERR_H +#include +#endif + +#include #include #ifndef KRB5_PLUGIN_NO_HANDLE diff --git a/source3/configure.in b/source3/configure.in index 54735c3..32a0f9f 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -3276,7 +3276,7 @@ if test x"$with_ads_support" != x"no"; then # now check for krb5.h. Some systems have the libraries without the headers! # note that this check is done here to allow for different kerberos # include paths - AC_CHECK_HEADERS(krb5.h krb5/krb5.h) + AC_CHECK_HEADERS(krb5.h) if test x"$ac_cv_header_krb5_h" = x"no"; then @@ -3298,8 +3298,8 @@ if test x"$with_ads_support" != x"no"; then LDFLAGS=$ac_save_LDFLAGS fi AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [], -[[#ifdef HAVE_KRB5_KRB5_H - #include +[[#ifdef HAVE_KRB5_H + #include #endif ]]) -- 1.6.5.2 From 8add6e22e73a109f1e286582729f0e062fb24948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Fri, 27 Nov 2009 01:06:36 +0100 Subject: [PATCH 7/7] s3-kerberos: Fix Bug #6929: build with recent heimdal. Heimdal changed the KRB5_DEPRECATED define (which now may not take an identifier for activation) in new releases (like 1.3.1). Guenther (cherry picked from commit 1a8f8382740e352a83133b8c49aaedd4716210cd) --- source3/configure.in | 19 +++++++++++++++++++ source3/libsmb/clikrb5.c | 2 +- 2 files changed, 20 insertions(+), 1 deletions(-) diff --git a/source3/configure.in b/source3/configure.in index 32a0f9f..579cc66 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -3307,6 +3307,25 @@ if test x"$with_ads_support" != x"no"; then WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT" EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR" fi + + # check for new heimdal KRB5_DEPRECATED handling + + AC_CACHE_CHECK([for KRB5_DEPRECATED define taking an identifier], + samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER,[ + AC_TRY_COMPILE( + [#define KRB5_DEPRECATED 1 + #include ], + [void main(void) {}], + samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=yes, + samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no)]) + + if test x"$samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER" = x"yes"; then + AC_DEFINE(KRB5_DEPRECATED, 1, + [Whether to use deprecated krb5 interfaces]) + else + AC_DEFINE(KRB5_DEPRECATED,, + [Whether to use deprecated krb5 interfaces]) + fi fi # Now we have determined whether we really want ADS support diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index 1ccc7ec..bf39204 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -21,7 +21,7 @@ */ #define KRB5_PRIVATE 1 /* this file uses PRIVATE interfaces! */ -#define KRB5_DEPRECATED 1 /* this file uses DEPRECATED interfaces! */ +/* this file uses DEPRECATED interfaces! */ #include "includes.h" -- 1.6.5.2