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