The branch, master has been updated
       via  e6c234d Move the error handling for svhdx to vfswrap_create to give 
VFS module writers a chance to handle RSVD opens if they want to.
      from  d9166eb lib/crypto: make it possible to use only parts of aes.[ch]

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


- Log -----------------------------------------------------------------
commit e6c234d31ad22120d0890b561dac9b456f8f6530
Author: Richard Sharpe <[email protected]>
Date:   Tue Jul 28 19:08:02 2015 -0700

    Move the error handling for svhdx to vfswrap_create to give VFS module 
writers a chance to handle RSVD opens if they want to.
    
    Also handle a review comment by Metze.
    
    Signed-off-by: Richard Sharpe <[email protected]>
    Reviewed-by: Ira Cooper <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Fri Aug 28 03:19:36 CEST 2015 on sn-devel-104

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

Summary of changes:
 source3/modules/vfs_default.c | 16 ++++++++++++++++
 source3/smbd/smb2_create.c    |  7 -------
 2 files changed, 16 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 460837c..9ea630a 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -563,6 +563,22 @@ static NTSTATUS vfswrap_create_file(vfs_handle_struct 
*handle,
                                    const struct smb2_create_blobs 
*in_context_blobs,
                                    struct smb2_create_blobs *out_context_blobs)
 {
+       struct smb2_create_blob *svhdx = NULL;
+
+       /*
+        * It might be empty ... and smb2_create_blob_find does not handle that
+        */
+       if (in_context_blobs) {
+               svhdx = smb2_create_blob_find(in_context_blobs,
+                                             SVHDX_OPEN_DEVICE_CONTEXT);
+       }
+
+       if (svhdx != NULL) {
+               /* SharedVHD is not yet supported */
+               DEBUG(10, ("Shared VHD not yet supported, 
INVALID_DEVICE_REQUEST\n"));
+               return NT_STATUS_INVALID_DEVICE_REQUEST;
+       }
+
        return create_file_default(handle->conn, req, root_dir_fid, smb_fname,
                                   access_mask, share_access,
                                   create_disposition, create_options,
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 880ceee..9f14544 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -910,13 +910,6 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX 
*mem_ctx,
                        }
                }
 
-               if (svhdx != NULL) {
-                       /* SharedVHD is not yet supported */
-                       tevent_req_nterror(
-                               req, NT_STATUS_INVALID_DEVICE_REQUEST);
-                       return tevent_req_post(req, ev);
-               }
-
                /* these are ignored for SMB2 */
                in_create_options &= ~(0x10);/* NTCREATEX_OPTIONS_SYNC_ALERT */
                in_create_options &= ~(0x20);/* NTCREATEX_OPTIONS_ASYNC_ALERT */


-- 
Samba Shared Repository

Reply via email to