[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-218-g028302f

Jeremy Allison jra at samba.org
Tue Mar 11 19:37:38 GMT 2008


The branch, v3-2-test has been updated
       via  028302fac53083d66c969b876db1d831e53b8e35 (commit)
      from  50cab87d3ee6d701dd8847f4e0a058f5e2d80e0f (commit)

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


- Log -----------------------------------------------------------------
commit 028302fac53083d66c969b876db1d831e53b8e35
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Mar 11 12:37:01 2008 -0700

    Fix S3 to pass the test_raw_oplock_exclusive3 test.
    Jeremy.

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

Summary of changes:
 source/smbd/open.c   |    5 +++--
 source/smbd/trans2.c |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/open.c b/source/smbd/open.c
index cc78503..0cc48c4 100644
--- a/source/smbd/open.c
+++ b/source/smbd/open.c
@@ -1366,7 +1366,7 @@ NTSTATUS open_file_ntcreate(connection_struct *conn,
 	se_map_generic(&access_mask, &file_generic_mapping);
 	open_access_mask = access_mask;
 
-	if (flags2 & O_TRUNC) {
+	if ((flags2 & O_TRUNC) || (oplock_request & FORCE_OPLOCK_BREAK_TO_NONE)) {
 		open_access_mask |= FILE_WRITE_DATA; /* This will cause oplock breaks. */
 	}
 
@@ -1378,7 +1378,8 @@ NTSTATUS open_file_ntcreate(connection_struct *conn,
 	 * mean the same thing under DOS and Unix.
 	 */
 
-	if (access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) {
+	if ((access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) ||
+			(oplock_request & FORCE_OPLOCK_BREAK_TO_NONE)) {
 		/* DENY_DOS opens are always underlying read-write on the
 		   file handle, no matter what the requested access mask
 		    says. */
diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c
index 008ffed..716f94f 100644
--- a/source/smbd/trans2.c
+++ b/source/smbd/trans2.c
@@ -4930,7 +4930,7 @@ static NTSTATUS smb_set_file_size(connection_struct *conn,
 	}
 
 	status = open_file_ntcreate(conn, req, fname, psbuf,
-				FILE_WRITE_DATA,
+				FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES,
 				FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
 				FILE_OPEN,
 				0,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list