diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2023-05-12 11:56:17 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2023-05-12 11:56:53 -0700 |
commit | b851a965da62cd858d71b2e5a7261a211f00b297 (patch) | |
tree | 15702b28dd50bed3b7c4a59071d0cb5dfc5f65e0 /modules/autobuild | |
parent | dfdf33a46655eea91ce0a7db5821cb99dd985c05 (diff) | |
download | gnulib-b851a965da62cd858d71b2e5a7261a211f00b297.tar.gz |
file-has-acl: port to Fedora 39
Fedora 39 getxattr with XATTR_NAME_POSIX_ACL_ACCESS either
succeeds or fails with ENODATA, so it is no longer possible to
detect from its failure that the filesystem might support NFSv4 ACLs.
Problem reported by Ondrej Valousek in:
https://lists.gnu.org/r/bug-gnulib/2023-04/msg00228.html
Instead, use listxattr to determine whether NFSv4 ACLs are in play.
This typically saves syscalls anyway.
* lib/file-has-acl.c: In #if, use (HAVE_LINUX_XATTR_H &&
HAVE_LISTXATTR) instead of GETXATTR_WITH_POSIX_ACLS.
The following changes apply when (USE_ACL && HAVE_LINUX_XATTR_H &&
HAVE_LISTXATTR):
Include minmax.h.
(have_xattr): New function.
(file_has_acl): Try listxattr first; typically this means we need
to do no other syscall. Call getxattr only if there are NFSv4
ACLs but not POSIX ACLs.
* m4/acl.m4 (gl_FILE_HAS_ACL): Simplify by merely testing for
linux/xattr.h and listxattr. All uses changed.
Diffstat (limited to 'modules/autobuild')
0 files changed, 0 insertions, 0 deletions