summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2025-06-14 15:41:38 +0200
committerRalph Boehme <slow@samba.org>2025-08-05 14:52:34 +0000
commitc63d63e36ab83be9a2d4a4df41f59bf7ae1af06a (patch)
tree919aa76fb12e2e7cedff8e008dcf77272d168d7e
parent93c1f55917ee0500b3c9fc169063cb3a5a492983 (diff)
downloadsamba-c63d63e36ab83be9a2d4a4df41f59bf7ae1af06a.tar.gz
samba-c63d63e36ab83be9a2d4a4df41f59bf7ae1af06a.tar.bz2
samba-c63d63e36ab83be9a2d4a4df41f59bf7ae1af06a.zip
smbd: move create_action handling to smbd_smb2_create_after_exec()
This ensures op->create_action is set when we're calling smbXsrv_open_update() and fixes create_action handling for create replays. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--source3/smbd/smb2_create.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 5623a5a1bde..b36e188c474 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -1680,6 +1680,9 @@ static void smbd_smb2_create_after_exec(struct tevent_req *req)
DBG_DEBUG("response construction phase\n");
+ state->op->create_action = state->info;
+ state->out_create_action = state->info;
+
state->out_file_attributes = fdos_mode(state->result);
if ((state->out_file_attributes & FILE_ATTRIBUTE_REPARSE_POINT) &&
@@ -1961,9 +1964,6 @@ static void smbd_smb2_create_finish(struct tevent_req *req)
state->out_oplock_level = map_samba_oplock_levels_to_smb2(result->oplock_type);
}
- state->op->create_action = state->info;
- state->out_create_action = state->info;
-
state->out_creation_ts = get_create_timespec(smb1req->conn,
result, result->fsp_name);
state->out_last_access_ts = result->fsp_name->st.st_ex_atime;