[SCM] Samba Shared Repository - branch v3-0-test updated - release-3-0-32-157-gac11d94

Jeremy Allison jra at samba.org
Wed Feb 25 21:02:09 GMT 2009


The branch, v3-0-test has been updated
       via  ac11d94f36e1878f3f5d86f2e7197fd8ecdd196b (commit)
      from  a8f10f4469b31565e33669560657c2b3df68c13b (commit)

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


- Log -----------------------------------------------------------------
commit ac11d94f36e1878f3f5d86f2e7197fd8ecdd196b
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Feb 25 13:01:04 2009 -0800

    Fix bug in processing of open modes in POSIX open.
    Was missing case of "If file exists open. If file doesn't exist error."
    Damn damn damn. CIFSFS client will have to have fallback cases
    for this error for a long time.
    
    Make test for open modes more robust against other bits.
    
    Jeremy.

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

Summary of changes:
 source/smbd/trans2.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c
index 904a84b..d3b4fb9 100644
--- a/source/smbd/trans2.c
+++ b/source/smbd/trans2.c
@@ -5463,6 +5463,8 @@ static NTSTATUS smb_posix_open(connection_struct *conn,
 		create_disp = FILE_OVERWRITE_IF;
 	} else if((wire_open_mode & SMB_O_CREAT) == SMB_O_CREAT) {
 		create_disp = FILE_OPEN_IF;
+	} else if ((wire_open_mode & (SMB_O_CREAT | SMB_O_EXCL | SMB_O_TRUNC)) == 0) {
+		create_disp = FILE_OPEN;
 	} else {
 		DEBUG(5,("smb_posix_open: invalid create mode 0x%x\n",
 			(unsigned int)wire_open_mode ));


-- 
Samba Shared Repository


More information about the samba-cvs mailing list