Open GoogleCodeExporter opened 9 years ago
The Function "DokanSetRenameInformation" from inside
[http://code.google.com/p/dokan/source/browse/trunk/dokan/setfile.c] looks very
suspect when it performs the copy of the old file-name path into the beginning
of the buffer.
If it does not have a beginning '\', then perhaps this is something to do with
SMB redirection, and "can / should" be handled by the user space implementation
(i.e. through documentation and an example!)
Original comment by smurf...@gmail.com
on 17 Nov 2011 at 5:44
FYI
C# workaround that will be going into Liquesce:
[Where info is the converted DOKAN_FILE_INFO]
if (ProcessIdentity.CouldBeSMB(info.ProcessId)
&& (600 == Dokan.DokanVersion())
)
{
Log.Warn("ProcessID indicates that this could be an SMB redirect. Workaround dokan issue 238!");
int lastIndex = oldName.LastIndexOf(Roots.PathDirectorySeparatorChar);
string offsetPath = (lastIndex > -1) ? newName.Remove(0,lastIndex+1) : newName;
pathTarget = roots.GetPathRelatedtoShare(offsetPath, (ulong)pathSource.Length);
}
else
{
// Now check to see if this has enough space to make a "Copy" before the atomic delete of MoveFileEX
pathTarget = roots.GetPath(newName, (ulong) pathSource.Length);
}
Original comment by smurf...@gmail.com
on 17 Nov 2011 at 7:09
[deleted comment]
?? If this is going from XP to an XP client then the issue above is not
triggered ??
Original comment by smurf...@gmail.com
on 7 Jun 2012 at 5:34
Original issue reported on code.google.com by
smurf...@gmail.com
on 17 Nov 2011 at 4:52