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

Karolin Seeger kseeger at samba.org
Sat May 19 12:42:01 MDT 2012


The branch, v3-6-test has been updated
       via  865eca1 Check the return from create_acl_blob
       via  a398d1b Fix the overwriting of errno before use in a DEBUG statement and use the return value from store_acl_blob_fsp rather than ignoring it.
      from  6ea4ad3 WHATSNEW: Start release notes for 3.6.6.

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


- Log -----------------------------------------------------------------
commit 865eca15e080d9eb9e81e91985d6859e316ce081
Author: Richard Sharpe <realrichardsharpe at gmail.com>
Date:   Wed May 16 20:21:34 2012 -0700

    Check the return from create_acl_blob
    
    Autobuild-User: Richard Sharpe <sharpe at samba.org>
    Autobuild-Date: Thu May 17 07:17:29 CEST 2012 on sn-devel-104
    (cherry picked from commit 632af6645376185500820a5be9dbf5c0c3d1e515)
    
    The last two commits address bug #8945 (vfs_acl_common discards errors from
    writing to the underlying storage).

commit a398d1bc102933da01d126f2c893ad393f1fb1d2
Author: Richard Sharpe <realrichardsharpe at gmail.com>
Date:   Tue May 15 07:47:14 2012 -0700

    Fix the overwriting of errno before use in a DEBUG statement and use the return value from store_acl_blob_fsp rather than ignoring it.
    
    Autobuild-User: Richard Sharpe <sharpe at samba.org>
    Autobuild-Date: Wed May 16 03:43:41 CEST 2012 on sn-devel-104
    (cherry picked from commit bfe4a2baeec6bc4558a617ec67532ea11f865861)

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

Summary of changes:
 source3/modules/vfs_acl_common.c |   11 ++++++++---
 source3/modules/vfs_acl_xattr.c  |    6 +++---
 2 files changed, 11 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c
index 097fd20..56da3af 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -804,10 +804,15 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct *handle, files_struct *fsp,
 		NDR_PRINT_DEBUG(security_descriptor,
 			CONST_DISCARD(struct security_descriptor *,psd));
 	}
-	create_acl_blob(psd, &blob, XATTR_SD_HASH_TYPE_SHA256, hash);
-	store_acl_blob_fsp(handle, fsp, &blob);
+	status = create_acl_blob(psd, &blob, XATTR_SD_HASH_TYPE_SHA256, hash);
+	if (!NT_STATUS_IS_OK(status)) {
+		DEBUG(10, ("fset_nt_acl_xattr: create_acl_blob failed\n"));
+		return status;
+	}
 
-	return NT_STATUS_OK;
+	status = store_acl_blob_fsp(handle, fsp, &blob);
+
+	return status;
 }
 
 static SMB_STRUCT_DIR *opendir_acl_common(vfs_handle_struct *handle,
diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c
index ca23fad..12ed829 100644
--- a/source3/modules/vfs_acl_xattr.c
+++ b/source3/modules/vfs_acl_xattr.c
@@ -119,12 +119,12 @@ static NTSTATUS store_acl_blob_fsp(vfs_handle_struct *handle,
 	}
 	unbecome_root();
 	if (ret) {
-		errno = saved_errno;
 		DEBUG(5, ("store_acl_blob_fsp: setting attr failed for file %s"
 			"with error %s\n",
 			fsp_str_dbg(fsp),
-			strerror(errno) ));
-		return map_nt_error_from_unix(errno);
+			strerror(saved_errno) ));
+		errno = saved_errno;
+		return map_nt_error_from_unix(saved_errno);
 	}
 	return NT_STATUS_OK;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list