summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2019-09-23 15:15:31 -0700
committerRalph Boehme <slow@samba.org>2019-10-02 08:01:39 +0000
commite1dfaa2b038d91e43d8d34bf1526b7728dba58a5 (patch)
tree8f789c70bce8788bdc1595a6323092c764e30373 /source3/smbd
parent300b47442b023532bd65417fcec04d811f40ef76 (diff)
downloadsamba-e1dfaa2b038d91e43d8d34bf1526b7728dba58a5.tar.gz
s3:smbd: change the place where we call dos_mode() when processing SMB2_CREATE
This is needed for ordinary file or directory opens so the QFID create context response gets the correct File-ID value via dos_mode() from the DOS attributes xattr. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14137 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/smb2_create.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 61ed72169fb..66f4aad8c9e 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -1274,6 +1274,9 @@ static void smbd_smb2_create_after_exec(struct tevent_req *req)
DEBUG(10, ("smbd_smb2_create_send: "
"response construction phase\n"));
+ state->out_file_attributes = dos_mode(state->result->conn,
+ state->result->fsp_name);
+
if (state->mxac != NULL) {
NTTIME last_write_time;
@@ -1472,8 +1475,6 @@ static void smbd_smb2_create_finish(struct tevent_req *req)
state->out_create_action = state->info;
}
result->op->create_action = state->out_create_action;
- state->out_file_attributes = dos_mode(result->conn,
- result->fsp_name);
state->out_creation_ts = get_create_timespec(smb1req->conn,
result, result->fsp_name);