[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Sep 11 10:20:02 MDT 2012


The branch, master has been updated
       via  33d9a22 smbd: Print ACL used to create hash in vfs_xattr_common
       via  6fbce90 provision: Only give the "no posix ACLs" exception if we could not set the SD
       via  1a3d6de torture: Add discard_const_p() to work around dlz_create prototype
      from  69c2e18 selftest: we fail the smb2.durable-open.delete_on_close2 test

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 33d9a22dcb3662e8a5e33d490d2739712151677c
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 10 08:43:09 2012 +1000

    smbd: Print ACL used to create hash in vfs_xattr_common
    
    This should help us understand why sometimes an ACL set won't stick.
    
    Andrew Bartlett
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Tue Sep 11 18:19:53 CEST 2012 on sn-devel-104

commit 6fbce905db5bc4ea5463727a13ea063811556db7
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Sep 9 17:08:49 2012 +1000

    provision: Only give the "no posix ACLs" exception if we could not set the SD
    
    This will allow us to run make test on all platforms again, as we emululate the posix ACLs using the fake_acls
    module.  By then testing smbd.have_posix_acls() we gain a more specific error message.
    
    Andrew Bartlett

commit 1a3d6de20aa4e45dd1c5a8ed6f8b5193efa52167
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Sep 7 15:10:24 2012 +1000

    torture: Add discard_const_p() to work around dlz_create prototype

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

Summary of changes:
 source3/modules/vfs_acl_common.c                   |   10 ++++++++++
 .../scripting/python/samba/provision/__init__.py   |   12 ++++++------
 source4/torture/dns/dlz_bind9.c                    |    4 ++--
 3 files changed, 18 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c
index a3d53a1..c2ac875 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -375,6 +375,12 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
 		"file system SD mapping.\n",
 		name ));
 
+	if (DEBUGLEVEL >= 10) {
+		DEBUG(10,("get_nt_acl_internal: acl for blob hash for %s is:\n",
+			name ));
+		NDR_PRINT_DEBUG(security_descriptor, pdesc_next);
+	}
+
 	TALLOC_FREE(psd);
 	psd = pdesc_next;
 
@@ -596,6 +602,10 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct *handle, files_struct *fsp,
 			  fsp_str_dbg(fsp)));
 		NDR_PRINT_DEBUG(security_descriptor,
 			discard_const_p(struct security_descriptor, psd));
+
+		DEBUG(10,("fset_nt_acl_xattr: storing has in xattr sd based on \n"));
+		NDR_PRINT_DEBUG(security_descriptor,
+			discard_const_p(struct security_descriptor, pdesc_next));
 	}
 	status = create_acl_blob(psd, &blob, XATTR_SD_HASH_TYPE_SHA256, hash);
 	if (!NT_STATUS_IS_OK(status)) {
diff --git a/source4/scripting/python/samba/provision/__init__.py b/source4/scripting/python/samba/provision/__init__.py
index 12904a7..862a0c7 100644
--- a/source4/scripting/python/samba/provision/__init__.py
+++ b/source4/scripting/python/samba/provision/__init__.py
@@ -1906,17 +1906,17 @@ def provision(logger, session_info, credentials, smbconf=None,
         if paths.sysvol is None:
             raise MissingShareError("sysvol", paths.smbconf)
 
-        if not smbd.have_posix_acls():
-            # This clue is only strictly correct for RPM and
-            # Debian-like Linux systems, but hopefully other users
-            # will get enough clue from it.
-            raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires.  Try installing libacl1-dev or libacl-devel, then re-run configure and make.")
-            
         file = tempfile.NamedTemporaryFile(dir=os.path.abspath(paths.sysvol))
         try:
             try:
                 smbd.set_simple_acl(file.name, 0755, wheel_gid)
             except Exception:
+                if not smbd.have_posix_acls():
+                    # This clue is only strictly correct for RPM and
+                    # Debian-like Linux systems, but hopefully other users
+                    # will get enough clue from it.
+                    raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires.  Try installing libacl1-dev or libacl-devel, then re-run configure and make.")
+            
                 raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires.  Try the mounting the filesystem with the 'acl' option.")
             try:
                 smbd.chown(file.name, root_uid, wheel_gid)
diff --git a/source4/torture/dns/dlz_bind9.c b/source4/torture/dns/dlz_bind9.c
index d01e506..6372ca8 100644
--- a/source4/torture/dns/dlz_bind9.c
+++ b/source4/torture/dns/dlz_bind9.c
@@ -58,7 +58,7 @@ static bool test_dlz_bind9_create(struct torture_context *tctx)
 		NULL
 	};
 	tctx_static = tctx;
-	torture_assert_int_equal(tctx, dlz_create("samba_dlz", 3, argv, &dbdata,
+	torture_assert_int_equal(tctx, dlz_create("samba_dlz", 3, discard_const_p(char *, argv), &dbdata,
 						  "log", dlz_bind9_log_wrapper, NULL), ISC_R_SUCCESS,
 		"Failed to create samba_dlz");
 
@@ -106,7 +106,7 @@ static bool test_dlz_bind9_configure(struct torture_context *tctx)
 		NULL
 	};
 	tctx_static = tctx;
-	torture_assert_int_equal(tctx, dlz_create("samba_dlz", 3, argv, &dbdata,
+	torture_assert_int_equal(tctx, dlz_create("samba_dlz", 3, discard_const_p(char *, argv), &dbdata,
 						  "log", dlz_bind9_log_wrapper,
 						  "writeable_zone", dlz_bind9_writeable_zone_hook, NULL),
 				 ISC_R_SUCCESS,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list