* path.cc (path_conv::check): Handle incoming DOS paths non-POSIXy,
always case-insensitive, always ignoring ACLs.
This commit is contained in:
parent
ca19de342d
commit
292c99741d
|
@ -1,3 +1,8 @@
|
||||||
|
2008-12-19 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* path.cc (path_conv::check): Handle incoming DOS paths non-POSIXy,
|
||||||
|
always case-insensitive, always ignoring ACLs.
|
||||||
|
|
||||||
2008-12-18 Corinna Vinschen <corinna@vinschen.de>
|
2008-12-18 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler_disk_file.cc: Set 4th parameter of NtQueryDirectoryFile to
|
* fhandler_disk_file.cc: Set 4th parameter of NtQueryDirectoryFile to
|
||||||
|
|
|
@ -1042,7 +1042,11 @@ is_virtual_symlink:
|
||||||
{
|
{
|
||||||
fileattr = sym.fileattr;
|
fileattr = sym.fileattr;
|
||||||
path_flags = sym.pflags;
|
path_flags = sym.pflags;
|
||||||
if (cygwin_shared->obcaseinsensitive || fs.caseinsensitive ())
|
/* If the OS is caseinsensitive or the FS is caseinsensitive or
|
||||||
|
the incoming path was given in DOS notation, don't handle
|
||||||
|
path casesensitive. */
|
||||||
|
if (cygwin_shared->obcaseinsensitive || fs.caseinsensitive ()
|
||||||
|
|| is_msdos)
|
||||||
path_flags |= PATH_NOPOSIX;
|
path_flags |= PATH_NOPOSIX;
|
||||||
caseinsensitive = (path_flags & PATH_NOPOSIX)
|
caseinsensitive = (path_flags & PATH_NOPOSIX)
|
||||||
? OBJ_CASE_INSENSITIVE : 0;
|
? OBJ_CASE_INSENSITIVE : 0;
|
||||||
|
@ -1214,6 +1218,10 @@ out:
|
||||||
/* FS has been checked already for existing files. */
|
/* FS has been checked already for existing files. */
|
||||||
if (exists () || fs.update (get_nt_native_path (), NULL))
|
if (exists () || fs.update (get_nt_native_path (), NULL))
|
||||||
{
|
{
|
||||||
|
/* Incoming DOS paths are treated like DOS paths in native
|
||||||
|
Windows applications. No ACLs, just default settings. */
|
||||||
|
if (is_msdos)
|
||||||
|
fs.has_acls (false);
|
||||||
debug_printf ("this->path(%s), has_acls(%d)", path, fs.has_acls ());
|
debug_printf ("this->path(%s), has_acls(%d)", path, fs.has_acls ());
|
||||||
if (fs.has_acls ())
|
if (fs.has_acls ())
|
||||||
set_exec (0); /* We really don't know if this is executable or not here
|
set_exec (0); /* We really don't know if this is executable or not here
|
||||||
|
|
Loading…
Reference in New Issue