From bd2ffb1c7a70ef9063b99a9318b3e185ddda84fe Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 6 Nov 2009 21:53:07 -0800 Subject: Fix bug 6865 - acl_xattr module: Has dependency that inherit acls = yes or xattrs are removed. Jeremy. --- source3/modules/vfs_acl_tdb.c | 6 ++++++ source3/modules/vfs_acl_xattr.c | 12 ++++++++++++ 2 files changed, 18 insertions(+) (limited to 'source3/modules') diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c index 424ecbf65b..3d06e520e8 100644 --- a/source3/modules/vfs_acl_tdb.c +++ b/source3/modules/vfs_acl_tdb.c @@ -382,6 +382,12 @@ static int connect_acl_tdb(struct vfs_handle_struct *handle, SMB_VFS_HANDLE_SET_DATA(handle, db, free_acl_tdb_data, struct db_context, return -1); + /* 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", + service )); + set_inherit_acls(SNUM(handle->conn)); + return 0; } diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c index 7a9cd27e5f..11ca8902c0 100644 --- a/source3/modules/vfs_acl_xattr.c +++ b/source3/modules/vfs_acl_xattr.c @@ -208,8 +208,20 @@ static int sys_acl_set_fd_xattr(vfs_handle_struct *handle, return ret; } +static int connect_acl_xattr(struct vfs_handle_struct *handle, + const char *service, + const char *user) +{ + /* 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", + service )); + set_inherit_acls(SNUM(handle->conn)); + return 0; +} static struct vfs_fn_pointers vfs_acl_xattr_fns = { + .connect_fn = connect_acl_xattr, .mkdir = mkdir_acl_common, .open = open_acl_common, .fget_nt_acl = fget_nt_acl_common, -- cgit