From f802db70b8675df43fba892986203bbeac2d02f8 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Wed, 5 Dec 2007 18:21:29 +0300 Subject: [PATCH] * Adds support for cifs.spnego helper into configure and Makefile.in * Added checks for spnego prereq keyutils.h and kerberos in configure.in Signed-off-by: Igor Mammedov --- source/Makefile.in | 20 +++++++++++++++++--- source/configure.in | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/source/Makefile.in b/source/Makefile.in index 532290ce210..a204ee701ac 100644 --- a/source/Makefile.in +++ b/source/Makefile.in @@ -170,7 +170,7 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \ SBIN_PROGS = bin/smbd@EXEEXT@ bin/nmbd@EXEEXT@ @SWAT_SBIN_TARGETS@ @EXTRA_SBIN_PROGS@ -ROOT_SBIN_PROGS = @CIFSMOUNT_PROGS@ +ROOT_SBIN_PROGS = @CIFSMOUNT_PROGS@ @CIFSSPNEGO_PROGS@ BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \ bin/testparm@EXEEXT@ bin/smbstatus@EXEEXT@ bin/smbget@EXEEXT@ @@ -745,6 +745,8 @@ CIFS_MOUNT_OBJ = client/mount.cifs.o CIFS_UMOUNT_OBJ = client/umount.cifs.o +CIFS_SPNEGO_OBJ = client/cifs.spnego.o + NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) \ $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ) $(LIBSAMBA_OBJ) @@ -1202,6 +1204,11 @@ bin/umount.cifs@EXEEXT@: $(BINARY_PREREQS) $(CIFS_UMOUNT_OBJ) @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(CIFS_UMOUNT_OBJ) $(DYNEXP) $(LDFLAGS) +bin/cifs.spnego@EXEEXT@: $(BINARY_PREREQS) $(CIFS_SPNEGO_OBJ) $(LIBSMBCLIENT_OBJ) + @echo Linking $@ + @$(CC) $(FLAGS) -o $@ $(CIFS_SPNEGO_OBJ) $(DYNEXP) $(LDFLAGS) -lkeyutils $(LIBS) \ + $(LIBSMBCLIENT_OBJ) $(KRB5LIBS) $(LDAP_LIBS) + bin/testparm@EXEEXT@: $(BINARY_PREREQS) $(TESTPARM_OBJ) @BUILD_POPT@ @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAP_LIBS) @POPTLIBS@ @@ -1729,7 +1736,7 @@ bin/timelimit@EXEEXT@: script/tests/timelimit.o @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(DYNEXP) script/tests/timelimit.o -install: installservers installbin @INSTALL_CIFSMOUNT@ installman installscripts installdat installmodules @SWAT_INSTALL_TARGETS@ @INSTALL_LIBSMBCLIENT@ @INSTALL_PAM_MODULES@ @INSTALL_LIBSMBSHAREMODES@ +install: installservers installbin @INSTALL_CIFSMOUNT@ @INSTALL_CIFSSPNEGO@ installman installscripts installdat installmodules @SWAT_INSTALL_TARGETS@ @INSTALL_LIBSMBCLIENT@ @INSTALL_PAM_MODULES@ @INSTALL_LIBSMBSHAREMODES@ install-everything: install installmodules @@ -1755,6 +1762,10 @@ installcifsmount: @CIFSMOUNT_PROGS@ @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(ROOTSBINDIR) @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSMOUNT_PROGS@ +installcifsspnego: @CIFSSPNEGO_PROGS@ + @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(ROOTSBINDIR) + @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSSPNEGO_PROGS@ + # Some symlinks are required for the 'probing' of modules. # This mechanism should go at some point.. installmodules: modules installdirs @@ -1838,7 +1849,7 @@ showlayout: @echo " swatdir: $(SWATDIR)" -uninstall: uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ uninstallscripts uninstalldat uninstallswat uninstallmodules @UNINSTALL_LIBSMBCLIENT@ @UNINSTALL_PAM_MODULES@ @UNINSTALL_LIBSMBSHAREMODES@ +uninstall: uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSSPNEGO@ uninstallscripts uninstalldat uninstallswat uninstallmodules @UNINSTALL_LIBSMBCLIENT@ @UNINSTALL_PAM_MODULES@ @UNINSTALL_LIBSMBSHAREMODES@ uninstallman: @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) C @@ -1852,6 +1863,9 @@ uninstallbin: uninstallcifsmount: @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSMOUNT_PROGS@ +uninstallcifsspnego: + @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSSPNEGO_PROGS@ + uninstallmodules: @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(VFSLIBDIR) $(VFS_MODULES) @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PDBLIBDIR) $(PDB_MODULES) diff --git a/source/configure.in b/source/configure.in index 8a945a295d3..4eea3313f9a 100644 --- a/source/configure.in +++ b/source/configure.in @@ -343,6 +343,9 @@ AC_SUBST(SMBMOUNT_PROGS) AC_SUBST(CIFSMOUNT_PROGS) AC_SUBST(INSTALL_CIFSMOUNT) AC_SUBST(UNINSTALL_CIFSMOUNT) +AC_SUBST(CIFSSPNEGO_PROGS) +AC_SUBST(INSTALL_CIFSSPNEGO) +AC_SUBST(UNINSTALL_CIFSSPNEGO) AC_SUBST(EXTRA_SBIN_PROGS) AC_SUBST(EXTRA_ALL_TARGETS) AC_SUBST(CONFIG_LIBS) @@ -4457,6 +4460,45 @@ AC_ARG_WITH(cifsmount, esac ] ) +################################################# +# check for cifs.spnego support +AC_CHECK_HEADERS([keyutils.h], [HAVE_KEYUTILS_H=1], [HAVE_KEYUTILS_H=0]) +CIFSSPNEGO_PROGS="" +INSTALL_CIFSSPNEGO="" +UNINSTALL_CIFSSPNEGO="" +AC_MSG_CHECKING(whether to build cifs.spnego) +AC_ARG_WITH(cifsspnego, +[ --with-cifsspnego Include cifs.spnego (Linux only) support (default=no)], +[ case "$withval" in + no) + AC_MSG_RESULT(no) + ;; + *) + case "$host_os" in + *linux*) + if test x"$use_ads" != x"yes"; then + AC_MSG_ERROR(ADS support should be enabled for building cifs.spnego) + elif test x"$HAVE_KEYUTILS_H" != "x1"; then + AC_MSG_ERROR(keyutils package is required for cifs.spnego) + else + AC_MSG_RESULT(yes) + AC_DEFINE(WITH_CIFSSPNEGO,1,[whether to build cifs.spnego]) + CIFSSPNEGO_PROGS="bin/cifs.spnego" + INSTALL_CIFSSPNEGO="installcifsspnego" + UNINSTALL_CIFSSPNEGO="uninstallcifsspnego" + fi + ;; + *) + AC_MSG_ERROR(not on a linux system!) + ;; + esac + ;; + esac ], +[ + AC_MSG_RESULT(no) + ] +) + ################################################# # Check for a PAM clear-text auth, accounts, password -- 2.11.4.GIT