[SCM] Samba Shared Repository - branch v3-5-test updated

Jeremy Allison jra at samba.org
Wed Nov 11 19:36:51 MST 2009


The branch, v3-5-test has been updated
       via  fbb22af... Second part of bugfix for 6865 - acl_xattr module: Has dependency that inherit acls = yes or xattrs are removed. We also need dos filemode = true set as well. Jeremy. (cherry picked from commit a8769e667514f83a45ee3e825d21a351987d0210)
      from  cdcd4da... Fix bug 6878 - Cannot change ACL's inherit flag. Based on a patch submitted by Tsukasa Hamano <hamano at osstech.co.jp>, this is a change in the POSIX ACL mapping to deal with the lossy mapping for directory ACE entries:

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit fbb22af1fa4fceab143de77700d388eb073e7452
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Nov 11 18:35:18 2009 -0800

    Second part of bugfix for 6865 - acl_xattr module: Has dependency that inherit acls = yes or xattrs are removed.
    We also need dos filemode = true set as well.
    Jeremy.
    (cherry picked from commit a8769e667514f83a45ee3e825d21a351987d0210)

-----------------------------------------------------------------------

Summary of changes:
 docs-xml/smbdotconf/misc/dosfilemode.xml |    8 +++++++-
 source3/include/proto.h                  |    1 -
 source3/modules/vfs_acl_tdb.c            |    6 ++++--
 source3/modules/vfs_acl_xattr.c          |    8 ++++++--
 source3/param/loadparm.c                 |   10 ----------
 5 files changed, 17 insertions(+), 16 deletions(-)


Changeset truncated at 500 lines:

diff --git a/docs-xml/smbdotconf/misc/dosfilemode.xml b/docs-xml/smbdotconf/misc/dosfilemode.xml
index e67ccd9..cf53192 100644
--- a/docs-xml/smbdotconf/misc/dosfilemode.xml
+++ b/docs-xml/smbdotconf/misc/dosfilemode.xml
@@ -12,7 +12,13 @@
 	(including ACL) on it. Note that a user belonging to the group
 	owning the file will not be allowed to change permissions if
 	the group is only granted read access. Ownership of the
-	file/directory may also be changed.</para>
+	file/directory may also be changed.
+
+	Note that using the VFS modules acl_xattr or acl_tdb which store native
+	Windows as meta-data will automatically turn this option on for any
+	share for which they are loaded, as they require this option to emulate
+	Windows ACLs correctly.
+	</para>
 </description>
 <value type="default">no</value>
 </samba:parameter>
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 7213a0d..27f80db 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4373,7 +4373,6 @@ void lp_set_posix_default_cifsx_readwrite_locktype(enum brl_flavour val);
 int lp_min_receive_file_size(void);
 char* lp_perfcount_module(void);
 void lp_set_passdb_backend(const char *backend);
-bool set_inherit_acls(int i);
 
 /* The following definitions come from param/util.c  */
 
diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c
index 3d06e52..db3881e 100644
--- a/source3/modules/vfs_acl_tdb.c
+++ b/source3/modules/vfs_acl_tdb.c
@@ -384,9 +384,11 @@ static int connect_acl_tdb(struct vfs_handle_struct *handle,
 
 	/* Ensure we have "inherit acls = yes" if we're
 	 * using this module. */
-	DEBUG(2,("connect_acl_tdb: setting 'inherit acls = true' for service %s\n",
+	DEBUG(2,("connect_acl_tdb: setting 'inherit acls = true' "
+		"and 'dos filemode = true' for service %s\n",
 		service ));
-	set_inherit_acls(SNUM(handle->conn));
+	lp_do_parameter(SNUM(handle->conn), "inherit acls", "true");
+	lp_do_parameter(SNUM(handle->conn), "dos filemode", "true");
 
 	return 0;
 }
diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c
index 11ca890..962d1b7 100644
--- a/source3/modules/vfs_acl_xattr.c
+++ b/source3/modules/vfs_acl_xattr.c
@@ -214,9 +214,13 @@ static int connect_acl_xattr(struct vfs_handle_struct *handle,
 {
 	/* Ensure we have "inherit acls = yes" if we're
 	 * using this module. */
-	DEBUG(2,("connect_acl_xattr: setting 'inherit acls = true' for service %s\n",
+	DEBUG(2,("connect_acl_xattr: setting 'inherit acls = true' "
+		"and 'dos filemode = true' for service %s\n",
 		service ));
-	set_inherit_acls(SNUM(handle->conn));
+
+        lp_do_parameter(SNUM(handle->conn), "inherit acls", "true");
+        lp_do_parameter(SNUM(handle->conn), "dos filemode", "true");
+
 	return 0;
 }
 
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 9a0f834..c62deb5 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -9843,13 +9843,3 @@ void lp_set_passdb_backend(const char *backend)
 {
 	string_set(&Globals.szPassdbBackend, backend);
 }
-
-bool set_inherit_acls(int i)
-{
-	if (!LP_SNUM_OK(i)) {
-		return false;
-	}
-	ServicePtrs[(i)]->bInheritACLS = true;
-
-	return true;
-}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list