freebsd-dev/bin
Edward Tomasz Napierala deda5987bc With NFSv4 ACLs, it is possible that applying a mode to an ACL which
is identical to the mode computed from that ACL will modify the ACL.
For example, mode computed from the following ACL is 0600:

   user:kamila:rwx--------C--:------:allow
        owner@:--x-----------:------:deny
        owner@:rw-p---A-W-Co-:------:allow
        group@:rwxp----------:------:deny
        group@:--------------:------:allow
     everyone@:rwxp---A-W-Co-:------:deny
     everyone@:------a-R-c--s:------:allow

However, applying that mode (chmod 0600) changes the ACL into this:

   user:kamila:rwx-----------:------:deny
   user:kamila:rwx--------C--:------:allow
        owner@:--x-----------:------:deny
        owner@:rw-p---A-W-Co-:------:allow
        group@:rwxp----------:------:deny
        group@:--------------:------:allow
     everyone@:rwxp---A-W-Co-:------:deny
     everyone@:------a-R-c--s:------:allow

In chmod(1) utility, there is an optimisation, which makes it not
call chmod(2) if the mode of the file is the same as the new mode.
Disable that optimisation for files which may have NFSv4 ACLs.

Reviewed by:	rwatson
Approved by:	re (kib)
2009-07-01 15:52:19 +00:00
..
cat cat(1) compiles fine at WARNS level 6. 2009-03-16 12:16:17 +00:00
chflags Staticify internal routines. 2009-06-23 23:30:56 +00:00
chio When running a "chio return" operation using a physical source unit 2008-10-30 19:51:02 +00:00
chmod With NFSv4 ACLs, it is possible that applying a mode to an ACL which 2009-07-01 15:52:19 +00:00
cp Preserve file flags on symlinks in cp -Rp. 2009-05-30 10:36:14 +00:00
csh Work around a vendor issue that was causing the builtin malloc to be 2007-05-16 21:22:38 +00:00
date Don't reset DST computed by strptime() (when e.g. setting the 2008-02-07 16:04:24 +00:00
dd Bump .Dd for r187609 2009-01-30 16:23:57 +00:00
df Staticify internal routines. 2009-06-23 23:30:56 +00:00
domainname Use a standard section name. 2006-12-18 15:45:01 +00:00
echo Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
ed Move WARNS as ed(1) also is only WARNS = 2 clean in the !DES case. 2007-12-09 00:14:27 +00:00
expr Fix markup. 2007-03-04 19:52:07 +00:00
getfacl Use owner name and owning group name instead of uid and gid 2007-09-19 02:04:47 +00:00
hostname Staticify internal routines. 2009-06-23 23:30:56 +00:00
kenv o Fix a typo. Bump .Dd for the previous delta. 2009-01-13 18:25:56 +00:00
kill Fix markup. 2007-03-04 09:15:12 +00:00
ln Clean up a bit of confusing language and improve .Nd. 2009-01-13 15:24:35 +00:00
ls Add reference to strmode(3). 2009-04-13 15:29:14 +00:00
mkdir More markup fixes. 2006-12-27 11:28:00 +00:00
mv Staticify symbols that will not be used in other 2008-07-19 00:13:26 +00:00
pax Before this fix, pax would stop the restore sequence for 2009-02-01 06:15:46 +00:00
pkill When finding processes, ignore ourself and our ancestors. It is almost 2009-05-17 04:34:14 +00:00
ps Fix elapsed (etime) field for swapped out processes in ps: 2009-05-24 15:32:34 +00:00
pwd Sync program's usage() with manpage's SYNOPSIS. 2005-02-09 17:37:39 +00:00
rcp Remove superfluous va_end which was left there in rev 1.38. 2008-10-28 17:15:46 +00:00
realpath Enhance realpath(1) in a number of ways: 2008-03-09 12:46:39 +00:00
rm rm, find -delete: fix removing symlinks with uchg/uappnd set. 2009-05-30 10:42:19 +00:00
rmail Remove kludges intended to support src trees with partial obj trees. 2005-06-10 06:12:53 +00:00
rmdir Fix markup. 2006-12-27 12:14:56 +00:00
setfacl Fix double free in setfacl(1). Description from the author: 2008-09-06 13:17:35 +00:00
sh Fix some weirdnesses in the NetBSD IFS code, 2009-06-25 17:14:06 +00:00
sleep Fix a comment. 2005-08-07 09:11:38 +00:00
stty Make stty(1) use tab0 and tab3 to handle tab completion. 2008-08-23 13:28:55 +00:00
sync /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
test Fix various cases with 3 or 4 parameters in test(1) to be POSIX compliant. 2009-05-26 22:33:10 +00:00
uuidgen uuidgen has been repo-copied from usr.bin/ to bin/ to match its "new" 2008-03-13 17:38:06 +00:00
Makefile pkill(1) first appeared in /usr/bin, but later it was moved to /bin 2008-08-31 14:27:59 +00:00
Makefile.inc Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00