svn commit: samba r23387 - in branches/SAMBA_3_0/source: .
Michael Adam
ma at sernet.de
Fri Jun 8 12:35:55 GMT 2007
Hi,
I have turned ACL detection on by default and unified posix acl detection.
Given the build farm is happy with this, I would like to merge
this to 3_0_26. Any objections?
Michael
On Fr, Jun 08, 2007 at 12:32:14 +0000, obnox at samba.org wrote:
> Author: obnox
> Date: 2007-06-08 12:32:13 +0000 (Fri, 08 Jun 2007)
> New Revision: 23387
>
> WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23387
>
> Log:
> 1. This unifies the POSIX ACL detection code:
> Linux, FreeBSD and other (which?) ACL implementations
> are now checked in the same block instead of in three
> separate blocks. This was inspired by Timur Bakeyev
> in Bug #4543. Since bugzilla is currently unavailable
> this patch is probably slightly different from Timurs
> original patch. This should finally fix Bug #4543.
>
> 2. The default of the --with-acl-support configure
> option is changed to "auto" (which is actually the
> same as "yes"). So configure tries to detect acl
> support by default. This had been discussed with
> Metze and others.
>
> Michael
>
>
> Modified:
> branches/SAMBA_3_0/source/configure.in
>
>
> Changeset:
> Modified: branches/SAMBA_3_0/source/configure.in
> ===================================================================
> --- branches/SAMBA_3_0/source/configure.in 2007-06-08 10:56:46 UTC (rev 23386)
> +++ branches/SAMBA_3_0/source/configure.in 2007-06-08 12:32:13 UTC (rev 23387)
> @@ -5368,55 +5368,67 @@
>
> AC_MSG_CHECKING(whether to support ACLs)
> AC_ARG_WITH(acl-support,
> -[ --with-acl-support Include ACL support (default=no)],
> +[ --with-acl-support Include ACL support (default=auto)],
> [ case "$withval" in
> - yes)
> + yes|no)
> + with_acl_support="$withval"
> + ;;
> + esac ])
>
> +if test x"$with_acl_support" = x ; then
> + with_acl_support="auto"
> +fi
> +
> +AC_MSG_RESULT($with_acl_support)
> +
> +if test x"$with_acl_support" = x"no"; then
> + AC_MSG_RESULT(Disabling ACL support)
> + AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support should be built in])
> +else
> + AC_MSG_NOTICE(checking whether ACL support is available:)
> case "$host_os" in
> *sysv5*)
> - AC_MSG_RESULT(Using UnixWare ACLs)
> + AC_MSG_NOTICE(Using UnixWare ACLs)
> AC_DEFINE(HAVE_UNIXWARE_ACLS,1,[Whether UnixWare ACLs are available])
> default_static_modules="$default_static_modules vfs_solarisacl"
> ;;
> *solaris*)
> - AC_MSG_RESULT(Using solaris ACLs)
> + AC_MSG_NOTICE(Using solaris ACLs)
> AC_DEFINE(HAVE_SOLARIS_ACLS,1,[Whether solaris ACLs are available])
> ACL_LIBS="$ACL_LIBS -lsec"
> default_static_modules="$default_static_modules vfs_solarisacl"
> ;;
> *hpux*)
> - AC_MSG_RESULT(Using HPUX ACLs)
> + AC_MSG_NOTICE(Using HPUX ACLs)
> AC_DEFINE(HAVE_HPUX_ACLS,1,[Whether HPUX ACLs are available])
> default_static_modules="$default_static_modules vfs_hpuxacl"
> ;;
> *irix*)
> - AC_MSG_RESULT(Using IRIX ACLs)
> + AC_MSG_NOTICE(Using IRIX ACLs)
> AC_DEFINE(HAVE_IRIX_ACLS,1,[Whether IRIX ACLs are available])
> default_static_modules="$default_static_modules vfs_irixacl"
> ;;
> *aix*)
> - AC_MSG_RESULT(Using AIX ACLs)
> + AC_MSG_NOTICE(Using AIX ACLs)
> AC_DEFINE(HAVE_AIX_ACLS,1,[Whether AIX ACLs are available])
> default_static_modules="$default_static_modules vfs_aixacl"
> ;;
> *osf*)
> - AC_MSG_RESULT(Using Tru64 ACLs)
> + AC_MSG_NOTICE(Using Tru64 ACLs)
> AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available])
> ACL_LIBS="$ACL_LIBS -lpacl"
> default_static_modules="$default_static_modules vfs_tru64acl"
> ;;
> - *freebsd[[5-9]]*)
> - AC_MSG_RESULT(Using FreeBSD posix ACLs)
> - AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether FreeBSD POSIX ACLs are available])
> - AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
> - default_static_modules="$default_static_modules vfs_posixacl"
> - ;;
> - *linux*)
> - AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"])
> - AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
> - AC_CACHE_CHECK([for ACL support],samba_cv_HAVE_POSIX_ACLS,[
> + *)
> + AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
> + case "$host_os" in
> + *linux*)
> + AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"])
> + ;;
> + esac
> + AC_CACHE_CHECK([for POSIX ACL support],samba_cv_HAVE_POSIX_ACLS,[
> acl_LIBS=$LIBS
> - LIBS="$LIBS -lacl"
> + LIBS="$LIBS $ACL_LIBS"
> AC_TRY_LINK([
> #include <sys/types.h>
> #include <sys/acl.h>
> @@ -5431,11 +5443,11 @@
> LIBS=$acl_LIBS
> ])
> if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
> - AC_MSG_RESULT(Using posix ACLs)
> + AC_MSG_NOTICE(Using posix ACLs)
> AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
> AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
> acl_LIBS=$LIBS
> - LIBS="$LIBS -lacl"
> + LIBS="$LIBS $ACL_LIBS"
> AC_TRY_LINK([
> #include <sys/types.h>
> #include <sys/acl.h>
> @@ -5451,64 +5463,17 @@
> if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
> AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
> fi
> + default_static_modules="$default_static_modules vfs_posixacl"
> + else
> + AC_MSG_NOTICE(ACL support is not avaliable)
> + AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
> fi
> - ;;
> - *)
> - AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
> - AC_CACHE_CHECK([for ACL support],samba_cv_HAVE_POSIX_ACLS,[
> - acl_LIBS=$LIBS
> - LIBS="$LIBS -lacl"
> - AC_TRY_LINK([
> - #include <sys/types.h>
> - #include <sys/acl.h>
> - ],[
> - acl_t acl;
> - int entry_id;
> - acl_entry_t *entry_p;
> - return acl_get_entry( acl, entry_id, entry_p);
> - ],
> - [samba_cv_HAVE_POSIX_ACLS=yes],
> - [samba_cv_HAVE_POSIX_ACLS=no])
> - LIBS=$acl_LIBS
> - ])
> - if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
> - AC_MSG_RESULT(Using posix ACLs)
> - AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
> - AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
> - acl_LIBS=$LIBS
> - LIBS="$LIBS -lacl"
> - AC_TRY_LINK([
> - #include <sys/types.h>
> - #include <sys/acl.h>
> - ],[
> - acl_permset_t permset_d;
> - acl_perm_t perm;
> - return acl_get_perm_np( permset_d, perm);
> - ],
> - [samba_cv_HAVE_ACL_GET_PERM_NP=yes],
> - [samba_cv_HAVE_ACL_GET_PERM_NP=no])
> - LIBS=$acl_LIBS
> - ])
> - if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
> - AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
> - fi
> - fi
> - ;;
> + ;;
> esac
> - ;;
> - *)
> - AC_MSG_RESULT(no)
> - AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
> - ;;
> - esac ],
> - AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support should be built in])
> - AC_MSG_RESULT(no)
> -)
> +fi # with_acl_support
>
> -if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
> - default_static_modules="$default_static_modules vfs_posixacl"
> -fi
>
> +
> #################################################
> # check for AIO support
>
>
--
Michael Adam <ma at sernet.de>
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.SerNet.DE, mailto: Info @ SerNet.DE
More information about the samba-technical
mailing list