diff options
author | Jeremy Allison <jra@samba.org> | 2016-08-18 14:04:05 -0700 |
---|---|---|
committer | Uri Simchoni <uri@samba.org> | 2016-08-19 20:03:12 +0200 |
commit | 00551d73063b46d3dd2740951a2a8f1b2e351f79 (patch) | |
tree | 4133ba94222d35a0771b8ac78b5e66190b03c233 /source3/libsmb/clifile.c | |
parent | 461000c8812a99a81a9f3fc87f93c1b7c67f42bd (diff) | |
download | samba-00551d73063b46d3dd2740951a2a8f1b2e351f79.tar.gz |
s3: libsmb: Plumb in additional_flags2 = FLAGS2_REPARSE_PATH to cli_setatr_send().
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12165
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Uri Simchoni <uri@samba.org>
Diffstat (limited to 'source3/libsmb/clifile.c')
-rw-r--r-- | source3/libsmb/clifile.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index cfe8856cd74..826691a03b6 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -4023,6 +4023,7 @@ struct tevent_req *cli_setatr_send(TALLOC_CTX *mem_ctx, struct tevent_req *req = NULL, *subreq = NULL; struct cli_setatr_state *state = NULL; uint8_t additional_flags = 0; + uint16_t additional_flags2 = 0; uint8_t *bytes = NULL; req = tevent_req_create(mem_ctx, &state, struct cli_setatr_state); @@ -4056,8 +4057,13 @@ struct tevent_req *cli_setatr_send(TALLOC_CTX *mem_ctx, return tevent_req_post(req, ev); } - subreq = cli_smb_send(state, ev, cli, SMBsetatr, additional_flags, 0, - 8, state->vwv, talloc_get_size(bytes), bytes); + if (clistr_is_previous_version_path(fname)) { + additional_flags2 = FLAGS2_REPARSE_PATH; + } + + subreq = cli_smb_send(state, ev, cli, SMBsetatr, additional_flags, + additional_flags2, + 8, state->vwv, talloc_get_size(bytes), bytes); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } |