From 8559805bad1b3f2e9c5bae6d36aa4438249d396a Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 23 May 2008 13:29:46 +0200 Subject: [PATCH] Improve support for ACLs on OSF/1. --- ChangeLog | 6 ++++++ lib/acl.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5bc446d..05cdf1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-05-23 Bruno Haible + + Improve support for ACLs on OSF/1. + * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma. + Remove fallback for unknown flavors of ACLs. + 2008-05-22 Bruno Haible Add support for ACLs on OSF/1. diff --git a/lib/acl.c b/lib/acl.c index 5469db9..a164f0c 100644 --- a/lib/acl.c +++ b/lib/acl.c @@ -83,8 +83,11 @@ qset_acl (char const *name, int desc, mode_t mode) would need to create a qualifier. I don't know how to do this. So create it using acl_from_text(). */ -# if (HAVE_ACL_DELETE_FD_NP && HAVE_ACL_DELETE_FILE_NP) || HAVE_ACL_TO_SHORT_TEXT /* FreeBSD, IRIX */ +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + char acl_text[] = "u::---,g::---,o::---,"; +# else /* FreeBSD, IRIX */ char acl_text[] = "u::---,g::---,o::---"; +# endif if (mode & S_IRUSR) acl_text[ 3] = 'r'; if (mode & S_IWUSR) acl_text[ 4] = 'w'; @@ -99,9 +102,6 @@ qset_acl (char const *name, int desc, mode_t mode) acl = acl_from_text (acl_text); if (!acl) return -1; -# else /* Unknown flavor of POSIX-like ACLs */ - return chmod_or_fchmod (name, desc, mode); -# endif } if (HAVE_ACL_SET_FD && desc != -1) ret = acl_set_fd (desc, acl); -- 1.5.4.1