1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

shadow_copy2: fix shadow_copy2_strip_snapshot() in the classical case

I.e., fix detection of already converted names.

This is done by using the shadow_copy2_snapshot_path() function
and comparing if the input string starts with that.

Signed-off-by: Michael Adam <obnox@samba.org>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Michael Adam 2013-05-29 17:16:23 +02:00 committed by Andrew Bartlett
parent afcb84e69f
commit 4b8d9c65f4

View File

@ -381,6 +381,36 @@ static bool shadow_copy2_strip_snapshot(TALLOC_CTX *mem_ctx,
goto no_snapshot;
}
TALLOC_FREE(insert);
} else {
char *snapshot_path;
char *s;
snapshot_path = shadow_copy2_snapshot_path(talloc_tos(),
handle,
timestamp);
if (snapshot_path == NULL) {
errno = ENOMEM;
return false;
}
DEBUG(10, (__location__ " path: '%s'.\n"
"snapshot path: '%s'\n", name, snapshot_path));
s = strstr(name, snapshot_path);
if (s == name) {
/*
* this starts with "snapshot_basepath/GMT-Token"
* so it is already a converted absolute
* path. Don't process further.
*/
DEBUG(10, (__location__ ": path '%s' starts with "
"snapshot path '%s' (not in "
"snapdirseverywhere mode) ==> "
"already converted\n", name, snapshot_path));
talloc_free(snapshot_path);
goto no_snapshot;
}
talloc_free(snapshot_path);
}
if (pstripped != NULL) {