1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-09-14 00:21:53 +03:00
Files
gnulib/modules/qcopy-acl
Paul Eggert 8a356b7771 qcopy-acl: port better to NFSv4 on GNU/Linux
Problem reported by Ian Dall in <https://bugs.gnu.org/78328>
and by Thomas Clark in <https://bugzilla.redhat.com/2363149>.
* lib/file-has-acl.c (smack_new_label_from_file) [!HAVE_SMACK]:
New dummy function.
(has_xattr, get_aclinfo): New arg FD.  All callers changed.
Remove some unnecessary MAYBE_UNUSEDs.
(acl_get_fd_np): Fall back on acl_get_fd if this function is
needed but not available.
(acl_get_fdfile): New function, if needed.
(file_has_aclinfo): Reimplement in terms of ...
(fdfile_has_aclinfo): ... this new function,
which also has an FD argument.
* lib/qcopy-acl.c [USE_XATTR]: Include dirent.h, for DT_DIR etc.
(qcopy_acl): If attr_copy_file or attr_copy_fd fail with EOPNOTSUPP,
don’t fail if the source has a trivial ACL (this is the part
that fixes the bug; the rest is optimization).
* modules/qcopy-acl (Depends-on): Depend on dirent-h and
file-has-acl if $use_xattr.  Also, depend on acl-permissions
unconditionally, since qcopy-acl.c includes acl.h unconditionally.
2025-05-09 18:02:29 -07:00

31 lines
402 B
Plaintext

Description:
Copy access control list from one file to another. (Unportable.)
Files:
lib/qcopy-acl.c
m4/acl.m4
m4/xattr.m4
Depends-on:
acl-permissions
dirent-h [test "$use_xattr" = yes]
file-has-acl [test "$use_xattr" = yes]
configure.ac:
gl_QCOPY_ACL
Makefile.am:
lib_SOURCES += qcopy-acl.c
Include:
"acl.h"
Link:
$(QCOPY_ACL_LIB)
License:
GPL
Maintainer:
Paul Eggert, Jim Meyering