From f7250144ed06b00fc1fbf1854d38483c427fad87 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Tue, 30 Jun 2009 15:03:13 -0400 Subject: [PATCH] umount.cifs: don't build it by default Now that the sanity checks for mount.cifs default to matching the behavior of /bin/mount, then there is virtually no need for umount.cifs. The only exception is when someone enables the loose setuid behavior in mount.cifs. If an unprivileged user mounts a share that isn't in /etc/fstab, then /bin/mount won't allow that user to unmount it. In that situation, umount.cifs will be necessary to allow unmounting the share. Signed-off-by: Jeff Layton Acked-by: Steve French --- source3/Makefile.in | 13 ++++++++++--- source3/configure.in | 43 +++++++++++++++++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/source3/Makefile.in b/source3/Makefile.in index 62d4fbea0e49..ab93a6b448f1 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -204,7 +204,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@ @CIFSUMOUNT_PROGS@ BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \ bin/testparm@EXEEXT@ bin/smbstatus@EXEEXT@ bin/smbget@EXEEXT@ @@ -2904,7 +2904,7 @@ bin/dbwrap_tool@EXEEXT@: $(DBWRAP_TOOL_OBJ) @LIBTALLOC_TARGET@ @LIBTDB_TARGET@ install-dbwrap_tool:: bin/dbwrap_tool@EXEEXT@ @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $< -install:: installservers installbin @INSTALL_CIFSMOUNT@ @INSTALL_CIFSUPCALL@ installman \ +install:: installservers installbin @INSTALL_CIFSMOUNT@ @INSTALL_CIFSUMOUNT@ @INSTALL_CIFSUPCALL@ installman \ installscripts installdat installmodules @SWAT_INSTALL_TARGETS@ \ @INSTALL_PAM_MODULES@ installlibs installmo @@ -2934,6 +2934,10 @@ installcifsmount:: @CIFSMOUNT_PROGS@ @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(ROOTSBINDIR) @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSMOUNT_PROGS@ +installcifsumount:: @CIFSUMOUNT_PROGS@ + @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(ROOTSBINDIR) + @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSUMOUNT_PROGS@ + installcifsupcall:: @CIFSUPCALL_PROGS@ @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(SBINDIR) @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(SBINDIR) @CIFSUPCALL_PROGS@ @@ -3013,7 +3017,7 @@ showlayout:: @echo " codepagedir: $(CODEPAGEDIR)" -uninstall:: uninstallmo uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSUPCALL@ uninstallscripts uninstalldat uninstallswat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@ +uninstall:: uninstallmo uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSUMOUNT@ @UNINSTALL_CIFSUPCALL@ uninstallscripts uninstalldat uninstallswat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@ uninstallmo:: @$(SHELL) $(srcdir)/script/uninstallmo.sh $(DESTDIR) $(LOCALEDIR) $(srcdir) @@ -3030,6 +3034,9 @@ uninstallbin:: uninstallcifsmount:: @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSMOUNT_PROGS@ +uninstallcifsumount:: + @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSUMOUNT_PROGS@ + uninstallcifsupcall:: @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSUPCALL_PROGS@ diff --git a/source3/configure.in b/source3/configure.in index 97d1a8bbc73a..027433611bad 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -96,6 +96,9 @@ AC_SUBST(EXTRA_BIN_PROGS) AC_SUBST(CIFSMOUNT_PROGS) AC_SUBST(INSTALL_CIFSMOUNT) AC_SUBST(UNINSTALL_CIFSMOUNT) +AC_SUBST(CIFSUMOUNT_PROGS) +AC_SUBST(INSTALL_CIFSUMOUNT) +AC_SUBST(UNINSTALL_CIFSUMOUNT) AC_SUBST(CIFSUPCALL_PROGS) AC_SUBST(INSTALL_CIFSUPCALL) AC_SUBST(UNINSTALL_CIFSUPCALL) @@ -3985,9 +3988,9 @@ AC_ARG_WITH(automount, CIFSMOUNT_PROGS="" INSTALL_CIFSMOUNT="" UNINSTALL_CIFSMOUNT="" -AC_MSG_CHECKING(whether to build mount.cifs and umount.cifs) +AC_MSG_CHECKING(whether to build mount.cifs) AC_ARG_WITH(cifsmount, -[AS_HELP_STRING([--with-cifsmount], [Include mount.cifs and umount.cifs (Linux only) support (default=yes)])], +[AS_HELP_STRING([--with-cifsmount], [Include mount.cifs (Linux only) support (default=yes)])], [ case "$withval" in no) AC_MSG_RESULT(no) @@ -3996,8 +3999,8 @@ AC_ARG_WITH(cifsmount, case "$host_os" in *linux*) AC_MSG_RESULT(yes) - AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs]) - CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs" + AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs]) + CIFSMOUNT_PROGS="bin/mount.cifs" INSTALL_CIFSMOUNT="installcifsmount" UNINSTALL_CIFSMOUNT="uninstallcifsmount" ;; @@ -4010,8 +4013,8 @@ AC_ARG_WITH(cifsmount, [ case "$host_os" in *linux*) AC_MSG_RESULT(yes) - AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs]) - CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs" + AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs]) + CIFSMOUNT_PROGS="bin/mount.cifs" INSTALL_CIFSMOUNT="installcifsmount" UNINSTALL_CIFSMOUNT="uninstallcifsmount" ;; @@ -4021,6 +4024,34 @@ AC_ARG_WITH(cifsmount, esac ] ) +CIFSUMOUNT_PROGS="" +INSTALL_CIFSUMOUNT="" +UNINSTALL_CIFSUMOUNT="" +AC_MSG_CHECKING(whether to build umount.cifs) +AC_ARG_WITH(cifsumount, +[AS_HELP_STRING([--with-cifsumount], [Include umount.cifs (Linux only) support (default=no)])], +[ case "$withval" in + yes) + case "$host_os" in + *linux*) + AC_MSG_RESULT(yes) + AC_DEFINE(WITH_CIFSUMOUNT,1,[Whether to build umount.cifs]) + CIFSUMOUNT_PROGS="bin/umount.cifs" + INSTALL_CIFSUMOUNT="installcifsumount" + UNINSTALL_CIFSUMOUNT="uninstallcifsumount" + ;; + *) + AC_MSG_ERROR(not on a linux system!) + ;; + esac + ;; + *) + AC_MSG_RESULT(no) + ;; + esac ], + AC_MSG_RESULT(no) +) + ################################################# # check for cifs.upcall support AC_CHECK_HEADERS([keyutils.h], [HAVE_KEYUTILS_H=1], [HAVE_KEYUTILS_H=0]) -- 2.34.1