return ucf_flags;
}
-uint32_t filename_create_ucf_flags(struct smb_request *req, uint32_t create_disposition)
+uint32_t filename_create_ucf_flags(struct smb_request *req,
+ uint32_t create_disposition,
+ uint32_t create_options)
{
uint32_t ucf_flags = 0;
/* The following definitions come from smbd/filename.c */
uint32_t ucf_flags_from_smb_request(struct smb_request *req);
-uint32_t filename_create_ucf_flags(struct smb_request *req, uint32_t create_disposition);
+uint32_t filename_create_ucf_flags(struct smb_request *req,
+ uint32_t create_disposition,
+ uint32_t create_options);
NTSTATUS canonicalize_snapshot_path(struct smb_filename *smb_fname,
uint32_t ucf_flags,
NTTIME twrp);
fname = new_fname;
}
- ucf_flags = filename_create_ucf_flags(req, create_disposition);
+ ucf_flags = filename_create_ucf_flags(req,
+ create_disposition,
+ create_options);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
}
fname = new_fname;
}
- ucf_flags = filename_create_ucf_flags(req, create_disposition);
+ ucf_flags = filename_create_ucf_flags(req,
+ create_disposition,
+ create_options);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
}
goto out;
}
- ucf_flags = filename_create_ucf_flags(req, create_disposition);
+ ucf_flags = filename_create_ucf_flags(req,
+ create_disposition,
+ create_options);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
goto out;
}
- ucf_flags = filename_create_ucf_flags(req, create_disposition);
+ ucf_flags = filename_create_ucf_flags(req,
+ create_disposition,
+ create_options);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
goto out;
}
- ucf_flags = filename_create_ucf_flags(req, create_disposition);
+ ucf_flags = filename_create_ucf_flags(req,
+ create_disposition,
+ create_options);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
}
goto out;
}
- ucf_flags = filename_create_ucf_flags(req, FILE_CREATE);
+ ucf_flags = filename_create_ucf_flags(req, FILE_CREATE, 0);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(fname, &twrp);
}
goto out;
}
- ucf_flags = filename_create_ucf_flags(req, FILE_CREATE);
+ ucf_flags = filename_create_ucf_flags(req, FILE_CREATE, 0);
if (ucf_flags & UCF_GMT_PATHNAME) {
extract_snapshot_token(directory, &twrp);
}
return status;
}
- ucf_flags = filename_create_ucf_flags(smb1req, FILE_OPEN);
+ ucf_flags = filename_create_ucf_flags(smb1req, FILE_OPEN, 0);
status = filename_convert_dirfsp(talloc_tos(),
fsp->conn,
filename,
return tevent_req_post(req, state->ev);
}
- ucf_flags = filename_create_ucf_flags(
- smb1req, state->in_create_disposition);
+ ucf_flags = filename_create_ucf_flags(smb1req,
+ state->in_create_disposition,
+ state->in_create_options);
status = filename_convert_dirfsp(
req,