From: Paul Eggert Date: Tue, 3 Jan 2006 06:20:25 +0000 (+0000) Subject: Make sure we can change the group of inaccessible files. X-Git-Tag: v6.0~982 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f6f906808dca5e11bd3180bfbc652de743d75a84;p=thirdparty%2Fcoreutils.git Make sure we can change the group of inaccessible files. --- diff --git a/ChangeLog b/ChangeLog index 2d4b0c4fad..ce931ee488 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,15 @@ * Version 6.0-cvs. + * src/chown-core.c (RC_do_ordinary_chown): New enum value. + (restricted_chown): Return it, if the file cannot be accessed due + to EPERM, or if no uid or gid are required, or if the file is + neither a directory nor a regular file. Rewrite to avoid gotos. + (change_file_owner): Handle RC_do_ordinary_chown case. + Rewrite to avoid gotos. + * tests/chgrp/basic: Make sure we can change the group of + inaccessible files. + * src/date.c (usage): Explain %g, %G, and %V a bit better. 2006-01-02 Jim Meyering diff --git a/tests/chgrp/basic b/tests/chgrp/basic index fc4eb5a1c5..d4971194c1 100755 --- a/tests/chgrp/basic +++ b/tests/chgrp/basic @@ -74,8 +74,15 @@ test "$VERBOSE" = yes && set +x chgrp -R $g2 symlink chown --from=:$g1 -c :$g2 f + # Make sure we can change the group of inaccessible files. + chmod a-r f + chown --from=:$g2 -c :$g1 f + chmod 0 f + chown --from=:$g1 -c :$g2 f + # chown() must not be optimized away even when # the file's owner and group already have the desired value. + rm -f f g touch f g chgrp $g1 f g chgrp $g2 g @@ -115,6 +122,8 @@ changed ownership of `f' to :G2 changed group of `symlink' to G1 changed ownership of `f' to :G2 changed ownership of `f' to :G2 +changed ownership of `f' to :G1 +changed ownership of `f' to :G2 f g EOF