]> sourceware.org Git - newlib-cygwin.git/commitdiff
* ntea.c (write_ea): Don't abort if not-samba.
authorChristopher Faylor <me@cgf.cx>
Wed, 16 Sep 2009 16:23:51 +0000 (16:23 +0000)
committerChristopher Faylor <me@cgf.cx>
Wed, 16 Sep 2009 16:23:51 +0000 (16:23 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/ntea.cc

index 6a090c0ac2b759064b906c514f9e47e86f35bcf0..70440a4c92ab1d84ccf20205be93c36134312bed 100644 (file)
@@ -1,3 +1,7 @@
+2009-09-16  Christopher Faylor  <me+cygwin@cgf.cx>
+
+       * ntea.c (write_ea): Don't abort if not-samba.
+
 2009-09-01  Christopher Faylor  <me+cygwin@cgf.cx>
 
        * select.cc (peek_console): Always check window size when there is ANY
index 5b4ec3b5376d7714f86f3e425b680eb171842cea..744076ef7a4e2b2294e078f9410e7ede34123779 100644 (file)
@@ -214,11 +214,16 @@ write_ea (HANDLE hdl, path_conv &pc, const char *name, const char *value,
      user namespace item, we remove the leading namespace from the name.
      This keeps tools like attr/getfattr/setfattr happy.  Otherwise
      setting the EA fails as if we don't have the permissions. */
-  if (pc.fs_is_samba () && ascii_strncasematch (name, "user.", 5))
+      /* Samba hides the user namespace from Windows clients.  If we try to
+        retrieve a user namespace item, we remove the leading namespace from
+        the name, otherwise the search fails. */
+  if (!pc.fs_is_samba ())
+    /* nothing to do */;
+  else if (ascii_strncasematch (name, "user.", 5))
     name += 5;
   else
     {
-      set_errno (EOPNOTSUPP);
+      set_errno (ENOATTR);
       goto out;
     }
 
This page took 0.034278 seconds and 5 git commands to generate.