]> sourceware.org Git - newlib-cygwin.git/commitdiff
* environ.cc (struct parse_thing): Add entry for new CYGWIN option
authorCorinna Vinschen <corinna@vinschen.de>
Tue, 19 Dec 2000 19:52:57 +0000 (19:52 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 19 Dec 2000 19:52:57 +0000 (19:52 +0000)
        `smbntsec'.
        * path.cc (path_conv::check): Check path for being a remote path.
        If so and `allow_smbntsec' is set to FALSE, set has_acls to FALSE.
        * security.cc: Add global definition for `allow_smbntsec'.
        * security.h: Add extern declaration for `allow_smbntsec'.
        * fhandler.cc (fhandler_disk_file::open): Eliminate extern declaration
        of `allow_ntsec'.
        * syscalls.cc: Ditto.

winsup/cygwin/ChangeLog
winsup/cygwin/environ.cc
winsup/cygwin/fhandler.cc
winsup/cygwin/path.cc
winsup/cygwin/security.cc
winsup/cygwin/security.h
winsup/cygwin/syscalls.cc

index cf2f6a33e90180194f80452c8f19ea2b9ac13a08..d0dfabf4cef8207d0138268a9d8f2aebbae96627 100644 (file)
@@ -1,3 +1,15 @@
+Tue Dec 19 16:26:00 2000  Corinna Vinschen <corinna@vinschen.de>
+
+       * environ.cc (struct parse_thing): Add entry for new CYGWIN option
+       `smbntsec'.
+       * path.cc (path_conv::check): Check path for being a remote path.
+       If so and `allow_smbntsec' is set to FALSE, set has_acls to FALSE.
+       * security.cc: Add global definition for `allow_smbntsec'.
+       * security.h: Add extern declaration for `allow_smbntsec'.
+       * fhandler.cc (fhandler_disk_file::open): Eliminate extern declaration
+       of `allow_ntsec'.
+       * syscalls.cc: Ditto.
+
 Fri Dec 15 18:54:42 2000 Bradley A. Town <townba@pobox.com>
 
        * fhandler_console.cc (read): Add support for xterm-style mouse event
index 615ce17267e094a9fce024aab1f338c17202b819..09d8195eefab9c7c9f27dadc2fef2a3c72545920 100644 (file)
@@ -29,6 +29,7 @@ details. */
 extern BOOL allow_glob;
 extern BOOL ignore_case_with_glob;
 extern BOOL allow_ntea;
+extern BOOL allow_smbntsec;
 extern BOOL strip_title_path;
 extern DWORD chunksize;
 BOOL reset_com = TRUE;
@@ -424,6 +425,7 @@ struct parse_thing
   {"glob", {func: &glob_init}, isfunc, NULL, {{0}, {s: "normal"}}},
   {"ntea", {&allow_ntea}, justset, NULL, {{FALSE}, {TRUE}}},
   {"ntsec", {&allow_ntsec}, justset, NULL, {{FALSE}, {TRUE}}},
+  {"smbntsec", {&allow_smbntsec}, justset, NULL, {{FALSE}, {TRUE}}},
   {"reset_com", {&reset_com}, justset, NULL, {{FALSE}, {TRUE}}},
   {"strip_title", {&strip_title_path}, justset, NULL, {{FALSE}, {TRUE}}},
   {"title", {&display_title}, justset, NULL, {{FALSE}, {TRUE}}},
index d2480df17d193254ce4067728ed44ff2e8d4ac93..f6779614a7d889abdb6c129cf065868424c2a4ae 100644 (file)
@@ -1254,7 +1254,6 @@ fhandler_disk_file::open (path_conv& real_path, int flags, mode_t mode)
     }
 
   extern BOOL allow_ntea;
-  extern BOOL allow_ntsec;
 
   if (!real_path.isexec () && !allow_ntea
       && (!allow_ntsec || !real_path.has_acls ())
index 69f607163c74f89b277fd6098df9ebc505dd0b11..d86f19464fe418bddff4ee011f8e87129d687e56 100644 (file)
@@ -405,7 +405,12 @@ out:
     {
       debug_printf ("GetVolumeInformation(%s) = OK, full_path(%s), set_has_acls(%d)",
                    tmp_buf, full_path, volflags & FS_PERSISTENT_ACLS);
-      set_has_acls (volflags & FS_PERSISTENT_ACLS);
+      if (!allow_smbntsec
+          && ((tmp_buf[0] == '\\' && tmp_buf[1] == '\\')
+              || GetDriveType (tmp_buf) == DRIVE_REMOTE))
+        set_has_acls (FALSE);
+      else
+        set_has_acls (volflags & FS_PERSISTENT_ACLS);
       /* Known file systems with buggy open calls. Further explanation
          in fhandler.cc (fhandler_disk_file::open). */
       set_has_buggy_open (strcmp (fs_name, "SUNWNFS") == 0);
index 04915781de0b7e919d4c1c5481975b9446055b03..67caf689e03aadaf6e50bd8ecfa546f795408dec 100644 (file)
@@ -36,6 +36,10 @@ details. */
 
 extern BOOL allow_ntea;
 BOOL allow_ntsec = FALSE;
+/* allow_smbntsec is handled exclusively in path.cc (path_conv::check).
+   It's defined here because of it's strong relationship to allow_ntsec.
+   The default is TRUE to reflect the old behaviour. */
+BOOL allow_smbntsec = TRUE;
 
 SID_IDENTIFIER_AUTHORITY sid_auth[] = {
        {SECURITY_NULL_SID_AUTHORITY},
index b6397fe103442a59354b11b7840a5a38bd1769fa..bd1b3d891107eb5c727dea9e14824c5de1e601a8 100644 (file)
@@ -15,6 +15,7 @@ int __stdcall get_file_attribute (int, const char *, int *,
 int __stdcall set_file_attribute (int, const char *, int);
 int __stdcall set_file_attribute (int, const char *, uid_t, gid_t, int, const char *);
 extern BOOL allow_ntsec;
+extern BOOL allow_smbntsec;
 
 /* `lookup_name' should be called instead of LookupAccountName.
  * logsrv may be NULL, in this case only the local system is used for lookup.
index d63ab9b8f9a8788bffa8a07a8b8d6dbc7a30bcea..103181abf61a03fbeb41104498cf771b3dd8c2d8 100644 (file)
@@ -38,8 +38,6 @@ details. */
 #include "security.h"
 #include "cygheap.h"
 
-extern BOOL allow_ntsec;
-
 /* Close all files and process any queued deletions.
    Lots of unix style applications will open a tmp file, unlink it,
    but never call close.  This function is called by _exit to
This page took 0.041141 seconds and 5 git commands to generate.