From 6290ce41f3ec1f889abb881cf90ca91da869b5b2 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 30 Jul 2024 16:44:17 -0400 Subject: parse: Take umask into account in parse_mode() POSIX 2024 clarified that find(1) is meant to work exactly like chmod(1) here, so for modes like +rw,-x with no "who" specified, apply the umask. Link: https://www.austingroupbugs.net/view.php?id=1392 --- tests/posix/perm_leading_plus_symbolic_minus.out | 5 +++++ tests/posix/perm_leading_plus_umask.out | 10 ++++++++++ tests/posix/perm_leading_plus_umask.sh | 3 +++ 3 files changed, 18 insertions(+) create mode 100644 tests/posix/perm_leading_plus_umask.out create mode 100644 tests/posix/perm_leading_plus_umask.sh (limited to 'tests/posix') diff --git a/tests/posix/perm_leading_plus_symbolic_minus.out b/tests/posix/perm_leading_plus_symbolic_minus.out index fdc175d..38d0e1c 100644 --- a/tests/posix/perm_leading_plus_symbolic_minus.out +++ b/tests/posix/perm_leading_plus_symbolic_minus.out @@ -1,2 +1,7 @@ +perms +perms/drwxr-xr-x +perms/drwxrwxr-x perms/drwxrwxrwx +perms/frwxr-xr-x +perms/frwxrwxr-x perms/frwxrwxrwx diff --git a/tests/posix/perm_leading_plus_umask.out b/tests/posix/perm_leading_plus_umask.out new file mode 100644 index 0000000..6ed4b7f --- /dev/null +++ b/tests/posix/perm_leading_plus_umask.out @@ -0,0 +1,10 @@ +perms/drwxrwxr-x +perms/drwxrwxrwx +perms/f-w--w---- +perms/f-w--w--w- +perms/f-wx-wx--x +perms/f-wx-wx-wx +perms/frw-rw-r-- +perms/frw-rw-rw- +perms/frwxrwxr-x +perms/frwxrwxrwx diff --git a/tests/posix/perm_leading_plus_umask.sh b/tests/posix/perm_leading_plus_umask.sh new file mode 100644 index 0000000..948b4ad --- /dev/null +++ b/tests/posix/perm_leading_plus_umask.sh @@ -0,0 +1,3 @@ +# Test for https://www.austingroupbugs.net/view.php?id=1392 +umask 002 +bfs_diff perms -perm -+w -- cgit v1.2.3