]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: Add src_dirfsp and dst_dirfsp parameters to copy_internals().
authorJeremy Allison <jra@samba.org>
Thu, 28 Jul 2022 18:49:35 +0000 (11:49 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 2 Aug 2022 19:49:32 +0000 (19:49 +0000)
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/modules/vfs_crossrename.c
source3/smbd/proto.h
source3/smbd/smb1_nttrans.c
source3/smbd/smb2_nttrans.c

index 930eec02739cf57e00cfbd74ebf5b0cd32b267f3..042144bfc4df9264a0f968fd9ca1a5c413316bf6 100644 (file)
@@ -115,7 +115,9 @@ static NTSTATUS copy_reg(vfs_handle_struct *handle,
        status = copy_internals(talloc_tos(),
                                handle->conn,
                                NULL,
+                               srcfsp, /* src_dirfsp */
                                full_fname_src,
+                               dstfsp, /* dst_dirfsp */
                                full_fname_dst,
                                FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);
        if (!NT_STATUS_IS_OK(status)) {
index 9bb31b1ed28fd4b0503df299c7ef2aff43e3abc7..b2bd5d0e8945d68c811412bad560c436c0b45c5e 100644 (file)
@@ -698,7 +698,9 @@ NTSTATUS set_sd_blob(files_struct *fsp, uint8_t *data, uint32_t sd_len,
 NTSTATUS copy_internals(TALLOC_CTX *ctx,
                        connection_struct *conn,
                        struct smb_request *req,
+                       struct files_struct *src_dirfsp,
                        struct smb_filename *smb_fname_src,
+                       struct files_struct *dst_dirfsp,
                        struct smb_filename *smb_fname_dst,
                        uint32_t attrs);
 NTSTATUS smbd_do_query_security_desc(connection_struct *conn,
index ea56f56cea3a3ea68cbda27d62d5f1ebfd402bfa..141737856f9ed78ec9890fe560725ad036b8821c 100644 (file)
@@ -1560,7 +1560,9 @@ void reply_ntrename(struct smb_request *req)
                        status = copy_internals(ctx,
                                                conn,
                                                req,
+                                               NULL, /* src_dirfsp */
                                                smb_fname_old,
+                                               NULL, /* dst_dirfsp */
                                                smb_fname_new,
                                                attrs);
                        break;
index a7e4c0f5c855b4d4e29a6e25266923836533b502..84defa3f05288b28be067de04d36179d7536bf95 100644 (file)
@@ -197,7 +197,9 @@ NTSTATUS set_sd_blob(files_struct *fsp, uint8_t *data, uint32_t sd_len,
 NTSTATUS copy_internals(TALLOC_CTX *ctx,
                        connection_struct *conn,
                        struct smb_request *req,
+                       struct files_struct *src_dirfsp,
                        struct smb_filename *smb_fname_src,
+                       struct files_struct *dst_dirfsp,
                        struct smb_filename *smb_fname_dst,
                        uint32_t attrs)
 {
@@ -246,7 +248,7 @@ NTSTATUS copy_internals(TALLOC_CTX *ctx,
         status = SMB_VFS_CREATE_FILE(
                conn,                                   /* conn */
                req,                                    /* req */
-               NULL,                                   /* dirfsp */
+               src_dirfsp,                             /* dirfsp */
                smb_fname_src,                          /* fname */
                FILE_READ_DATA|FILE_READ_ATTRIBUTES|
                        FILE_READ_EA,                   /* access_mask */
@@ -272,7 +274,7 @@ NTSTATUS copy_internals(TALLOC_CTX *ctx,
         status = SMB_VFS_CREATE_FILE(
                conn,                                   /* conn */
                req,                                    /* req */
-               NULL,                                   /* dirfsp */
+               dst_dirfsp,                             /* dirfsp */
                smb_fname_dst,                          /* fname */
                FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|
                        FILE_WRITE_EA,                  /* access_mask */