summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-05-12 11:56:17 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2023-05-12 11:56:53 -0700
commitb851a965da62cd858d71b2e5a7261a211f00b297 (patch)
tree15702b28dd50bed3b7c4a59071d0cb5dfc5f65e0 /ChangeLog
parentdfdf33a46655eea91ce0a7db5821cb99dd985c05 (diff)
downloadgnulib-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 'ChangeLog')
-rw-r--r--ChangeLog22
1 files changed, 22 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d99b6f4cc..169645e055 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2023-05-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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.
+
2023-05-10 Josh Soref <jsoref@gmail.com>
bootstrap: spelling/grammar fix in comment