bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17810: 24.3.91; file-acl does not return ACL on Mac OS X


From: YAMAMOTO Mitsuharu
Subject: bug#17810: 24.3.91; file-acl does not return ACL on Mac OS X
Date: Thu, 19 Jun 2014 19:39:14 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

On Mac OS X >= 10.5, the directory ~/Desktop has ACL, but (file-acl
"~/Desktop") returns nil.

  $ ls -lde ~/Desktop
  drwx------+ 4 mituharu  staff  136  6 11 12:04 /Users/mituharu/Desktop
   0: group:everyone deny delete

A comment in lib/qcopy-acl.c and lib/qset-acl.c says:

  # if !HAVE_ACL_TYPE_EXTENDED
    /* Linux, FreeBSD, IRIX, Tru64 */
...
  # else /* HAVE_ACL_TYPE_EXTENDED */
    /* Mac OS X */

    /* On Mac OS X,  acl_get_file (name, ACL_TYPE_ACCESS)
       and           acl_get_file (name, ACL_TYPE_DEFAULT)
       always return NULL / EINVAL.  You have to use
                     acl_get_file (name, ACL_TYPE_EXTENDED)
       or            acl_get_fd (open (name, ...))
       to retrieve an ACL.
       On the other hand,
                     acl_set_file (name, ACL_TYPE_ACCESS, acl)
       and           acl_set_file (name, ACL_TYPE_DEFAULT, acl)
       have the same effect as
                     acl_set_file (name, ACL_TYPE_EXTENDED, acl):
       Each of these calls sets the file's ACL.  */

So, the following lines in src/fileio.c seems to always result in
returning Qnil.

  acl = acl_get_file (SSDATA (absname), ACL_TYPE_ACCESS);
  if (acl == NULL)
    return Qnil;

If I change the above ACL_TYPE_ACCESS to ACL_TYPE_EXTENDED as an
experiment, then I get the following string as a result of (file-acl
"~/Desktop"):

  "!#acl 1
  group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete
  "

And I could pass it to set-file-acl to set ACL of another file.

                                     YAMAMOTO Mitsuharu
                                mituharu@math.s.chiba-u.ac.jp






reply via email to

[Prev in Thread] Current Thread [Next in Thread]