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

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Thu, 19 Jun 2014 10:40:02 UTC

Severity: normal

Tags: moreinfo, patch

Found in version 24.3.91

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#17810: closed (24.3.91; file-acl does not return ACL on Mac OS X)
Date: Sat, 21 Jun 2014 07:05:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 21 Jun 2014 00:04:30 -0700
with message-id <53A52E7E.3090105 <at> cs.ucla.edu>
and subject line Re: 24.3.91; file-acl does not return ACL on Mac OS X
has caused the debbugs.gnu.org bug report #17810,
regarding 24.3.91; file-acl does not return ACL on Mac OS X
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
17810: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17810
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.91; file-acl does not return ACL on Mac OS X
Date: Thu, 19 Jun 2014 19:39:14 +0900
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 <at> math.s.chiba-u.ac.jp



[Message part 3 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
Cc: 17810-done <at> debbugs.gnu.org
Subject: Re: 24.3.91; file-acl does not return ACL on Mac OS X
Date: Sat, 21 Jun 2014 00:04:30 -0700
OK, I installed that patch as emacs-24 bzr 117271 and am marking this as 
done.


This bug report was last modified 10 years and 337 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.