Collin Funk wrote: > I'll have a look through the acl sources to see if anything needs > updating, but I think most of it uses '#if HAVE_ACL_*' instead of > checking for platform like '#if __FreeBSD__'. So I think it should be > fine.
Yup. But the comments can be updated. Done as follows: 2025-03-29 Bruno Haible <br...@clisp.org> acl-permissions: Update comments regarding NetBSD. * lib/acl-internal.c: Update comments. * lib/acl_entries.c: Likewise. * tests/test-file-has-acl.sh: Likewise. * tests/test-copy-acl.sh: Likewise. diff --git a/lib/acl-internal.c b/lib/acl-internal.c index 1a6087b03a..6c50feacbb 100644 --- a/lib/acl-internal.c +++ b/lib/acl-internal.c @@ -31,7 +31,7 @@ # include <string.h> #endif -#if USE_ACL && HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ +#if USE_ACL && HAVE_ACL_GET_FILE /* Linux, FreeBSD, NetBSD >= 10, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ @@ -45,7 +45,7 @@ acl_extended_nontrivial (acl_t acl) return (acl_entries (acl) > 0); } -# else /* Linux, FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */ +# else /* Linux, FreeBSD, NetBSD >= 10, IRIX, Tru64, Cygwin >= 2.5 */ /* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. Return 1 if the given ACL is non-trivial. @@ -59,7 +59,7 @@ acl_access_nontrivial (acl_t acl) at least, allowing us to write return (3 < acl_entries (acl)); but the following code is more robust. */ -# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Cygwin >= 2.5 */ +# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, NetBSD >= 10, Cygwin >= 2.5 */ acl_entry_t ace; int got_one; @@ -548,7 +548,7 @@ void free_permission_context (struct permission_context *ctx) { #if USE_ACL -# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ +# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, NetBSD >= 10, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */ if (ctx->acl) acl_free (ctx->acl); # if !HAVE_ACL_TYPE_EXTENDED diff --git a/lib/acl_entries.c b/lib/acl_entries.c index 808ad93fe2..57b7b4998c 100644 --- a/lib/acl_entries.c +++ b/lib/acl_entries.c @@ -22,7 +22,7 @@ #include "acl-internal.h" /* This file assumes POSIX-draft like ACLs - (Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5). */ + (Linux, FreeBSD, NetBSD >= 10, Mac OS X, IRIX, Tru64, Cygwin >= 2.5). */ /* Return the number of entries in ACL. Return -1 and set errno upon failure to determine it. */ @@ -34,7 +34,7 @@ acl_entries (acl_t acl) if (acl != NULL) { -#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Mac OS X, Cygwin >= 2.5 */ +#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, NetBSD >= 10, Mac OS X, Cygwin >= 2.5 */ # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ /* acl_get_entry returns 0 when it successfully fetches an entry, and -1/EINVAL at the end. */ @@ -45,7 +45,7 @@ acl_entries (acl_t acl) got_one >= 0; got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) count++; -# else /* Linux, FreeBSD, Cygwin >= 2.5 */ +# else /* Linux, FreeBSD, NetBSD >= 10, Cygwin >= 2.5 */ /* acl_get_entry returns 1 when it successfully fetches an entry, and 0 at the end. */ acl_entry_t ace; diff --git a/tests/test-copy-acl.sh b/tests/test-copy-acl.sh index 50beba05d3..8efe202afb 100755 --- a/tests/test-copy-acl.sh +++ b/tests/test-copy-acl.sh @@ -70,7 +70,7 @@ cd "$builddir" || acl_flavor=none if (getfacl tmpfile0 >/dev/null) 2>/dev/null; then # Platforms with the getfacl and setfacl programs. - # Linux, FreeBSD, Solaris, Cygwin. + # Linux, FreeBSD, NetBSD >= 10, Solaris, Cygwin. if (setfacl --help >/dev/null) 2>/dev/null; then # Linux, Cygwin. if (LC_ALL=C setfacl --help | grep ' --set-file' >/dev/null) 2>/dev/null; then @@ -80,9 +80,9 @@ cd "$builddir" || acl_flavor=cygwin fi else - # FreeBSD, Solaris. + # FreeBSD, NetBSD >= 10, Solaris. if (LC_ALL=C setfacl 2>&1 | grep '\-x entries' >/dev/null) 2>/dev/null; then - # FreeBSD. + # FreeBSD, NetBSD >= 10. acl_flavor=freebsd else # Solaris. diff --git a/tests/test-file-has-acl.sh b/tests/test-file-has-acl.sh index 8703b02e88..1e791f3ae8 100755 --- a/tests/test-file-has-acl.sh +++ b/tests/test-file-has-acl.sh @@ -70,7 +70,7 @@ cd "$builddir" || acl_flavor=none if (getfacl tmpfile0 >/dev/null) 2>/dev/null; then # Platforms with the getfacl and setfacl programs. - # Linux, FreeBSD, Solaris, Cygwin. + # Linux, FreeBSD, NetBSD >= 10, Solaris, Cygwin. if (setfacl --help >/dev/null) 2>/dev/null; then # Linux, Cygwin. if (LC_ALL=C setfacl --help | grep ' --test' >/dev/null) 2>/dev/null; then @@ -80,9 +80,9 @@ cd "$builddir" || acl_flavor=cygwin fi else - # FreeBSD, Solaris. + # FreeBSD, NetBSD >= 10, Solaris. if (LC_ALL=C setfacl 2>&1 | grep '\-x entries' >/dev/null) 2>/dev/null; then - # FreeBSD. + # FreeBSD, NetBSD >= 10. acl_flavor=freebsd else # Solaris.