summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_process.cc8
2 files changed, 13 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index d715b5139..021531127 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2011-10-15 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_process.cc (dos_drive_mappings::fixup_if_match): Convert
+ native NT network paths into DOS UNC paths.
+
+2011-10-15 Corinna Vinschen <corinna@vinschen.de>
+
* sec_auth.cc (get_token_group_sidlist): Add CONSOLE LOGON SID on
systems supporting it. Never add SERVICE SID but keep code in for
future reference. Explain why.
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc
index 128b35aa4..305bb9ba6 100644
--- a/winsup/cygwin/fhandler_process.cc
+++ b/winsup/cygwin/fhandler_process.cc
@@ -605,6 +605,14 @@ struct dos_drive_mappings
wchar_t *fixup_if_match (wchar_t *path)
{
+ /* Check for network drive first. */
+ if (!wcsncmp (path, L"\\Device\\Mup\\", 12))
+ {
+ path += 10;
+ path[0] = L'\\';
+ return path;
+ }
+ /* Then test local drives. */
for (mapping *m = mappings; m; m = m->next)
if (!wcsncmp (m->mapping, path, m->len))
{