summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2019-09-23 15:15:31 -0700
committerKarolin Seeger <kseeger@samba.org>2019-10-16 19:25:12 +0000
commit459acf2728aa0c3bc935227998cdc59ead5a2e7c (patch)
tree9edeb7c561111f90664040ee6b69fd33592aa9b1
parent2204788e596478d9635f1577ccb7dd76ed66e6a6 (diff)
downloadsamba-459acf2728aa0c3bc935227998cdc59ead5a2e7c.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> (cherry picked from commit e1dfaa2b038d91e43d8d34bf1526b7728dba58a5)
-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);