From 9dac7a63cb074ab459405cadc1b135b11af3e71b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 11 Nov 2024 07:52:32 -0800 Subject: [PATCH] file-has-acl: minor refactor of acl_get_link_np fix MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * lib/file-has-acl.c (file_has_aclinfo): Redo to avoid ‘else #endif’. --- ChangeLog | 3 +++ lib/file-has-acl.c | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ae5107c7a..4a7b8a7c14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2024-11-11 Paul Eggert + file-has-acl: minor refactor of acl_get_link_np fix + * lib/file-has-acl.c (file_has_aclinfo): Redo to avoid ‘else #endif’. + file-has-acl: scontext even if --disable-acl Be able to get the security context even if configured with --disable-acl, as security contexts are not ACLs, and the diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c index 2cbc20b38d..1cd9795416 100644 --- a/lib/file-has-acl.c +++ b/lib/file-has-acl.c @@ -429,13 +429,13 @@ file_has_aclinfo (MAYBE_UNUSED char const *restrict name, else ret = -1; # else /* FreeBSD, NetBSD >= 10, IRIX, Tru64, Cygwin >= 2.5 */ - acl_t acl; -# if HAVE_ACL_GET_LINK_NP /* FreeBSD, NetBSD >= 10 */ - if (!(flags & ACL_SYMLINK_FOLLOW)) - acl = acl_get_link_np (name, ACL_TYPE_ACCESS); - else +# if !HAVE_ACL_GET_LINK_NP /* IRIX, Tru64, Cygwin >= 2.5 */ +# define acl_get_link_np acl_get_file # endif - acl = acl_get_file (name, ACL_TYPE_ACCESS); + acl_t acl = ((flags & AC_SYMLINK_FOLLOW + ? acl_get_file + : acl_get_link_np) + (name, ACL_TYPE_ACCESS)); if (acl) { ret = acl_access_nontrivial (acl); -- 2.39.5