static bool shadow_copy2_strip_snapshot_internal(TALLOC_CTX *mem_ctx,
struct vfs_handle_struct *handle,
- const char *orig_name,
+ const struct smb_filename *smb_fname,
time_t *ptimestamp,
char **pstripped,
char **psnappath,
bool *_already_converted)
{
+ const char *orig_name = smb_fname->base_name;
struct tm tm;
time_t timestamp = 0;
const char *p;
static bool shadow_copy2_strip_snapshot(TALLOC_CTX *mem_ctx,
struct vfs_handle_struct *handle,
- const char *orig_name,
+ const struct smb_filename *orig_name,
time_t *ptimestamp,
char **pstripped)
{
static bool shadow_copy2_strip_snapshot_converted(TALLOC_CTX *mem_ctx,
struct vfs_handle_struct *handle,
- const char *orig_name,
+ const struct smb_filename *orig_name,
time_t *ptimestamp,
char **pstripped,
bool *is_converted)
char *snappath_dst = NULL;
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(), handle,
- smb_fname_src->base_name,
+ smb_fname_src,
×tamp_src, NULL, &snappath_src,
NULL)) {
return -1;
}
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(), handle,
- smb_fname_dst->base_name,
+ smb_fname_dst,
×tamp_dst, NULL, &snappath_dst,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(),
handle,
- link_contents->base_name,
+ link_contents,
×tamp_old,
NULL,
&snappath_old,
}
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(),
handle,
- new_smb_fname->base_name,
+ new_smb_fname,
×tamp_new,
NULL,
&snappath_new,
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(),
handle,
- old_smb_fname->base_name,
+ old_smb_fname,
×tamp_old,
NULL,
&snappath_old,
}
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(),
handle,
- new_smb_fname->base_name,
+ new_smb_fname,
×tamp_new,
NULL,
&snappath_new,
int ret;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, &stripped)) {
return -1;
}
int ret;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, &stripped)) {
return -1;
}
int ret;
ok = shadow_copy2_strip_snapshot(talloc_tos(), handle,
- fsp->fsp_name->base_name,
+ fsp->fsp_name,
×tamp, &stripped);
if (!ok) {
return -1;
int ret;
if (!shadow_copy2_strip_snapshot_converted(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, &stripped,
&is_converted)) {
return -1;
time_t timestamp = 0;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, NULL)) {
return -1;
}
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot_internal(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped,
&snappath,
time_t timestamp = 0;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, NULL)) {
return -1;
}
struct smb_filename *conv = NULL;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, &stripped)) {
return -1;
}
time_t timestamp = 0;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, NULL)) {
return -1;
}
int saved_errno = 0;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
- smb_fname->base_name,
+ smb_fname,
×tamp, &stripped)) {
goto done;
}
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return map_nt_error_from_unix(errno);
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return -1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
NULL)) {
return NT_STATUS_NO_MEMORY;
if (!shadow_copy2_strip_snapshot(mem_ctx,
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return NT_STATUS_NO_MEMORY;
DEBUG(10, ("shadow_copy2_get_real_filename called for path=[%s], "
"name=[%s]\n", path, name));
- if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, path,
+ if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
×tamp, &stripped)) {
DEBUG(10, ("shadow_copy2_strip_snapshot failed\n"));
return -1;
return priv->shadow_connectpath;
}
- if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
+ if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, smb_fname_in,
×tamp, &stripped)) {
goto done;
}
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return (uint64_t)-1;
if (!shadow_copy2_strip_snapshot(talloc_tos(),
handle,
- smb_fname->base_name,
+ smb_fname,
×tamp,
&stripped)) {
return -1;