The branch, master has been updated
       via  f93fd12 Fix bug #8507 - smbd doesn't correctly honor the "force 
create mode" bits from a cifsfs create.
      from  e30e7a6 s3-waf: remove explicit linking to SMBLDAP subsystem.

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


- Log -----------------------------------------------------------------
commit f93fd128eb623e324459806a34052bd40afe82e5
Author: Jeremy Allison <[email protected]>
Date:   Tue Oct 4 14:46:00 2011 -0700

    Fix bug #8507 - smbd doesn't correctly honor the "force create mode" bits 
from a cifsfs create.
    
    Don't manipulate the new_dos_attributes bits until we know it's not a POSIX 
open.
    
    Autobuild-User: Jeremy Allison <[email protected]>
    Autobuild-Date: Wed Oct  5 01:19:17 CEST 2011 on sn-devel-104

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

Summary of changes:
 source3/smbd/open.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 61d1a2e..a44f15f 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1541,12 +1541,6 @@ static NTSTATUS open_file_ntcreate(connection_struct 
*conn,
 
        ZERO_STRUCT(id);
 
-       /* Windows allows a new file to be created and
-          silently removes a FILE_ATTRIBUTE_DIRECTORY
-          sent by the client. Do the same. */
-
-       new_dos_attributes &= ~FILE_ATTRIBUTE_DIRECTORY;
-
        if (conn->printer) {
                /*
                 * Printers are handled completely differently.
@@ -1580,6 +1574,12 @@ static NTSTATUS open_file_ntcreate(connection_struct 
*conn,
                unx_mode = (mode_t)(new_dos_attributes & 
~FILE_FLAG_POSIX_SEMANTICS);
                new_dos_attributes = 0;
        } else {
+               /* Windows allows a new file to be created and
+                  silently removes a FILE_ATTRIBUTE_DIRECTORY
+                  sent by the client. Do the same. */
+
+               new_dos_attributes &= ~FILE_ATTRIBUTE_DIRECTORY;
+
                /* We add FILE_ATTRIBUTE_ARCHIVE to this as this mode is only 
used if the file is
                 * created new. */
                unx_mode = unix_mode(conn, new_dos_attributes | 
FILE_ATTRIBUTE_ARCHIVE,


-- 
Samba Shared Repository

Reply via email to