* [PATCH] Remove richacl support
@ 2024-05-22 17:30 David Sterba
2024-05-23 0:36 ` David Disseldorp
2024-05-23 4:09 ` Zorro Lang
0 siblings, 2 replies; 5+ messages in thread
From: David Sterba @ 2024-05-22 17:30 UTC (permalink / raw)
To: fstests; +Cc: David Sterba
There's no support for richacl in Linux and based on information in the
links will never be. Remove all related files and support code.
References:
- https://wiki.samba.org/index.php/NFS4_ACL_overview#Linux
- https://lwn.net/Articles/661357/ (article, 2015)
- https://lwn.net/Articles/661078/ (patches, 2015)
- https://github.com/andreas-gruenbacher/richacl/
- http://www.bestbits.at/richacl/ (n/a anymore)
Signed-off-by: David Sterba <dsterba@suse.com>
---
common/config | 2 -
common/ext4 | 9 ---
common/rc | 52 ----------------
doc/group-names.txt | 1 -
tests/generic/362 | 93 ----------------------------
tests/generic/362.out | 94 ----------------------------
tests/generic/363 | 86 --------------------------
tests/generic/363.out | 139 ------------------------------------------
tests/generic/364 | 67 --------------------
tests/generic/364.out | 39 ------------
tests/generic/365 | 61 ------------------
tests/generic/365.out | 9 ---
tests/generic/366 | 54 ----------------
tests/generic/366.out | 11 ----
tests/generic/367 | 53 ----------------
tests/generic/367.out | 11 ----
tests/generic/368 | 53 ----------------
tests/generic/368.out | 7 ---
tests/generic/369 | 94 ----------------------------
tests/generic/369.out | 24 --------
tests/generic/370 | 58 ------------------
tests/generic/370.out | 19 ------
22 files changed, 1036 deletions(-)
delete mode 100755 tests/generic/362
delete mode 100644 tests/generic/362.out
delete mode 100755 tests/generic/363
delete mode 100644 tests/generic/363.out
delete mode 100755 tests/generic/364
delete mode 100644 tests/generic/364.out
delete mode 100755 tests/generic/365
delete mode 100644 tests/generic/365.out
delete mode 100755 tests/generic/366
delete mode 100644 tests/generic/366.out
delete mode 100755 tests/generic/367
delete mode 100644 tests/generic/367.out
delete mode 100755 tests/generic/368
delete mode 100644 tests/generic/368.out
delete mode 100755 tests/generic/369
delete mode 100644 tests/generic/369.out
delete mode 100755 tests/generic/370
delete mode 100644 tests/generic/370.out
diff --git a/common/config b/common/config
index 2114d9360790e7..a1cd14de618349 100644
--- a/common/config
+++ b/common/config
@@ -204,8 +204,6 @@ export LSATTR_PROG="$(type -P lsattr)"
export CHATTR_PROG="$(type -P chattr)"
export DEBUGFS_PROG="$(type -P debugfs)"
export UUIDGEN_PROG="$(type -P uuidgen)"
-export GETRICHACL_PROG="$(type -P getrichacl)"
-export SETRICHACL_PROG="$(type -P setrichacl)"
export KEYCTL_PROG="$(type -P keyctl)"
export XZ_PROG="$(type -P xz)"
export LZ4_PROG="$(type -P lz4)"
diff --git a/common/ext4 b/common/ext4
index 3dcbfe17c994a6..13921bb8165a4d 100644
--- a/common/ext4
+++ b/common/ext4
@@ -187,15 +187,6 @@ _ext4_disable_extent_zeroout()
echo 0 >/sys/fs/ext4/$sdev/extent_max_zeroout_kb
}
-_require_scratch_richacl_ext4()
-{
- _scratch_mkfs -O richacl >/dev/null 2>&1 \
- || _notrun "can't mkfs $FSTYP with option -O richacl"
- _try_scratch_mount >/dev/null 2>&1 \
- || _notrun "kernel doesn't support richacl feature on $FSTYP"
- _scratch_unmount
-}
-
_scratch_ext4_options()
{
local type=$1
diff --git a/common/rc b/common/rc
index 0fe56382a6a497..c906fc0c817216 100644
--- a/common/rc
+++ b/common/rc
@@ -3095,58 +3095,6 @@ _runas()
"$here/src/runas" "$@"
}
-_require_richacl_prog()
-{
- _require_command "$GETRICHACL_PROG" getrichacl
- _require_command "$SETRICHACL_PROG" setrichacl
-}
-
-_require_scratch_richacl_xfs()
-{
- _scratch_mkfs_xfs_supported -m richacl=1 >/dev/null 2>&1 \
- || _notrun "mkfs.xfs doesn't have richacl feature"
- _scratch_mkfs_xfs -m richacl=1 >/dev/null 2>&1
- _try_scratch_mount >/dev/null 2>&1 \
- || _notrun "kernel doesn't support richacl feature on $FSTYP"
- _scratch_unmount
-}
-
-_require_scratch_richacl_support()
-{
- _scratch_mount
- $GETFATTR_PROG -n system.richacl >/dev/null 2>&1 \
- || _notrun "this test requires richacl support on \$SCRATCH_DEV"
- _scratch_unmount
-}
-
-_require_scratch_richacl()
-{
- case "$FSTYP" in
- xfs) _require_scratch_richacl_xfs
- ;;
- ext4) _require_scratch_richacl_ext4
- ;;
- nfs*|cifs|overlay)
- _require_scratch_richacl_support
- ;;
- *) _notrun "this test requires richacl support on \$SCRATCH_DEV"
- ;;
- esac
-}
-
-_scratch_mkfs_richacl()
-{
- case "$FSTYP" in
- xfs) _scratch_mkfs_xfs -m richacl=1
- ;;
- ext4) _scratch_mkfs -O richacl
- ;;
- nfs*|afs|cifs|overlay)
- _scratch_mkfs
- ;;
- esac
-}
-
# check if the given device is mounted, if so, return mount point
_is_dev_mounted()
{
diff --git a/doc/group-names.txt b/doc/group-names.txt
index 50262e02f6810d..2c4c31270075d7 100644
--- a/doc/group-names.txt
+++ b/doc/group-names.txt
@@ -106,7 +106,6 @@ repair xfs_repair functional tests
replace btrfs device replace
replay dm-logwrites replays
resize resize2fs functionality tests
-richacl rich ACL feature
rmap XFS reverse mapping exercisers
rotate overlayfs upper layer rotate tests from the unionmount
test suite
diff --git a/tests/generic/362 b/tests/generic/362
deleted file mode 100755
index 6e0e81edfd25af..00000000000000
--- a/tests/generic/362
+++ /dev/null
@@ -1,93 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 362
-#
-# RichACL apply-masks test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-touch x
-$SETRICHACL_PROG --set 'owner@:rwp::allow group@:rwp::allow everyone@:r::allow' x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'everyone@:wp::allow owner@:r::allow group@:r::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'everyone@:wp::deny owner@:rwp::allow group@:rwp::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'owner@:rwCo::allow' x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'owner@:rwpCo::allow' x
-$GETRICHACL_PROG x
-
-chmod 644 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:rwp::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-chmod 644 x
-$GETRICHACL_PROG --numeric-ids x
-
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:rwp::allow everyone@:r::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:r::allow everyone@:rwp::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:wp::deny everyone@:rwp::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:rwp::allow u:77:wp::deny everyone@:rwp::allow' x
-chmod 664 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'everyone@:rwp::allow' x
-chmod 066 x
-$GETRICHACL_PROG x
-
-chmod 006 x
-$GETRICHACL_PROG x
-
-chmod 606 x
-$GETRICHACL_PROG x
-
-$SETRICHACL_PROG --set 'u:77:rwp::allow everyone@:rwp::allow' x
-chmod 606 x
-$GETRICHACL_PROG x
-
-chmod 646 x
-$GETRICHACL_PROG x
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/362.out b/tests/generic/362.out
deleted file mode 100644
index 65d52ccc3258c0..00000000000000
--- a/tests/generic/362.out
+++ /dev/null
@@ -1,94 +0,0 @@
-QA output created by 362
-x:
- owner@:rwp----------::allow
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rw-------Co--::allow
-
-x:
- owner@:rwp----------::allow
-
-x:
- owner@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:rwp----------::allow
- group@:r------------::deny
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:r------------::allow
- group@:r------------::deny
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:rwp----------::allow
- group@:r------------::deny
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- user:77:rwp----------::allow
- owner@:rwp----------::allow
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:-wp----------::deny
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::allow
- user:77:rwp----------::allow
- user:77:-wp----------::deny
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-x:
- owner@:rwp----------::deny
- everyone@:rwp----------::allow
-
-x:
- owner@:rwp----------::deny
- group@:rwp----------::deny
- everyone@:rwp----------::allow
-
-x:
- owner@:rwp----------::allow
- group@:rwp----------::deny
- everyone@:rwp----------::allow
-
-x:
- owner@:rwp----------::allow
- group@:rwp----------::deny
- everyone@:rwp----------::allow
-
-x:
- user:77:r------------::allow
- owner@:rwp----------::allow
- group@:-wp----------::deny
- user:77:-wp----------::deny
- everyone@:rwp----------::allow
-
diff --git a/tests/generic/363 b/tests/generic/363
deleted file mode 100755
index d3d888dbefb5c2..00000000000000
--- a/tests/generic/363
+++ /dev/null
@@ -1,86 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 363
-#
-# RichACL auto-inheritance test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-umask 022
-
-mkdir d1
-$SETRICHACL_PROG --modify owner@:rwpxd:fd:allow,u:101:rw:fd:deny d1
-$SETRICHACL_PROG --modify u:102:rw:f:deny d1
-$SETRICHACL_PROG --modify u:103:rw:d:deny d1
-$SETRICHACL_PROG --modify g:101:rw:fdi:deny d1
-
-$SETRICHACL_PROG --modify flags:a d1
-
-$GETRICHACL_PROG --numeric --raw d1
-
-mkdir d1/d2
-touch d1/d3
-
-# Mode bits derived from inherited ACEs
-$GETRICHACL_PROG --numeric --raw d1/d2
-
-$GETRICHACL_PROG --numeric --raw d1/d3
-
-mkdir d1/d2/d4
-touch d1/d2/d4/d5
-
-# Protected files
-mkdir d1/d6
-touch d1/d7
-
-$GETRICHACL_PROG --numeric --raw d1/d2/d4
-
-$GETRICHACL_PROG --numeric --raw d1/d2/d4/d5
-
-# Clear protected flag from all the ACLs
-$SETRICHACL_PROG --modify flags:a d1/d2
-$SETRICHACL_PROG --modify flags:a d1/d3
-$SETRICHACL_PROG --modify flags:a d1/d2/d4
-$SETRICHACL_PROG --modify flags:a d1/d2/d4/d5
-
-$GETRICHACL_PROG --numeric d1 | sed -e 's/:fd:deny/:fd:allow/' > acl.txt
-cat acl.txt
-
-$SETRICHACL_PROG --set-file acl.txt d1
-
-$GETRICHACL_PROG --numeric --raw d1
-
-$GETRICHACL_PROG --numeric --raw d1/d2
-
-$GETRICHACL_PROG --numeric --raw d1/d3
-
-$GETRICHACL_PROG --numeric --raw d1/d2/d4
-
-$GETRICHACL_PROG --numeric --raw d1/d2/d4/d5
-
-# No automatic inheritance for protected files
-$GETRICHACL_PROG --numeric --raw d1/d6
-
-$GETRICHACL_PROG --numeric --raw d1/d7
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/363.out b/tests/generic/363.out
deleted file mode 100644
index 62f3a496ff437a..00000000000000
--- a/tests/generic/363.out
+++ /dev/null
@@ -1,139 +0,0 @@
-QA output created by 363
-d1:
- flags:a
- owner:rwpxd-----------::mask
- group:r--x------------::mask
- other:r--x------------::mask
- user:101:rw--------------:fd:deny
- user:102:rw--------------:f:deny
- user:103:rw--------------:d:deny
- group:101:rw--------------:fdi:deny
- owner@:rwpxd-----------:fd:allow
- everyone@:r--x------------::allow
-
-d1/d2:
- flags:map
- owner:rwpxd-----------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:fda:deny
- user:102:rw--------------:fia:deny
- user:103:rw--------------:da:deny
- group:101:rw--------------:fda:deny
- owner@:rwpxd-----------:fda:allow
-
-d1/d3:
- flags:map
- owner:rwp-------------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:a:deny
- user:102:rw--------------:a:deny
- group:101:rw--------------:a:deny
- owner@:rwpx------------:a:allow
-
-d1/d2/d4:
- flags:map
- owner:rwpxd-----------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:fda:deny
- user:102:rw--------------:fia:deny
- user:103:rw--------------:da:deny
- group:101:rw--------------:fda:deny
- owner@:rwpxd-----------:fda:allow
-
-d1/d2/d4/d5:
- flags:map
- owner:rwp-------------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:a:deny
- user:102:rw--------------:a:deny
- group:101:rw--------------:a:deny
- owner@:rwpx------------:a:allow
-
-d1:
- flags:a
- user:101:rw-----------:fd:allow
- user:102:rw-----------:f:deny
- user:103:rw-----------:d:deny
- group:101:rw-----------:fdi:deny
- owner@:rwpxd--------:fd:allow
- everyone@:r--x---------::allow
-
-d1:
- flags:a
- owner:rwpxd-----------::mask
- group:rw-x------------::mask
- other:r--x------------::mask
- user:101:rw--------------:fd:allow
- user:102:rw--------------:f:deny
- user:103:rw--------------:d:deny
- group:101:rw--------------:fdi:deny
- owner@:rwpxd-----------:fd:allow
- everyone@:r--x------------::allow
-
-d1/d2:
- flags:a
- owner:rwpxd-----------::mask
- group:rw--------------::mask
- other:----------------::mask
- user:101:rw--------------:fda:allow
- user:102:rw--------------:fia:deny
- user:103:rw--------------:da:deny
- group:101:rw--------------:fda:deny
- owner@:rwpxd-----------:fda:allow
-
-d1/d3:
- flags:a
- owner:rwpx------------::mask
- group:rw--------------::mask
- other:----------------::mask
- user:101:rw--------------:a:allow
- user:102:rw--------------:a:deny
- group:101:rw--------------:a:deny
- owner@:rwpx------------:a:allow
-
-d1/d2/d4:
- flags:a
- owner:rwpxd-----------::mask
- group:rw--------------::mask
- other:----------------::mask
- user:101:rw--------------:fda:allow
- user:102:rw--------------:fia:deny
- user:103:rw--------------:da:deny
- group:101:rw--------------:fda:deny
- owner@:rwpxd-----------:fda:allow
-
-d1/d2/d4/d5:
- flags:a
- owner:rwpx------------::mask
- group:rw--------------::mask
- other:----------------::mask
- user:101:rw--------------:a:allow
- user:102:rw--------------:a:deny
- group:101:rw--------------:a:deny
- owner@:rwpx------------:a:allow
-
-d1/d6:
- flags:map
- owner:rwpxd-----------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:fda:deny
- user:102:rw--------------:fia:deny
- user:103:rw--------------:da:deny
- group:101:rw--------------:fda:deny
- owner@:rwpxd-----------:fda:allow
-
-d1/d7:
- flags:map
- owner:rwp-------------::mask
- group:----------------::mask
- other:----------------::mask
- user:101:rw--------------:a:deny
- user:102:rw--------------:a:deny
- group:101:rw--------------:a:deny
- owner@:rwpx------------:a:allow
-
diff --git a/tests/generic/364 b/tests/generic/364
deleted file mode 100755
index 2c721fea202c99..00000000000000
--- a/tests/generic/364
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 364
-#
-# RichACL basic test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-. ./common/attr
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-umask 022
-
-touch x
-
-$SETRICHACL_PROG --set 'everyone@:rwp::allow' x
-stat -c %A x
-$GETRICHACL_PROG x
-
-chmod 664 x
-stat -c %A x
-$GETRICHACL_PROG x
-
-# Note that unlike how the test cases look at first sight, we do *not* require
-# a richacl-enabled version of ls here ...
-
-mkdir sub
-$SETRICHACL_PROG --set 'everyone@:rwpxd:fd:allow' sub
-stat -c %A+ sub
-_getfattr -m system\.richacl sub
-
-chmod 775 sub
-stat -c %A+ sub
-_getfattr -m system\.richacl sub
-$GETRICHACL_PROG sub
-
-touch sub/f
-stat -c %A sub/f
-$GETRICHACL_PROG sub/f
-
-mkdir sub/sub2
-stat -c %A+ sub/sub2
-$GETRICHACL_PROG sub/sub2
-
-mkdir -m 750 sub/sub3
-stat -c %A+ sub/sub3
-$GETRICHACL_PROG sub/sub3
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/364.out b/tests/generic/364.out
deleted file mode 100644
index 696cf6c78ba3d7..00000000000000
--- a/tests/generic/364.out
+++ /dev/null
@@ -1,39 +0,0 @@
-QA output created by 364
--rw-rw-rw-
-x:
- everyone@:rwp----------::allow
-
--rw-rw-r--
-x:
- owner@:rwp----------::allow
- group@:rwp----------::allow
- everyone@:r------------::allow
-
-drwxrwxrwx+
-# file: sub
-system.richacl
-
-drwxrwxr-x+
-# file: sub
-system.richacl
-
-sub:
- owner@:rwpxd--------::allow
- group@:rwpxd--------::allow
- everyone@:rwpxd--------:fdi:allow
- everyone@:r--x---------::allow
-
--rw-rw-rw-
-sub/f:
- everyone@:rwp----------::allow
-
-drwxrwxrwx+
-sub/sub2:
- everyone@:rwpxd--------:fd:allow
-
-drwxr-x---+
-sub/sub3:
- owner@:rwpxd--------::allow
- group@:r--x---------::allow
- everyone@:rwpxd--------:fdi:allow
-
diff --git a/tests/generic/365 b/tests/generic/365
deleted file mode 100755
index d22f233a61a824..00000000000000
--- a/tests/generic/365
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 365
-#
-# RichACL chmod test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-s()
-{
- echo "--- runas -u 99 -g 99 setrichacl $*"
- _runas -u 99 -g 99 -- $SETRICHACL_PROG "$@"
-}
-
-# Create file as root
-touch a
-
-# We cannot set the acl as another user
-s --set 'u:99:rwc::allow' a
-
-# We cannot chmod as another user
-r chmod 666 a
-
-# Give user 99 the write_acl permission
-$SETRICHACL_PROG --set 'u:99:rwpC::allow' a
-
-# Now user 99 can setrichacl and chmod ...
-s --set 'u:99:rwpC::allow' a
-r chmod 666 a
-
-# ... but chmod disables the write_acl permission
-s --set 'u:99:rwpC::allow' a
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/365.out b/tests/generic/365.out
deleted file mode 100644
index f7c9242b3bf966..00000000000000
--- a/tests/generic/365.out
+++ /dev/null
@@ -1,9 +0,0 @@
-QA output created by 365
---- runas -u 99 -g 99 setrichacl --set u:99:rwc::allow a
-a: Operation not permitted
---- runas -u 99 -g 99 chmod 666 a
-chmod: changing permissions of 'a': Operation not permitted
---- runas -u 99 -g 99 setrichacl --set u:99:rwpC::allow a
---- runas -u 99 -g 99 chmod 666 a
---- runas -u 99 -g 99 setrichacl --set u:99:rwpC::allow a
-a: Operation not permitted
diff --git a/tests/generic/366 b/tests/generic/366
deleted file mode 100755
index c005f8097474e2..00000000000000
--- a/tests/generic/366
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 366
-#
-# RichACL chown test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-# Create file as root
-touch a
-
-# Chown and chgrp with no take ownership permission fails
-r chown 99 a
-r chgrp 99 a
-
-# Add the take_ownership permission
-$SETRICHACL_PROG --set 'u:99:rwpo::allow' a
-
-# Chown and chgrp to a user or group the process is not in fails
-r chown 100 a
-r chgrp 100 a
-
-# Chown and chgrp to a user and group the process is in succeeds
-r chown 99 a
-r chgrp 99 a
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/366.out b/tests/generic/366.out
deleted file mode 100644
index d950cc2d05ee5c..00000000000000
--- a/tests/generic/366.out
+++ /dev/null
@@ -1,11 +0,0 @@
-QA output created by 366
---- runas -u 99 -g 99 chown 99 a
-chown: changing ownership of 'a': Operation not permitted
---- runas -u 99 -g 99 chgrp 99 a
-chgrp: changing group of 'a': Operation not permitted
---- runas -u 99 -g 99 chown 100 a
-chown: changing ownership of 'a': Operation not permitted
---- runas -u 99 -g 99 chgrp 100 a
-chgrp: changing group of 'a': Operation not permitted
---- runas -u 99 -g 99 chown 99 a
---- runas -u 99 -g 99 chgrp 99 a
diff --git a/tests/generic/367 b/tests/generic/367
deleted file mode 100755
index db7b2956f67382..00000000000000
--- a/tests/generic/367
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 367
-#
-# RichACL create test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-# Create directories as root with different permissions
-mkdir d1 d2 d3
-$SETRICHACL_PROG --set 'u:99:wx::allow' d2
-$SETRICHACL_PROG --set 'u:99:px::allow' d3
-
-# Cannot create files or directories without permissions
-r touch d1/f
-r mkdir d1/d
-
-# Can create files with add_file (w) permission
-r touch d2/f
-r mkdir d2/d
-
-# Can create directories with add_subdirectory (p) permission
-r touch d3/f
-r mkdir d3/d
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/367.out b/tests/generic/367.out
deleted file mode 100644
index ec25b5c7fcb521..00000000000000
--- a/tests/generic/367.out
+++ /dev/null
@@ -1,11 +0,0 @@
-QA output created by 367
---- runas -u 99 -g 99 touch d1/f
-touch: cannot touch 'd1/f': Permission denied
---- runas -u 99 -g 99 mkdir d1/d
-mkdir: cannot create directory 'd1/d': Permission denied
---- runas -u 99 -g 99 touch d2/f
---- runas -u 99 -g 99 mkdir d2/d
-mkdir: cannot create directory 'd2/d': Permission denied
---- runas -u 99 -g 99 touch d3/f
-touch: cannot touch 'd3/f': Permission denied
---- runas -u 99 -g 99 mkdir d3/d
diff --git a/tests/generic/368 b/tests/generic/368
deleted file mode 100755
index d2259b348f45d7..00000000000000
--- a/tests/generic/368
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 368
-#
-# RichACL ctime test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-touch a
-
-# Without write access, the ctime cannot be changed
-r touch a
-
-$SETRICHACL_PROG --set 'u:99:rw::allow' a
-
-# With write access, the ctime can be set to the current time, but not to
-# any other time
-r touch a
-r touch -d '1 hour ago' a
-
-$SETRICHACL_PROG --set 'u:99:rwA::allow' a
-
-# With set_attributes access, the ctime can be set to an arbitrary time
-r touch -d '1 hour ago' a
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/368.out b/tests/generic/368.out
deleted file mode 100644
index 2cdf5e585cb4c2..00000000000000
--- a/tests/generic/368.out
+++ /dev/null
@@ -1,7 +0,0 @@
-QA output created by 368
---- runas -u 99 -g 99 touch a
-touch: cannot touch 'a': Permission denied
---- runas -u 99 -g 99 touch a
---- runas -u 99 -g 99 touch -d 1 hour ago a
-touch: setting times of 'a': Operation not permitted
---- runas -u 99 -g 99 touch -d 1 hour ago a
diff --git a/tests/generic/369 b/tests/generic/369
deleted file mode 100755
index 526de2443a401a..00000000000000
--- a/tests/generic/369
+++ /dev/null
@@ -1,94 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 369
-#
-# RichACL delete test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-umask 022
-
-chmod go+w .
-mkdir d1 d2 d3 d4 d5 d6 d7
-touch d1/f d1/g d2/f d3/f d4/f d5/f d6/f d7/f d7/g d7/h
-chmod o+w d1/g
-chown 99 d2
-chgrp 99 d3
-chmod g+w d3
-$SETRICHACL_PROG --set 'u:99:wx::allow' d4
-$SETRICHACL_PROG --set 'u:99:d::allow' d5
-$SETRICHACL_PROG --set 'u:99:xd::allow' d6
-$SETRICHACL_PROG --set 'u:99:D::allow' d7/f d7/g d7/h
-chmod 664 d7/g
-
-mkdir s2 s3 s4 s5 s6 s7
-chmod +t s2 s3 s4 s5 s6 s7
-touch s2/f s3/f s4/f s5/f s6/f s7/f s7/g s7/h
-chown 99 s2
-chgrp 99 s3
-chmod g+w s3
-$SETRICHACL_PROG --set 'u:99:wx::allow' s4
-$SETRICHACL_PROG --set 'u:99:d::allow' s5
-$SETRICHACL_PROG --set 'u:99:xd::allow' s6
-$SETRICHACL_PROG --set 'u:99:D::allow' s7/f s7/g s7/h
-chmod 664 s7/g
-
-# Cannot delete files with no or only with write permissions on the directory
-r rm -f d1/f d1/g
-
-# Can delete files in directories we own
-r rm -f d2/f s2/f
-
-# Can delete files in non-sticky directories we have write access to
-r rm -f d3/f s3/f
-
-# "Write_data/execute" access does not include delete_child access, so deleting
-# is not allowed:
-r rm -f d4/f s4/f
-
-# "Delete_child" access alone also is not sufficient
-r rm -f d5/f s5/f
-
-# "Execute/delete_child" access is sufficient for non-sticky directories
-r rm -f d6/f s6/f
-
-# "Delete" access on the child is sufficient, even in sticky directories.
-r rm -f d7/f s7/f
-
-# Regression: Delete access must not override add_file / add_subdirectory
-# access.
-r touch h
-r mv -f h d7/
-r mv -f h s7/
-
-# A chmod turns off the "delete" permission
-r rm -f d7/g s7/g
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/369.out b/tests/generic/369.out
deleted file mode 100644
index acdab46642f2d0..00000000000000
--- a/tests/generic/369.out
+++ /dev/null
@@ -1,24 +0,0 @@
-QA output created by 369
---- runas -u 99 -g 99 rm -f d1/f d1/g
-rm: cannot remove 'd1/f': Permission denied
-rm: cannot remove 'd1/g': Permission denied
---- runas -u 99 -g 99 rm -f d2/f s2/f
---- runas -u 99 -g 99 rm -f d3/f s3/f
-rm: cannot remove 's3/f': Operation not permitted
---- runas -u 99 -g 99 rm -f d4/f s4/f
-rm: cannot remove 'd4/f': Permission denied
-rm: cannot remove 's4/f': Permission denied
---- runas -u 99 -g 99 rm -f d5/f s5/f
-rm: cannot remove 'd5/f': Permission denied
-rm: cannot remove 's5/f': Permission denied
---- runas -u 99 -g 99 rm -f d6/f s6/f
-rm: cannot remove 's6/f': Operation not permitted
---- runas -u 99 -g 99 rm -f d7/f s7/f
---- runas -u 99 -g 99 touch h
---- runas -u 99 -g 99 mv -f h d7/
-mv: cannot move 'h' to 'd7/h': Permission denied
---- runas -u 99 -g 99 mv -f h s7/
-mv: cannot move 'h' to 's7/h': Permission denied
---- runas -u 99 -g 99 rm -f d7/g s7/g
-rm: cannot remove 'd7/g': Permission denied
-rm: cannot remove 's7/g': Permission denied
diff --git a/tests/generic/370 b/tests/generic/370
deleted file mode 100755
index 8c17af0ce723ac..00000000000000
--- a/tests/generic/370
+++ /dev/null
@@ -1,58 +0,0 @@
-#! /bin/bash
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
-#
-# FS QA Test 370
-#
-# RichACL write-vs-append test
-#
-. ./common/preamble
-_begin_fstest auto quick richacl perms
-
-# Import common functions.
-
-# real QA test starts here
-
-_supported_fs generic
-
-_require_scratch
-_require_scratch_richacl
-_require_richacl_prog
-_require_runas
-
-_scratch_mkfs_richacl >> $seqres.full
-_scratch_mount
-
-cd $SCRATCH_MNT
-
-r()
-{
- echo "--- runas -u 99 -g 99 $*"
- _runas -u 99 -g 99 -- "$@"
-}
-
-touch a b c d e f
-$SETRICHACL_PROG --set 'owner@:rwp::allow' a
-$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:w::allow' b
-$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:p::allow' c
-$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:wp::allow' d
-$SETRICHACL_PROG --set 'u:99:a::deny owner@:rwp::allow u:99:w::allow' e
-$SETRICHACL_PROG --set 'u:99:w::deny owner@:rwp::allow u:99:p::allow' f
-
-r sh -c 'echo a > a'
-r sh -c 'echo b > b'
-r sh -c 'echo c > c'
-r sh -c 'echo d > d'
-r sh -c 'echo e > e'
-r sh -c 'echo f > f'
-
-r sh -c 'echo A >> a'
-r sh -c 'echo B >> b'
-r sh -c 'echo C >> c'
-r sh -c 'echo D >> d'
-r sh -c 'echo E >> e'
-r sh -c 'echo F >> f'
-
-# success, all done
-status=0
-exit
diff --git a/tests/generic/370.out b/tests/generic/370.out
deleted file mode 100644
index 97a21a156c6a76..00000000000000
--- a/tests/generic/370.out
+++ /dev/null
@@ -1,19 +0,0 @@
-QA output created by 370
---- runas -u 99 -g 99 sh -c echo a > a
-sh: a: Permission denied
---- runas -u 99 -g 99 sh -c echo b > b
---- runas -u 99 -g 99 sh -c echo c > c
-sh: c: Permission denied
---- runas -u 99 -g 99 sh -c echo d > d
---- runas -u 99 -g 99 sh -c echo e > e
---- runas -u 99 -g 99 sh -c echo f > f
-sh: f: Permission denied
---- runas -u 99 -g 99 sh -c echo A >> a
-sh: a: Permission denied
---- runas -u 99 -g 99 sh -c echo B >> b
-sh: b: Permission denied
---- runas -u 99 -g 99 sh -c echo C >> c
---- runas -u 99 -g 99 sh -c echo D >> d
---- runas -u 99 -g 99 sh -c echo E >> e
-sh: e: Permission denied
---- runas -u 99 -g 99 sh -c echo F >> f
--
2.45.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] Remove richacl support
2024-05-22 17:30 [PATCH] Remove richacl support David Sterba
@ 2024-05-23 0:36 ` David Disseldorp
2024-05-23 4:09 ` Zorro Lang
1 sibling, 0 replies; 5+ messages in thread
From: David Disseldorp @ 2024-05-23 0:36 UTC (permalink / raw)
To: David Sterba; +Cc: fstests
On Wed, 22 May 2024 19:30:48 +0200, David Sterba wrote:
> There's no support for richacl in Linux and based on information in the
> links will never be. Remove all related files and support code.
>
> References:
> - https://wiki.samba.org/index.php/NFS4_ACL_overview#Linux
> - https://lwn.net/Articles/661357/ (article, 2015)
> - https://lwn.net/Articles/661078/ (patches, 2015)
> - https://github.com/andreas-gruenbacher/richacl/
> - http://www.bestbits.at/richacl/ (n/a anymore)
>
> Signed-off-by: David Sterba <dsterba@suse.com>
Makes sense and looks good.
Reviewed-by: David Disseldorp <ddiss@suse.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove richacl support
2024-05-22 17:30 [PATCH] Remove richacl support David Sterba
2024-05-23 0:36 ` David Disseldorp
@ 2024-05-23 4:09 ` Zorro Lang
2024-05-23 13:40 ` David Sterba
1 sibling, 1 reply; 5+ messages in thread
From: Zorro Lang @ 2024-05-23 4:09 UTC (permalink / raw)
To: David Sterba; +Cc: fstests
On Wed, May 22, 2024 at 07:30:48PM +0200, David Sterba wrote:
> There's no support for richacl in Linux and based on information in the
> links will never be. Remove all related files and support code.
>
> References:
> - https://wiki.samba.org/index.php/NFS4_ACL_overview#Linux
> - https://lwn.net/Articles/661357/ (article, 2015)
> - https://lwn.net/Articles/661078/ (patches, 2015)
> - https://github.com/andreas-gruenbacher/richacl/
> - http://www.bestbits.at/richacl/ (n/a anymore)
>
> Signed-off-by: David Sterba <dsterba@suse.com>
> ---
Thanks! The richacl testing was brought in by:
commit 73f9e47abdc58f39b7e39b3729bc88db624c9771
Author: Andreas Gruenbacher <agruenba@redhat.com>
Date: Tue Jun 28 14:47:26 2016 +0200
generic: Add richacl tests
Looks like we were too hurry to merge the test things before the kernel
patchset get merged.
Sorry I didn't learn about the details. From above links, I can see how
we tried to implement the richacl, but I didn't see how we denied it and
never have it in the future. Is there any record (e.g. an email reply) to
learn about the "history"?
Thanks,
Zorro
> common/config | 2 -
> common/ext4 | 9 ---
> common/rc | 52 ----------------
> doc/group-names.txt | 1 -
> tests/generic/362 | 93 ----------------------------
> tests/generic/362.out | 94 ----------------------------
> tests/generic/363 | 86 --------------------------
> tests/generic/363.out | 139 ------------------------------------------
> tests/generic/364 | 67 --------------------
> tests/generic/364.out | 39 ------------
> tests/generic/365 | 61 ------------------
> tests/generic/365.out | 9 ---
> tests/generic/366 | 54 ----------------
> tests/generic/366.out | 11 ----
> tests/generic/367 | 53 ----------------
> tests/generic/367.out | 11 ----
> tests/generic/368 | 53 ----------------
> tests/generic/368.out | 7 ---
> tests/generic/369 | 94 ----------------------------
> tests/generic/369.out | 24 --------
> tests/generic/370 | 58 ------------------
> tests/generic/370.out | 19 ------
> 22 files changed, 1036 deletions(-)
> delete mode 100755 tests/generic/362
> delete mode 100644 tests/generic/362.out
> delete mode 100755 tests/generic/363
> delete mode 100644 tests/generic/363.out
> delete mode 100755 tests/generic/364
> delete mode 100644 tests/generic/364.out
> delete mode 100755 tests/generic/365
> delete mode 100644 tests/generic/365.out
> delete mode 100755 tests/generic/366
> delete mode 100644 tests/generic/366.out
> delete mode 100755 tests/generic/367
> delete mode 100644 tests/generic/367.out
> delete mode 100755 tests/generic/368
> delete mode 100644 tests/generic/368.out
> delete mode 100755 tests/generic/369
> delete mode 100644 tests/generic/369.out
> delete mode 100755 tests/generic/370
> delete mode 100644 tests/generic/370.out
>
> diff --git a/common/config b/common/config
> index 2114d9360790e7..a1cd14de618349 100644
> --- a/common/config
> +++ b/common/config
> @@ -204,8 +204,6 @@ export LSATTR_PROG="$(type -P lsattr)"
> export CHATTR_PROG="$(type -P chattr)"
> export DEBUGFS_PROG="$(type -P debugfs)"
> export UUIDGEN_PROG="$(type -P uuidgen)"
> -export GETRICHACL_PROG="$(type -P getrichacl)"
> -export SETRICHACL_PROG="$(type -P setrichacl)"
> export KEYCTL_PROG="$(type -P keyctl)"
> export XZ_PROG="$(type -P xz)"
> export LZ4_PROG="$(type -P lz4)"
> diff --git a/common/ext4 b/common/ext4
> index 3dcbfe17c994a6..13921bb8165a4d 100644
> --- a/common/ext4
> +++ b/common/ext4
> @@ -187,15 +187,6 @@ _ext4_disable_extent_zeroout()
> echo 0 >/sys/fs/ext4/$sdev/extent_max_zeroout_kb
> }
>
> -_require_scratch_richacl_ext4()
> -{
> - _scratch_mkfs -O richacl >/dev/null 2>&1 \
> - || _notrun "can't mkfs $FSTYP with option -O richacl"
> - _try_scratch_mount >/dev/null 2>&1 \
> - || _notrun "kernel doesn't support richacl feature on $FSTYP"
> - _scratch_unmount
> -}
> -
> _scratch_ext4_options()
> {
> local type=$1
> diff --git a/common/rc b/common/rc
> index 0fe56382a6a497..c906fc0c817216 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -3095,58 +3095,6 @@ _runas()
> "$here/src/runas" "$@"
> }
>
> -_require_richacl_prog()
> -{
> - _require_command "$GETRICHACL_PROG" getrichacl
> - _require_command "$SETRICHACL_PROG" setrichacl
> -}
> -
> -_require_scratch_richacl_xfs()
> -{
> - _scratch_mkfs_xfs_supported -m richacl=1 >/dev/null 2>&1 \
> - || _notrun "mkfs.xfs doesn't have richacl feature"
> - _scratch_mkfs_xfs -m richacl=1 >/dev/null 2>&1
> - _try_scratch_mount >/dev/null 2>&1 \
> - || _notrun "kernel doesn't support richacl feature on $FSTYP"
> - _scratch_unmount
> -}
> -
> -_require_scratch_richacl_support()
> -{
> - _scratch_mount
> - $GETFATTR_PROG -n system.richacl >/dev/null 2>&1 \
> - || _notrun "this test requires richacl support on \$SCRATCH_DEV"
> - _scratch_unmount
> -}
> -
> -_require_scratch_richacl()
> -{
> - case "$FSTYP" in
> - xfs) _require_scratch_richacl_xfs
> - ;;
> - ext4) _require_scratch_richacl_ext4
> - ;;
> - nfs*|cifs|overlay)
> - _require_scratch_richacl_support
> - ;;
> - *) _notrun "this test requires richacl support on \$SCRATCH_DEV"
> - ;;
> - esac
> -}
> -
> -_scratch_mkfs_richacl()
> -{
> - case "$FSTYP" in
> - xfs) _scratch_mkfs_xfs -m richacl=1
> - ;;
> - ext4) _scratch_mkfs -O richacl
> - ;;
> - nfs*|afs|cifs|overlay)
> - _scratch_mkfs
> - ;;
> - esac
> -}
> -
> # check if the given device is mounted, if so, return mount point
> _is_dev_mounted()
> {
> diff --git a/doc/group-names.txt b/doc/group-names.txt
> index 50262e02f6810d..2c4c31270075d7 100644
> --- a/doc/group-names.txt
> +++ b/doc/group-names.txt
> @@ -106,7 +106,6 @@ repair xfs_repair functional tests
> replace btrfs device replace
> replay dm-logwrites replays
> resize resize2fs functionality tests
> -richacl rich ACL feature
> rmap XFS reverse mapping exercisers
> rotate overlayfs upper layer rotate tests from the unionmount
> test suite
> diff --git a/tests/generic/362 b/tests/generic/362
> deleted file mode 100755
> index 6e0e81edfd25af..00000000000000
> --- a/tests/generic/362
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 362
> -#
> -# RichACL apply-masks test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -touch x
> -$SETRICHACL_PROG --set 'owner@:rwp::allow group@:rwp::allow everyone@:r::allow' x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'everyone@:wp::allow owner@:r::allow group@:r::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'everyone@:wp::deny owner@:rwp::allow group@:rwp::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'owner@:rwCo::allow' x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'owner@:rwpCo::allow' x
> -$GETRICHACL_PROG x
> -
> -chmod 644 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:rwp::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -chmod 644 x
> -$GETRICHACL_PROG --numeric-ids x
> -
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:rwp::allow everyone@:r::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:r::allow everyone@:rwp::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:wp::deny everyone@:rwp::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:rwp::allow u:77:wp::deny everyone@:rwp::allow' x
> -chmod 664 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'everyone@:rwp::allow' x
> -chmod 066 x
> -$GETRICHACL_PROG x
> -
> -chmod 006 x
> -$GETRICHACL_PROG x
> -
> -chmod 606 x
> -$GETRICHACL_PROG x
> -
> -$SETRICHACL_PROG --set 'u:77:rwp::allow everyone@:rwp::allow' x
> -chmod 606 x
> -$GETRICHACL_PROG x
> -
> -chmod 646 x
> -$GETRICHACL_PROG x
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/362.out b/tests/generic/362.out
> deleted file mode 100644
> index 65d52ccc3258c0..00000000000000
> --- a/tests/generic/362.out
> +++ /dev/null
> @@ -1,94 +0,0 @@
> -QA output created by 362
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rw-------Co--::allow
> -
> -x:
> - owner@:rwp----------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:rwp----------::allow
> - group@:r------------::deny
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:r------------::allow
> - group@:r------------::deny
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:rwp----------::allow
> - group@:r------------::deny
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - user:77:rwp----------::allow
> - owner@:rwp----------::allow
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:-wp----------::deny
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - user:77:rwp----------::allow
> - user:77:-wp----------::deny
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -x:
> - owner@:rwp----------::deny
> - everyone@:rwp----------::allow
> -
> -x:
> - owner@:rwp----------::deny
> - group@:rwp----------::deny
> - everyone@:rwp----------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::deny
> - everyone@:rwp----------::allow
> -
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::deny
> - everyone@:rwp----------::allow
> -
> -x:
> - user:77:r------------::allow
> - owner@:rwp----------::allow
> - group@:-wp----------::deny
> - user:77:-wp----------::deny
> - everyone@:rwp----------::allow
> -
> diff --git a/tests/generic/363 b/tests/generic/363
> deleted file mode 100755
> index d3d888dbefb5c2..00000000000000
> --- a/tests/generic/363
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 363
> -#
> -# RichACL auto-inheritance test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -umask 022
> -
> -mkdir d1
> -$SETRICHACL_PROG --modify owner@:rwpxd:fd:allow,u:101:rw:fd:deny d1
> -$SETRICHACL_PROG --modify u:102:rw:f:deny d1
> -$SETRICHACL_PROG --modify u:103:rw:d:deny d1
> -$SETRICHACL_PROG --modify g:101:rw:fdi:deny d1
> -
> -$SETRICHACL_PROG --modify flags:a d1
> -
> -$GETRICHACL_PROG --numeric --raw d1
> -
> -mkdir d1/d2
> -touch d1/d3
> -
> -# Mode bits derived from inherited ACEs
> -$GETRICHACL_PROG --numeric --raw d1/d2
> -
> -$GETRICHACL_PROG --numeric --raw d1/d3
> -
> -mkdir d1/d2/d4
> -touch d1/d2/d4/d5
> -
> -# Protected files
> -mkdir d1/d6
> -touch d1/d7
> -
> -$GETRICHACL_PROG --numeric --raw d1/d2/d4
> -
> -$GETRICHACL_PROG --numeric --raw d1/d2/d4/d5
> -
> -# Clear protected flag from all the ACLs
> -$SETRICHACL_PROG --modify flags:a d1/d2
> -$SETRICHACL_PROG --modify flags:a d1/d3
> -$SETRICHACL_PROG --modify flags:a d1/d2/d4
> -$SETRICHACL_PROG --modify flags:a d1/d2/d4/d5
> -
> -$GETRICHACL_PROG --numeric d1 | sed -e 's/:fd:deny/:fd:allow/' > acl.txt
> -cat acl.txt
> -
> -$SETRICHACL_PROG --set-file acl.txt d1
> -
> -$GETRICHACL_PROG --numeric --raw d1
> -
> -$GETRICHACL_PROG --numeric --raw d1/d2
> -
> -$GETRICHACL_PROG --numeric --raw d1/d3
> -
> -$GETRICHACL_PROG --numeric --raw d1/d2/d4
> -
> -$GETRICHACL_PROG --numeric --raw d1/d2/d4/d5
> -
> -# No automatic inheritance for protected files
> -$GETRICHACL_PROG --numeric --raw d1/d6
> -
> -$GETRICHACL_PROG --numeric --raw d1/d7
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/363.out b/tests/generic/363.out
> deleted file mode 100644
> index 62f3a496ff437a..00000000000000
> --- a/tests/generic/363.out
> +++ /dev/null
> @@ -1,139 +0,0 @@
> -QA output created by 363
> -d1:
> - flags:a
> - owner:rwpxd-----------::mask
> - group:r--x------------::mask
> - other:r--x------------::mask
> - user:101:rw--------------:fd:deny
> - user:102:rw--------------:f:deny
> - user:103:rw--------------:d:deny
> - group:101:rw--------------:fdi:deny
> - owner@:rwpxd-----------:fd:allow
> - everyone@:r--x------------::allow
> -
> -d1/d2:
> - flags:map
> - owner:rwpxd-----------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:fda:deny
> - user:102:rw--------------:fia:deny
> - user:103:rw--------------:da:deny
> - group:101:rw--------------:fda:deny
> - owner@:rwpxd-----------:fda:allow
> -
> -d1/d3:
> - flags:map
> - owner:rwp-------------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:a:deny
> - user:102:rw--------------:a:deny
> - group:101:rw--------------:a:deny
> - owner@:rwpx------------:a:allow
> -
> -d1/d2/d4:
> - flags:map
> - owner:rwpxd-----------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:fda:deny
> - user:102:rw--------------:fia:deny
> - user:103:rw--------------:da:deny
> - group:101:rw--------------:fda:deny
> - owner@:rwpxd-----------:fda:allow
> -
> -d1/d2/d4/d5:
> - flags:map
> - owner:rwp-------------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:a:deny
> - user:102:rw--------------:a:deny
> - group:101:rw--------------:a:deny
> - owner@:rwpx------------:a:allow
> -
> -d1:
> - flags:a
> - user:101:rw-----------:fd:allow
> - user:102:rw-----------:f:deny
> - user:103:rw-----------:d:deny
> - group:101:rw-----------:fdi:deny
> - owner@:rwpxd--------:fd:allow
> - everyone@:r--x---------::allow
> -
> -d1:
> - flags:a
> - owner:rwpxd-----------::mask
> - group:rw-x------------::mask
> - other:r--x------------::mask
> - user:101:rw--------------:fd:allow
> - user:102:rw--------------:f:deny
> - user:103:rw--------------:d:deny
> - group:101:rw--------------:fdi:deny
> - owner@:rwpxd-----------:fd:allow
> - everyone@:r--x------------::allow
> -
> -d1/d2:
> - flags:a
> - owner:rwpxd-----------::mask
> - group:rw--------------::mask
> - other:----------------::mask
> - user:101:rw--------------:fda:allow
> - user:102:rw--------------:fia:deny
> - user:103:rw--------------:da:deny
> - group:101:rw--------------:fda:deny
> - owner@:rwpxd-----------:fda:allow
> -
> -d1/d3:
> - flags:a
> - owner:rwpx------------::mask
> - group:rw--------------::mask
> - other:----------------::mask
> - user:101:rw--------------:a:allow
> - user:102:rw--------------:a:deny
> - group:101:rw--------------:a:deny
> - owner@:rwpx------------:a:allow
> -
> -d1/d2/d4:
> - flags:a
> - owner:rwpxd-----------::mask
> - group:rw--------------::mask
> - other:----------------::mask
> - user:101:rw--------------:fda:allow
> - user:102:rw--------------:fia:deny
> - user:103:rw--------------:da:deny
> - group:101:rw--------------:fda:deny
> - owner@:rwpxd-----------:fda:allow
> -
> -d1/d2/d4/d5:
> - flags:a
> - owner:rwpx------------::mask
> - group:rw--------------::mask
> - other:----------------::mask
> - user:101:rw--------------:a:allow
> - user:102:rw--------------:a:deny
> - group:101:rw--------------:a:deny
> - owner@:rwpx------------:a:allow
> -
> -d1/d6:
> - flags:map
> - owner:rwpxd-----------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:fda:deny
> - user:102:rw--------------:fia:deny
> - user:103:rw--------------:da:deny
> - group:101:rw--------------:fda:deny
> - owner@:rwpxd-----------:fda:allow
> -
> -d1/d7:
> - flags:map
> - owner:rwp-------------::mask
> - group:----------------::mask
> - other:----------------::mask
> - user:101:rw--------------:a:deny
> - user:102:rw--------------:a:deny
> - group:101:rw--------------:a:deny
> - owner@:rwpx------------:a:allow
> -
> diff --git a/tests/generic/364 b/tests/generic/364
> deleted file mode 100755
> index 2c721fea202c99..00000000000000
> --- a/tests/generic/364
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 364
> -#
> -# RichACL basic test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -. ./common/attr
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -umask 022
> -
> -touch x
> -
> -$SETRICHACL_PROG --set 'everyone@:rwp::allow' x
> -stat -c %A x
> -$GETRICHACL_PROG x
> -
> -chmod 664 x
> -stat -c %A x
> -$GETRICHACL_PROG x
> -
> -# Note that unlike how the test cases look at first sight, we do *not* require
> -# a richacl-enabled version of ls here ...
> -
> -mkdir sub
> -$SETRICHACL_PROG --set 'everyone@:rwpxd:fd:allow' sub
> -stat -c %A+ sub
> -_getfattr -m system\.richacl sub
> -
> -chmod 775 sub
> -stat -c %A+ sub
> -_getfattr -m system\.richacl sub
> -$GETRICHACL_PROG sub
> -
> -touch sub/f
> -stat -c %A sub/f
> -$GETRICHACL_PROG sub/f
> -
> -mkdir sub/sub2
> -stat -c %A+ sub/sub2
> -$GETRICHACL_PROG sub/sub2
> -
> -mkdir -m 750 sub/sub3
> -stat -c %A+ sub/sub3
> -$GETRICHACL_PROG sub/sub3
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/364.out b/tests/generic/364.out
> deleted file mode 100644
> index 696cf6c78ba3d7..00000000000000
> --- a/tests/generic/364.out
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -QA output created by 364
> --rw-rw-rw-
> -x:
> - everyone@:rwp----------::allow
> -
> --rw-rw-r--
> -x:
> - owner@:rwp----------::allow
> - group@:rwp----------::allow
> - everyone@:r------------::allow
> -
> -drwxrwxrwx+
> -# file: sub
> -system.richacl
> -
> -drwxrwxr-x+
> -# file: sub
> -system.richacl
> -
> -sub:
> - owner@:rwpxd--------::allow
> - group@:rwpxd--------::allow
> - everyone@:rwpxd--------:fdi:allow
> - everyone@:r--x---------::allow
> -
> --rw-rw-rw-
> -sub/f:
> - everyone@:rwp----------::allow
> -
> -drwxrwxrwx+
> -sub/sub2:
> - everyone@:rwpxd--------:fd:allow
> -
> -drwxr-x---+
> -sub/sub3:
> - owner@:rwpxd--------::allow
> - group@:r--x---------::allow
> - everyone@:rwpxd--------:fdi:allow
> -
> diff --git a/tests/generic/365 b/tests/generic/365
> deleted file mode 100755
> index d22f233a61a824..00000000000000
> --- a/tests/generic/365
> +++ /dev/null
> @@ -1,61 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 365
> -#
> -# RichACL chmod test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -s()
> -{
> - echo "--- runas -u 99 -g 99 setrichacl $*"
> - _runas -u 99 -g 99 -- $SETRICHACL_PROG "$@"
> -}
> -
> -# Create file as root
> -touch a
> -
> -# We cannot set the acl as another user
> -s --set 'u:99:rwc::allow' a
> -
> -# We cannot chmod as another user
> -r chmod 666 a
> -
> -# Give user 99 the write_acl permission
> -$SETRICHACL_PROG --set 'u:99:rwpC::allow' a
> -
> -# Now user 99 can setrichacl and chmod ...
> -s --set 'u:99:rwpC::allow' a
> -r chmod 666 a
> -
> -# ... but chmod disables the write_acl permission
> -s --set 'u:99:rwpC::allow' a
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/365.out b/tests/generic/365.out
> deleted file mode 100644
> index f7c9242b3bf966..00000000000000
> --- a/tests/generic/365.out
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -QA output created by 365
> ---- runas -u 99 -g 99 setrichacl --set u:99:rwc::allow a
> -a: Operation not permitted
> ---- runas -u 99 -g 99 chmod 666 a
> -chmod: changing permissions of 'a': Operation not permitted
> ---- runas -u 99 -g 99 setrichacl --set u:99:rwpC::allow a
> ---- runas -u 99 -g 99 chmod 666 a
> ---- runas -u 99 -g 99 setrichacl --set u:99:rwpC::allow a
> -a: Operation not permitted
> diff --git a/tests/generic/366 b/tests/generic/366
> deleted file mode 100755
> index c005f8097474e2..00000000000000
> --- a/tests/generic/366
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 366
> -#
> -# RichACL chown test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -# Create file as root
> -touch a
> -
> -# Chown and chgrp with no take ownership permission fails
> -r chown 99 a
> -r chgrp 99 a
> -
> -# Add the take_ownership permission
> -$SETRICHACL_PROG --set 'u:99:rwpo::allow' a
> -
> -# Chown and chgrp to a user or group the process is not in fails
> -r chown 100 a
> -r chgrp 100 a
> -
> -# Chown and chgrp to a user and group the process is in succeeds
> -r chown 99 a
> -r chgrp 99 a
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/366.out b/tests/generic/366.out
> deleted file mode 100644
> index d950cc2d05ee5c..00000000000000
> --- a/tests/generic/366.out
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -QA output created by 366
> ---- runas -u 99 -g 99 chown 99 a
> -chown: changing ownership of 'a': Operation not permitted
> ---- runas -u 99 -g 99 chgrp 99 a
> -chgrp: changing group of 'a': Operation not permitted
> ---- runas -u 99 -g 99 chown 100 a
> -chown: changing ownership of 'a': Operation not permitted
> ---- runas -u 99 -g 99 chgrp 100 a
> -chgrp: changing group of 'a': Operation not permitted
> ---- runas -u 99 -g 99 chown 99 a
> ---- runas -u 99 -g 99 chgrp 99 a
> diff --git a/tests/generic/367 b/tests/generic/367
> deleted file mode 100755
> index db7b2956f67382..00000000000000
> --- a/tests/generic/367
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 367
> -#
> -# RichACL create test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -# Create directories as root with different permissions
> -mkdir d1 d2 d3
> -$SETRICHACL_PROG --set 'u:99:wx::allow' d2
> -$SETRICHACL_PROG --set 'u:99:px::allow' d3
> -
> -# Cannot create files or directories without permissions
> -r touch d1/f
> -r mkdir d1/d
> -
> -# Can create files with add_file (w) permission
> -r touch d2/f
> -r mkdir d2/d
> -
> -# Can create directories with add_subdirectory (p) permission
> -r touch d3/f
> -r mkdir d3/d
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/367.out b/tests/generic/367.out
> deleted file mode 100644
> index ec25b5c7fcb521..00000000000000
> --- a/tests/generic/367.out
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -QA output created by 367
> ---- runas -u 99 -g 99 touch d1/f
> -touch: cannot touch 'd1/f': Permission denied
> ---- runas -u 99 -g 99 mkdir d1/d
> -mkdir: cannot create directory 'd1/d': Permission denied
> ---- runas -u 99 -g 99 touch d2/f
> ---- runas -u 99 -g 99 mkdir d2/d
> -mkdir: cannot create directory 'd2/d': Permission denied
> ---- runas -u 99 -g 99 touch d3/f
> -touch: cannot touch 'd3/f': Permission denied
> ---- runas -u 99 -g 99 mkdir d3/d
> diff --git a/tests/generic/368 b/tests/generic/368
> deleted file mode 100755
> index d2259b348f45d7..00000000000000
> --- a/tests/generic/368
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 368
> -#
> -# RichACL ctime test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -touch a
> -
> -# Without write access, the ctime cannot be changed
> -r touch a
> -
> -$SETRICHACL_PROG --set 'u:99:rw::allow' a
> -
> -# With write access, the ctime can be set to the current time, but not to
> -# any other time
> -r touch a
> -r touch -d '1 hour ago' a
> -
> -$SETRICHACL_PROG --set 'u:99:rwA::allow' a
> -
> -# With set_attributes access, the ctime can be set to an arbitrary time
> -r touch -d '1 hour ago' a
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/368.out b/tests/generic/368.out
> deleted file mode 100644
> index 2cdf5e585cb4c2..00000000000000
> --- a/tests/generic/368.out
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -QA output created by 368
> ---- runas -u 99 -g 99 touch a
> -touch: cannot touch 'a': Permission denied
> ---- runas -u 99 -g 99 touch a
> ---- runas -u 99 -g 99 touch -d 1 hour ago a
> -touch: setting times of 'a': Operation not permitted
> ---- runas -u 99 -g 99 touch -d 1 hour ago a
> diff --git a/tests/generic/369 b/tests/generic/369
> deleted file mode 100755
> index 526de2443a401a..00000000000000
> --- a/tests/generic/369
> +++ /dev/null
> @@ -1,94 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 369
> -#
> -# RichACL delete test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -umask 022
> -
> -chmod go+w .
> -mkdir d1 d2 d3 d4 d5 d6 d7
> -touch d1/f d1/g d2/f d3/f d4/f d5/f d6/f d7/f d7/g d7/h
> -chmod o+w d1/g
> -chown 99 d2
> -chgrp 99 d3
> -chmod g+w d3
> -$SETRICHACL_PROG --set 'u:99:wx::allow' d4
> -$SETRICHACL_PROG --set 'u:99:d::allow' d5
> -$SETRICHACL_PROG --set 'u:99:xd::allow' d6
> -$SETRICHACL_PROG --set 'u:99:D::allow' d7/f d7/g d7/h
> -chmod 664 d7/g
> -
> -mkdir s2 s3 s4 s5 s6 s7
> -chmod +t s2 s3 s4 s5 s6 s7
> -touch s2/f s3/f s4/f s5/f s6/f s7/f s7/g s7/h
> -chown 99 s2
> -chgrp 99 s3
> -chmod g+w s3
> -$SETRICHACL_PROG --set 'u:99:wx::allow' s4
> -$SETRICHACL_PROG --set 'u:99:d::allow' s5
> -$SETRICHACL_PROG --set 'u:99:xd::allow' s6
> -$SETRICHACL_PROG --set 'u:99:D::allow' s7/f s7/g s7/h
> -chmod 664 s7/g
> -
> -# Cannot delete files with no or only with write permissions on the directory
> -r rm -f d1/f d1/g
> -
> -# Can delete files in directories we own
> -r rm -f d2/f s2/f
> -
> -# Can delete files in non-sticky directories we have write access to
> -r rm -f d3/f s3/f
> -
> -# "Write_data/execute" access does not include delete_child access, so deleting
> -# is not allowed:
> -r rm -f d4/f s4/f
> -
> -# "Delete_child" access alone also is not sufficient
> -r rm -f d5/f s5/f
> -
> -# "Execute/delete_child" access is sufficient for non-sticky directories
> -r rm -f d6/f s6/f
> -
> -# "Delete" access on the child is sufficient, even in sticky directories.
> -r rm -f d7/f s7/f
> -
> -# Regression: Delete access must not override add_file / add_subdirectory
> -# access.
> -r touch h
> -r mv -f h d7/
> -r mv -f h s7/
> -
> -# A chmod turns off the "delete" permission
> -r rm -f d7/g s7/g
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/369.out b/tests/generic/369.out
> deleted file mode 100644
> index acdab46642f2d0..00000000000000
> --- a/tests/generic/369.out
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -QA output created by 369
> ---- runas -u 99 -g 99 rm -f d1/f d1/g
> -rm: cannot remove 'd1/f': Permission denied
> -rm: cannot remove 'd1/g': Permission denied
> ---- runas -u 99 -g 99 rm -f d2/f s2/f
> ---- runas -u 99 -g 99 rm -f d3/f s3/f
> -rm: cannot remove 's3/f': Operation not permitted
> ---- runas -u 99 -g 99 rm -f d4/f s4/f
> -rm: cannot remove 'd4/f': Permission denied
> -rm: cannot remove 's4/f': Permission denied
> ---- runas -u 99 -g 99 rm -f d5/f s5/f
> -rm: cannot remove 'd5/f': Permission denied
> -rm: cannot remove 's5/f': Permission denied
> ---- runas -u 99 -g 99 rm -f d6/f s6/f
> -rm: cannot remove 's6/f': Operation not permitted
> ---- runas -u 99 -g 99 rm -f d7/f s7/f
> ---- runas -u 99 -g 99 touch h
> ---- runas -u 99 -g 99 mv -f h d7/
> -mv: cannot move 'h' to 'd7/h': Permission denied
> ---- runas -u 99 -g 99 mv -f h s7/
> -mv: cannot move 'h' to 's7/h': Permission denied
> ---- runas -u 99 -g 99 rm -f d7/g s7/g
> -rm: cannot remove 'd7/g': Permission denied
> -rm: cannot remove 's7/g': Permission denied
> diff --git a/tests/generic/370 b/tests/generic/370
> deleted file mode 100755
> index 8c17af0ce723ac..00000000000000
> --- a/tests/generic/370
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -#! /bin/bash
> -# SPDX-License-Identifier: GPL-2.0
> -# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved.
> -#
> -# FS QA Test 370
> -#
> -# RichACL write-vs-append test
> -#
> -. ./common/preamble
> -_begin_fstest auto quick richacl perms
> -
> -# Import common functions.
> -
> -# real QA test starts here
> -
> -_supported_fs generic
> -
> -_require_scratch
> -_require_scratch_richacl
> -_require_richacl_prog
> -_require_runas
> -
> -_scratch_mkfs_richacl >> $seqres.full
> -_scratch_mount
> -
> -cd $SCRATCH_MNT
> -
> -r()
> -{
> - echo "--- runas -u 99 -g 99 $*"
> - _runas -u 99 -g 99 -- "$@"
> -}
> -
> -touch a b c d e f
> -$SETRICHACL_PROG --set 'owner@:rwp::allow' a
> -$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:w::allow' b
> -$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:p::allow' c
> -$SETRICHACL_PROG --set 'owner@:rwp::allow u:99:wp::allow' d
> -$SETRICHACL_PROG --set 'u:99:a::deny owner@:rwp::allow u:99:w::allow' e
> -$SETRICHACL_PROG --set 'u:99:w::deny owner@:rwp::allow u:99:p::allow' f
> -
> -r sh -c 'echo a > a'
> -r sh -c 'echo b > b'
> -r sh -c 'echo c > c'
> -r sh -c 'echo d > d'
> -r sh -c 'echo e > e'
> -r sh -c 'echo f > f'
> -
> -r sh -c 'echo A >> a'
> -r sh -c 'echo B >> b'
> -r sh -c 'echo C >> c'
> -r sh -c 'echo D >> d'
> -r sh -c 'echo E >> e'
> -r sh -c 'echo F >> f'
> -
> -# success, all done
> -status=0
> -exit
> diff --git a/tests/generic/370.out b/tests/generic/370.out
> deleted file mode 100644
> index 97a21a156c6a76..00000000000000
> --- a/tests/generic/370.out
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -QA output created by 370
> ---- runas -u 99 -g 99 sh -c echo a > a
> -sh: a: Permission denied
> ---- runas -u 99 -g 99 sh -c echo b > b
> ---- runas -u 99 -g 99 sh -c echo c > c
> -sh: c: Permission denied
> ---- runas -u 99 -g 99 sh -c echo d > d
> ---- runas -u 99 -g 99 sh -c echo e > e
> ---- runas -u 99 -g 99 sh -c echo f > f
> -sh: f: Permission denied
> ---- runas -u 99 -g 99 sh -c echo A >> a
> -sh: a: Permission denied
> ---- runas -u 99 -g 99 sh -c echo B >> b
> -sh: b: Permission denied
> ---- runas -u 99 -g 99 sh -c echo C >> c
> ---- runas -u 99 -g 99 sh -c echo D >> d
> ---- runas -u 99 -g 99 sh -c echo E >> e
> -sh: e: Permission denied
> ---- runas -u 99 -g 99 sh -c echo F >> f
> --
> 2.45.0
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] Remove richacl support
2024-05-23 4:09 ` Zorro Lang
@ 2024-05-23 13:40 ` David Sterba
2024-05-25 5:12 ` Zorro Lang
0 siblings, 1 reply; 5+ messages in thread
From: David Sterba @ 2024-05-23 13:40 UTC (permalink / raw)
To: Zorro Lang; +Cc: David Sterba, fstests
On Thu, May 23, 2024 at 12:09:22PM +0800, Zorro Lang wrote:
> On Wed, May 22, 2024 at 07:30:48PM +0200, David Sterba wrote:
> > There's no support for richacl in Linux and based on information in the
> > links will never be. Remove all related files and support code.
> >
> > References:
> > - https://wiki.samba.org/index.php/NFS4_ACL_overview#Linux
> > - https://lwn.net/Articles/661357/ (article, 2015)
> > - https://lwn.net/Articles/661078/ (patches, 2015)
> > - https://github.com/andreas-gruenbacher/richacl/
> > - http://www.bestbits.at/richacl/ (n/a anymore)
> >
> > Signed-off-by: David Sterba <dsterba@suse.com>
> > ---
>
> Thanks! The richacl testing was brought in by:
>
> commit 73f9e47abdc58f39b7e39b3729bc88db624c9771
> Author: Andreas Gruenbacher <agruenba@redhat.com>
> Date: Tue Jun 28 14:47:26 2016 +0200
>
> generic: Add richacl tests
>
> Looks like we were too hurry to merge the test things before the kernel
> patchset get merged.
>
> Sorry I didn't learn about the details. From above links, I can see how
> we tried to implement the richacl, but I didn't see how we denied it and
> never have it in the future. Is there any record (e.g. an email reply) to
> learn about the "history"?
There were many revisions of the patches, talks at LSF and LWN articles
over the years so I'd consider it a common knowledge. Web search leads
me to lkml.org links that does not work today so I can't point you to a
mail where Christop said a clear 'no, never'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove richacl support
2024-05-23 13:40 ` David Sterba
@ 2024-05-25 5:12 ` Zorro Lang
0 siblings, 0 replies; 5+ messages in thread
From: Zorro Lang @ 2024-05-25 5:12 UTC (permalink / raw)
To: David Sterba; +Cc: David Sterba, fstests
On Thu, May 23, 2024 at 03:40:19PM +0200, David Sterba wrote:
> On Thu, May 23, 2024 at 12:09:22PM +0800, Zorro Lang wrote:
> > On Wed, May 22, 2024 at 07:30:48PM +0200, David Sterba wrote:
> > > There's no support for richacl in Linux and based on information in the
> > > links will never be. Remove all related files and support code.
> > >
> > > References:
> > > - https://wiki.samba.org/index.php/NFS4_ACL_overview#Linux
> > > - https://lwn.net/Articles/661357/ (article, 2015)
> > > - https://lwn.net/Articles/661078/ (patches, 2015)
> > > - https://github.com/andreas-gruenbacher/richacl/
> > > - http://www.bestbits.at/richacl/ (n/a anymore)
> > >
> > > Signed-off-by: David Sterba <dsterba@suse.com>
> > > ---
> >
> > Thanks! The richacl testing was brought in by:
> >
> > commit 73f9e47abdc58f39b7e39b3729bc88db624c9771
> > Author: Andreas Gruenbacher <agruenba@redhat.com>
> > Date: Tue Jun 28 14:47:26 2016 +0200
> >
> > generic: Add richacl tests
> >
> > Looks like we were too hurry to merge the test things before the kernel
> > patchset get merged.
> >
> > Sorry I didn't learn about the details. From above links, I can see how
> > we tried to implement the richacl, but I didn't see how we denied it and
> > never have it in the future. Is there any record (e.g. an email reply) to
> > learn about the "history"?
>
> There were many revisions of the patches, talks at LSF and LWN articles
> over the years so I'd consider it a common knowledge. Web search leads
> me to lkml.org links that does not work today so I can't point you to a
> mail where Christop said a clear 'no, never'.
OK, that's clear enough, if you've made a decision in LSF. This patch removes
any cases, so I have to confirm :) Sorry I didn't attend the LSF this year, feel
free to tell me if I missed anything.
This patch looks good to me, it totally reverts the 73f9e47abdc5 ("generic: Add
richacl tests"). So,
Reviewed-by: Zorro Lang <zlang@redhat.com>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-05-25 5:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-22 17:30 [PATCH] Remove richacl support David Sterba
2024-05-23 0:36 ` David Disseldorp
2024-05-23 4:09 ` Zorro Lang
2024-05-23 13:40 ` David Sterba
2024-05-25 5:12 ` Zorro Lang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.