diff options
author | Kaz Kyheku <kaz@kylheku.com> | 2020-02-07 23:15:25 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-02-07 23:15:25 -0800 |
commit | 7b094eccd23ab67c39c4569ffd8e0ce7533038bb (patch) | |
tree | 73000ca000f9d2ae1640bdf0abc4e80ee1e9bbbe /debug.h | |
parent | a5fd4b908bf6ad193c5d68dfa3c0eda81aa7802a (diff) | |
download | txr-7b094eccd23ab67c39c4569ffd8e0ce7533038bb.tar.gz txr-7b094eccd23ab67c39c4569ffd8e0ce7533038bb.tar.bz2 txr-7b094eccd23ab67c39c4569ffd8e0ce7533038bb.zip |
chmod: setuid/setgid bit bugfix and new tests.
* sysif.c (chmod_wrap): Again, related to the = operator, we
must not punch a hole in the suid and sgid bits for all
non-directory objects. This was based on a misinterpretation
of some coreutils documentation, and doesn't match the
actual behavior. Rather, if the owner is a target (including
implicitly) then we mask out suid; and if the group owner is a
targe, then we mask out sgid. Thus when we are doing a
permission set not targetting the owner we don't touch suid,
and similarly for the group owner and setgid.
* tests/018/chmod.tl: Failed test diagnostics now
identify which mode string was used.
Some existing tests involving the suid/sgid bits
have to be revised because this commit reflects
a correction in the requirements. One new test is added.
Diffstat (limited to 'debug.h')
0 files changed, 0 insertions, 0 deletions