[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Sat Oct 11 16:23:02 MDT 2014
The branch, master has been updated
via f593835 vfs_posixacl: catch ACL_EVERYONE on FreeBSD
via 8686da2 dsdb: Fix a crash in an error return
from 6d2c8f5 smbd: Fix a use-after-free
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f593835e54648621a46600bde7866e629718ebf4
Author: Ralph Boehme <slow at samba.org>
Date: Fri Oct 10 13:53:56 2014 +0200
vfs_posixacl: catch ACL_EVERYONE on FreeBSD
Using POSIX ACL API on FreeBSD may return NFSv4 style tag type
ACL_EVERYONE. Catch the error and issue a helpful log message telling
users to enable zfsacl VFS module.
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Sun Oct 12 00:22:19 CEST 2014 on sn-devel-104
commit 8686da231d434bb35333654277a029271e147257
Author: Volker Lendecke <vl at samba.org>
Date: Fri Oct 10 15:37:55 2014 +0200
dsdb: Fix a crash in an error return
In an error return we have
/* Back it out, if it fails on one */
for (i--; i >= 0; i--) {
ldb_next_del_trans(data->partitions[i]->module);
}
With unsigned int i this will spin and del_trans somewhere far off :-)
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/modules/vfs_posixacl.c | 5 +++++
source3/wscript | 1 +
source4/dsdb/samdb/ldb_modules/partition.c | 2 +-
3 files changed, 7 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/vfs_posixacl.c b/source3/modules/vfs_posixacl.c
index 6963aae..f009fcc 100644
--- a/source3/modules/vfs_posixacl.c
+++ b/source3/modules/vfs_posixacl.c
@@ -167,6 +167,11 @@ static bool smb_ace_to_internal(acl_entry_t posix_ace,
case ACL_MASK:
ace->a_type = SMB_ACL_MASK;
break;
+#ifdef HAVE_ACL_EVERYONE
+ case ACL_EVERYONE:
+ DEBUG(1, ("ACL tag type ACL_EVERYONE. FreeBSD with ZFS? Use 'vfs objects = zfsacl'\n"));
+ return false;
+#endif
default:
DEBUG(0, ("unknown tag type %d\n", (unsigned int)tag));
return False;
diff --git a/source3/wscript b/source3/wscript
index b285c5f..4f182bf 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -476,6 +476,7 @@ return acl_get_perm_np(permset_d, perm);
headers='sys/types.h sys/acl.h', link=True,
msg="Checking whether acl_get_perm_np() is available")
default_static_modules.extend(TO_LIST('vfs_posixacl'))
+ conf.CHECK_VARIABLE('ACL_EVERYONE', headers='sys/acl.h')
elif conf.CHECK_FUNCS_IN(['facl'], 'sec'):
Logs.info('Using solaris or UnixWare ACLs')
conf.DEFINE('HAVE_SOLARIS_UNIXWARE_ACLS',1)
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c
index f2624a2..b501ff1 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -805,7 +805,7 @@ static int partition_rename(struct ldb_module *module, struct ldb_request *req)
/* start a transaction */
static int partition_start_trans(struct ldb_module *module)
{
- unsigned int i;
+ int i;
int ret;
struct partition_private_data *data = talloc_get_type(ldb_module_get_private(module),
struct partition_private_data);
--
Samba Shared Repository
More information about the samba-cvs
mailing list