halt='fail=0 initialization' \
$(_sc_search_regexp)
+# The mode part of a setfacl -m option argument must be three bytes long.
+# I.e., an argument of user:bin:rw or user:bin:r will make Solaris 10's
+# setfacl reject it with: "Unrecognized character found in mode field".
+# Use hyphens to give it a length of 3: "...:rw-" or "...:r--".
+sc_prohibit_short_facl_mode_spec:
+ @prohibit='\<setfacl .*-m.*:.*:[rwx-]{1,2} ' \
+ halt='setfacl mode string length < 3; extend with hyphen(s)' \
+ $(_sc_search_regexp)
+
# Ensure that "stdio--.h" is used where appropriate.
sc_require_stdio_safer:
@if $(VC_LIST_EXCEPT) | grep -l '\.[ch]$$' > /dev/null; then \
# Ensure that setfacl and getfacl work on this file system.
skip=no
acl1=`cd a && getfacl file` || skip=yes
-setfacl -m user:bin:rw a/file 2> /dev/null || skip=yes
+setfacl -m user:bin:rw- a/file 2> /dev/null || skip=yes
test $skip = yes &&
skip_ "'.' is not on a suitable file system for this test"
require_setfacl_
touch k || framework_failure_
-setfacl -m user::r k || framework_failure_
+setfacl -m user::r-- k || framework_failure_
ln -s k s || framework_failure_
set _ $(ls -Log s); shift; link=$1
skip_partition=none
# Ensure that setfacl and getfacl work on this file system.
-setfacl -m user:bin:rw file 2> /dev/null || skip_partition=.
+setfacl -m user:bin:rw- file 2> /dev/null || skip_partition=.
# And on the destination file system.
-setfacl -m user:bin:rw $t1 || skip_partition=$other_partition_tmpdir
+setfacl -m user:bin:rw- $t1 || skip_partition=$other_partition_tmpdir
acl1=`getfacl file` || skip_partition=.
test $skip_partition != none &&
# move the access acl of a directory
mkdir dir || framework_failure_
-setfacl -m user:bin:rw dir || framework_failure_
+setfacl -m user:bin:rw- dir || framework_failure_
acl1=`getfacl dir` || framework_failure_
mv dir "$other_partition_tmpdir" || fail=1
acl2=`cd "$other_partition_tmpdir" && getfacl dir` || framework_failure_
# move the default acl of a directory
mkdir dir2 || framework_failure_
-setfacl -d -m user:bin:rw dir2 || framework_failure_
+setfacl -d -m user:bin:rw- dir2 || framework_failure_
acl1=`getfacl dir2` || framework_failure_
mv dir2 "$other_partition_tmpdir" || fail=1
acl2=`cd "$other_partition_tmpdir" && getfacl dir2` || framework_failure_