1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

s3: smbd: Add UCF_GMT_PATHNAME, which represents FLAGS2_REPARSE_PATH.

This must be set by a client to use shadow copy (@GMT) paths.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Uri Simchoni <uri@samba.org>
This commit is contained in:
Jeremy Allison 2017-05-18 13:24:26 -07:00
parent 1c9183bb38
commit aa72d09b31
3 changed files with 13 additions and 0 deletions

View File

@ -41,6 +41,9 @@ uint32_t ucf_flags_from_smb_request(struct smb_request *req)
if (req->flags2 & FLAGS2_DFS_PATHNAMES) {
ucf_flags |= UCF_DFS_PATHNAME;
}
if (req->flags2 & FLAGS2_REPARSE_PATH) {
ucf_flags |= UCF_GMT_PATHNAME;
}
}
return ucf_flags;

View File

@ -925,6 +925,11 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
if (tevent_req_nomem(fname, req)) {
return tevent_req_post(req, ev);
}
/*
* Tell filename_create_ucf_flags() this
* is an @GMT path.
*/
smb1req->flags2 |= FLAGS2_REPARSE_PATH;
}
if (qfid) {

View File

@ -74,6 +74,11 @@ struct trans_state {
#define UCF_POSIX_PATHNAMES 0x00000008
#define UCF_UNIX_NAME_LOOKUP 0x00000010
#define UCF_PREP_CREATEFILE 0x00000020
/*
* Use the same bit as FLAGS2_REPARSE_PATH
* which means the same thing.
*/
#define UCF_GMT_PATHNAME 0x00000400
/*
* Use the same bit as FLAGS2_DFS_PATHNAMES
* which means the same thing.