return true;
}
-bool extract_snapshot_token(char *fname, uint32_t ucf_flags, NTTIME *twrp)
+bool extract_snapshot_token(char *fname, NTTIME *twrp)
{
const char *start = NULL;
const char *next = NULL;
size_t remaining;
bool found;
- bool posix_path = (ucf_flags & UCF_POSIX_PATHNAMES);
- bool msdfs_path = (ucf_flags & UCF_DFS_PATHNAME);
- if (msdfs_path && !posix_path) {
- /*
- * A raw (non-POSIX) MSDFS path looks like \server\share\path.
- * find_snapshot_token only looks for '/' separators.
- * Convert the separator characters in place.
- */
- string_replace(fname, '\\', '/');
- }
found = find_snapshot_token(fname, &start, &next, twrp);
- if (msdfs_path && !posix_path) {
- /* Put the original separators back. */
- string_replace(fname, '/', '\\');
- }
if (!found) {
return false;
}
return NT_STATUS_OK;
}
- found = extract_snapshot_token(smb_fname->base_name, ucf_flags, &twrp);
+ found = extract_snapshot_token(smb_fname->base_name, &twrp);
if (!found) {
return NT_STATUS_OK;
}
DBG_DEBUG("name_in: %s\n", name_in);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(name_in, ucf_flags, &twrp);
+ extract_snapshot_token(name_in, &twrp);
ucf_flags &= ~UCF_GMT_PATHNAME;
}
NTTIME twrp,
struct smb_filename **smb_fname,
uint32_t ucf_flags);
-bool extract_snapshot_token(char *fname, uint32_t ucf_flags, NTTIME *twrp);
+bool extract_snapshot_token(char *fname, NTTIME *twrp);
NTSTATUS canonicalize_snapshot_path(struct smb_filename *smb_fname,
uint32_t ucf_flags,
NTTIME twrp);
ucf_flags = filename_create_ucf_flags(req, create_disposition);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(
ctx, conn, fname, ucf_flags, twrp, &dirfsp, &smb_fname);
ucf_flags = filename_create_ucf_flags(req, create_disposition);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags_src & UCF_GMT_PATHNAME) {
- extract_snapshot_token(oldname, ucf_flags_src, &src_twrp);
+ extract_snapshot_token(oldname, &src_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
} else {
if (ucf_flags_dst & UCF_GMT_PATHNAME) {
extract_snapshot_token(newname,
- ucf_flags_dst,
&dst_twrp);
}
status = filename_convert_dirfsp(ctx,
DEBUG(3,("reply_checkpath %s mode=%d\n", name, (int)SVAL(req->vwv+0, 0)));
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(name, ucf_flags, &twrp);
+ extract_snapshot_token(name, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
uint32_t ucf_flags = ucf_flags_from_smb_request(req);
NTTIME twrp = 0;
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
ucf_flags = filename_create_ucf_flags(req, create_disposition);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
ucf_flags = filename_create_ucf_flags(req, create_disposition);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
ucf_flags = filename_create_ucf_flags(req, create_disposition);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
ucf_flags = filename_create_ucf_flags(req, FILE_CREATE);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(name, ucf_flags, &twrp);
+ extract_snapshot_token(name, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
ucf_flags = filename_create_ucf_flags(req, FILE_CREATE);
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(directory, ucf_flags, &twrp);
+ extract_snapshot_token(directory, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(directory, ucf_flags, &twrp);
+ extract_snapshot_token(directory, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (src_ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(name, src_ucf_flags, &src_twrp);
+ extract_snapshot_token(name, &src_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (dst_ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(newname, dst_ucf_flags, &dst_twrp);
+ extract_snapshot_token(newname, &dst_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
(unsigned int)open_ofun, open_size));
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(req,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(fname, ucf_flags, &twrp);
+ extract_snapshot_token(fname, &twrp);
}
status = filename_convert_dirfsp(req,
conn,
DEBUG(3,("call_trans2mkdir : name = %s\n", directory));
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(directory, ucf_flags, &twrp);
+ extract_snapshot_token(directory, &twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
smb_fname_str_dbg(smb_fname_new), oldname));
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(oldname, ucf_flags, &old_twrp);
+ extract_snapshot_token(oldname, &old_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
} else {
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(newname, ucf_flags, &dst_twrp);
+ extract_snapshot_token(newname, &dst_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
newname));
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(newname, ucf_flags, &dst_twrp);
+ extract_snapshot_token(newname, &dst_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,
}
if (ucf_flags & UCF_GMT_PATHNAME) {
- extract_snapshot_token(base_name, ucf_flags, &dst_twrp);
+ extract_snapshot_token(base_name, &dst_twrp);
}
status = filename_convert_dirfsp(ctx,
conn,