diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index faabaeba59a..2907a6f5866 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -1705,6 +1705,7 @@ struct tevent_req *cli_rmdir_send(TALLOC_CTX *mem_ctx, struct tevent_req *req = NULL, *subreq = NULL; struct cli_rmdir_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_rmdir_state); @@ -1724,8 +1725,13 @@ struct tevent_req *cli_rmdir_send(TALLOC_CTX *mem_ctx, return tevent_req_post(req, ev); } - subreq = cli_smb_send(state, ev, cli, SMBrmdir, additional_flags, 0, - 0, NULL, talloc_get_size(bytes), bytes); + if (clistr_is_previous_version_path(dname)) { + additional_flags2 = FLAGS2_REPARSE_PATH; + } + + subreq = cli_smb_send(state, ev, cli, SMBrmdir, additional_flags, + additional_flags2, + 0, NULL, talloc_get_size(bytes), bytes); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); }