summaryrefslogtreecommitdiff
path: root/source3/libsmb/clifile.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2016-08-18 14:04:05 -0700
committerUri Simchoni <uri@samba.org>2016-08-19 20:03:12 +0200
commit00551d73063b46d3dd2740951a2a8f1b2e351f79 (patch)
tree4133ba94222d35a0771b8ac78b5e66190b03c233 /source3/libsmb/clifile.c
parent461000c8812a99a81a9f3fc87f93c1b7c67f42bd (diff)
downloadsamba-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.c10
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);
}