summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2016-03-18 21:19:38 -0700
committerJeremy Allison <jra@samba.org>2016-03-24 22:57:16 +0100
commitdc5dad48139a3dcb4544e4f31aabe269f6401849 (patch)
treed28e38e34b700d0bc2cabab81f8130eaf1c91909 /source3/smbd/reply.c
parent2e302d7007a58df972f7e63382ee8c9729f80560 (diff)
downloadsamba-dc5dad48139a3dcb4544e4f31aabe269f6401849.tar.gz
s3: Filenames: Add uint32_t flags parameter to synthetic_smb_fname().
Get it from parent/deriving smb_filename if present. Use 0 (as usually this a Windows-style lookup) if not. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Uri Simchoni <uri@samba.org>
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index c18eb38722a..cbe15a38c35 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1825,7 +1825,8 @@ void reply_search(struct smb_request *req)
smb_dname = synthetic_smb_fname(talloc_tos(),
directory,
NULL,
- NULL);
+ NULL,
+ smb_fname->flags);
if (smb_dname == NULL) {
reply_nterror(req, NT_STATUS_NO_MEMORY);
goto out;
@@ -3088,7 +3089,8 @@ NTSTATUS unlink_internals(connection_struct *conn, struct smb_request *req,
smb_fname_dir = synthetic_smb_fname(talloc_tos(),
fname_dir,
NULL,
- NULL);
+ NULL,
+ smb_fname->flags);
if (smb_fname_dir == NULL) {
status = NT_STATUS_NO_MEMORY;
goto out;
@@ -7064,7 +7066,8 @@ NTSTATUS rename_internals(TALLOC_CTX *ctx,
smb_fname_src_dir = synthetic_smb_fname(talloc_tos(),
fname_src_dir,
NULL,
- NULL);
+ NULL,
+ smb_fname_src->flags);
if (smb_fname_src_dir == NULL) {
status = NT_STATUS_NO_MEMORY;
goto out;
@@ -7779,7 +7782,8 @@ void reply_copy(struct smb_request *req)
smb_fname_src_dir = synthetic_smb_fname(talloc_tos(),
fname_src_dir,
NULL,
- NULL);
+ NULL,
+ smb_fname_src->flags);
if (smb_fname_src_dir == NULL) {
reply_nterror(req, NT_STATUS_NO_MEMORY);
goto out;