summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2004-08-19 20:07:20 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2004-08-19 20:07:20 +0000
commit9308e71adabbc3347e549f95eef1604bcc0ad285 (patch)
treef2189ec8097b2ae33c8c0a3a1ed660c4c6f36a5d
parent8d3555ff434656e6e8bd42c06d7ad75658c85c97 (diff)
downloadcoreutils-9308e71adabbc3347e549f95eef1604bcc0ad285.tar.xz
Add support for "chown : file" and the like.
Also, fix a regression and some memory leaks.
-rw-r--r--ChangeLog20
-rw-r--r--doc/ChangeLog10
-rw-r--r--lib/ChangeLog18
3 files changed, 47 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c0276553d..6c3971f86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2004-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: "chown : file", "chown '' file", and "chgrp '' file" now
+ succeed without changing the uid and gid, like FreeBSD.
+ * src/chgrp.c (parse_group): Return gid_t rather than storing it
+ through a pointer. Treat "chgrp '' file" as a no-op change,
+ as FreeBSD does.
+ (main): Set chopt.group_name to NULL if the group is the empty
+ string.
+ * src/chown-core.c (describe_change): Describe changes to -1:-1
+ without using "to OWNERSHIP" phrase.
+ * src/chown.c (usage): "chown '' file" is now allowed.
+ (main): Do not set user name to the empty string if the group
+ name is null.
+ * tests/chgrp/basic: Test "chgrp '' file".
+ * tests/chown/Makefile.am (TESTS): Add separator.
+ * tests/chown/separator: New file, partly taken from
+ Dmitry V. Levin's suggestion in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
+
2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
* tests/install/basic-1: Test for the -d regression.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 48102bfa4..f36958afc 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,13 @@
+2004-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * coreutils.texi (chown invocation): Fix synopsis:
+ group must always be preceded by separator.
+ "chown : file" and "chown '' file" don't change the owner or group.
+ Update the explanation of what happens to the set-user-ID or
+ set-group-ID bits, e.g., they sometimes are not cleared if they
+ denote mandatory locking. Change "find"-oriented examples to use
+ chown -h.
+
2004-08-18 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (printf invocation): Clarify how "printf" is
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 4742a86eb..97296b64b 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,19 @@
+2004-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * userspec.c: Don't use <alloca.h>, so that we don't use alloca on
+ strings on unbounded length. alloca's performance benefits aren't
+ that important here.
+ (V_STRDUP): Remove.
+ (parse_with_separator): New function, with most of the internals
+ of the old parse_user_spec. Allow user to omit both user and group,
+ for compatibility with FreeBSD.
+ Clone only the user name, not the entire spec.
+ Do not set *uid, *gid unless entirely successful.
+ Avoid memory leak in some failing cases.
+ Fix regression for USER.GROUP reported by Dmitry V. Levin in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
+ (parse_user_spec): Rewrite to use parse_with_separator.
+
2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
* fts.c (O_DIRECTORY): Define to 0 if the system doesn't define.
@@ -67,7 +83,7 @@
Merge with gnulib and deal with some minor cleanups resulting.
* .cppi-disable: Change fnmatch.h to fnmatch_.h.
- * .cvs-ignore: Add fnmatch.h, poll.h, stdbool.h, sysexit.h.
+ * .cvsignore: Add fnmatch.h, poll.h, stdbool.h, sysexit.h.
Remove safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h.
* backupfile.h, closeout.h, full-write.h, mbswidth.h, xalloc.h: