summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-04-22 10:49:25 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-04-22 11:19:20 -0400
commit4b8669f968aae6dc0267c8d46ef265432c681b46 (patch)
treeff9225b06ff1fb68e9b7e95722d03277cb573f28
parent3d58ea8f735ce57a62fc678ca36b388b9c731c83 (diff)
downloadbfs-4b8669f968aae6dc0267c8d46ef265432c681b46.tar.xz
config: Check for acl_get_file()
-rw-r--r--config/acl-get-file.c8
-rw-r--r--config/header.mk1
-rw-r--r--src/fsade.h2
-rw-r--r--src/prelude.h7
4 files changed, 10 insertions, 8 deletions
diff --git a/config/acl-get-file.c b/config/acl-get-file.c
new file mode 100644
index 0000000..89fbf23
--- /dev/null
+++ b/config/acl-get-file.c
@@ -0,0 +1,8 @@
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/acl.h>
+
+int main(void) {
+ acl_t acl = acl_get_file(".", ACL_TYPE_DEFAULT);
+ return acl == (acl_t)NULL;
+}
diff --git a/config/header.mk b/config/header.mk
index c8f8d7c..5da0629 100644
--- a/config/header.mk
+++ b/config/header.mk
@@ -10,6 +10,7 @@ include config/exports.mk
# All header fragments we generate
HEADERS := \
${GEN}/acl-get-entry.h \
+ ${GEN}/acl-get-file.h \
${GEN}/acl-get-tag-type.h \
${GEN}/acl-is-trivial-np.h \
${GEN}/aligned-alloc.h \
diff --git a/src/fsade.h b/src/fsade.h
index cd5c34f..fc0809e 100644
--- a/src/fsade.h
+++ b/src/fsade.h
@@ -11,7 +11,7 @@
#include "prelude.h"
-#define BFS_CAN_CHECK_ACL BFS_USE_SYS_ACL_H
+#define BFS_CAN_CHECK_ACL BFS_HAS_ACL_GET_FILE
#define BFS_CAN_CHECK_CAPABILITIES BFS_USE_LIBCAP
diff --git a/src/prelude.h b/src/prelude.h
index bf87386..7a646a7 100644
--- a/src/prelude.h
+++ b/src/prelude.h
@@ -49,9 +49,6 @@ extern const char bfs_version[];
#if __has_include(<paths.h>)
# define BFS_HAS_PATHS_H true
#endif
-#if __has_include(<sys/acl.h>)
-# define BFS_HAS_SYS_ACL_H true
-#endif
#if __has_include(<sys/extattr.h>)
# define BFS_HAS_SYS_EXTATTR_H true
#endif
@@ -78,7 +75,6 @@ extern const char bfs_version[];
#define BFS_HAS_MNTENT_H __GLIBC__
#define BFS_HAS_PATHS_H true
-#define BFS_HAS_SYS_ACL_H true
#define BFS_HAS_SYS_EXTATTR_H __FreeBSD__
#define BFS_HAS_SYS_MKDEV_H false
#define BFS_HAS_SYS_PARAM_H true
@@ -95,9 +91,6 @@ extern const char bfs_version[];
#ifndef BFS_USE_PATHS_H
# define BFS_USE_PATHS_H BFS_HAS_PATHS_H
#endif
-#ifndef BFS_USE_SYS_ACL_H
-# define BFS_USE_SYS_ACL_H (BFS_HAS_SYS_ACL_H && !__illumos__ && (!__linux__ || BFS_USE_LIBACL))
-#endif
#ifndef BFS_USE_SYS_EXTATTR_H
# define BFS_USE_SYS_EXTATTR_H BFS_HAS_SYS_EXTATTR_H
#endif