I did: > acl-permissions: Fix test-file-has-acl-2.sh failure on Cygwin. > * lib/acl-internal.c: Include <sys/types.h>, <grp.h>, <string.h>. > (acl_access_nontrivial): On Cygwin, ignore group:SYSTEM:*, > group:Administrators:*, mask::* entries.
This fixed the problem on my Cygwin installation. On the GitHub CI machines, group:Users:* is occurring as well, and needs to be ignored too. 2024-06-06 Bruno Haible <br...@clisp.org> acl-permissions: Fix test-file-has-acl-2.sh failure on Cygwin. * lib/acl-internal.c (acl_access_nontrivial): On Cygwin, ignore also group:Users:* entries. diff --git a/lib/acl-internal.c b/lib/acl-internal.c index 9ebb6e544b..ae5398306a 100644 --- a/lib/acl-internal.c +++ b/lib/acl-internal.c @@ -89,6 +89,14 @@ acl_access_nontrivial (acl_t acl) group:Administrators:rwx mask::r-x other::r-x + or + user::rwx + group::r-x + group:SYSTEM:rwx + group:Administrators:rwx + group:Users:rwx + mask::rwx + other::r-x */ case ACL_GROUP: { @@ -105,9 +113,12 @@ acl_access_nontrivial (acl_t acl) /* Ignore the ace if the group_sid is one of - S-1-5-18 (group "SYSTEM") - S-1-5-32-544 (group "Administrators") - Cf. <https://learn.microsoft.com/en-us/windows/win32/secauthz/well-known-sids> */ + - S-1-5-32-545 (group "Users") + Cf. <https://learn.microsoft.com/en-us/windows/win32/secauthz/well-known-sids> + and look at the output of the 'mkgroup' command. */ ignorable = (strcmp (group_sid, "S-1-5-18") == 0 - || strcmp (group_sid, "S-1-5-32-544") == 0); + || strcmp (group_sid, "S-1-5-32-544") == 0 + || strcmp (group_sid, "S-1-5-32-545") == 0); } } if (!ignorable)