summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-01-02 07:30:27 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-01-02 07:30:27 +0000
commitc0dac69808f8223cdfe9d1a1c2fdfa224ea0ead4 (patch)
tree8ee0bc596969359b4f167b72c4e7d529aa6167ad
parentab21036d6d1331fe1aa7d895c78ef61287fed8c0 (diff)
downloadcoreutils-c0dac69808f8223cdfe9d1a1c2fdfa224ea0ead4.tar.xz
New approach to safer chmod.
-rw-r--r--ChangeLog20
-rw-r--r--doc/ChangeLog7
-rw-r--r--lib/ChangeLog8
-rw-r--r--m4/ChangeLog7
4 files changed, 41 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e3c424dfa..84de9f8d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,25 @@
-2005-12-27 Jim Meyering <jim@meyering.net>
+2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
* Version 6.0-cvs.
+ * NEWS: Document that mkfifo and mknod -m no longer set special bits.
+ * src/copy.c: Include lchmod.h.
+ (copy_internal): Use lchmod rather than chmod.
+ * src/cp.c: Include lchmod.h.
+ (re_protect, make_dir_parents_private): Use lchmod rather than chmod.
+ * src/mkdir.c: Include lchmod.h.
+ (usage): Clarify -m's operation.
+ (main): Use lchmod rather than chmod. Don't use lchmod unless the
+ new mode contains bits outside the 777 range.
+ * src/mkfifo.c (usage): Clarify -m's operation.
+ (main): If -m is given, don't invoke chmod; use umask 0 instead.
+ Report an error if -m asks for bits outside the 777 range.
+ * src/mknod.c (usage, main): Likewise.
+
+ * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes.
+
+2005-12-27 Jim Meyering <jim@meyering.net>
+
* Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY.
(sc_prohibit_assert_without_use): New rule.
(syntax-check-rules): Add it to the list.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9cd5939a3..4c1bc53eb 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * coreutils.texi, perm.texi: Clarify file mode bits versus
+ file permission bits.
+ * coreutils.texi (mkfifo invocation, mknod invocation): -m
+ affects only file permission bits.
+
2005-12-29 Paul Eggert <eggert@cs.ucla.edu>
* coreutils.texi (sort invocation): Clarify that a blank is a space
diff --git a/lib/ChangeLog b/lib/ChangeLog
index a6fde0dea..0eb57d611 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,11 @@
+2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * chmod-safer.c, chmod-safer.h: Remove.
+ * lchmod.h: New file.
+ * mkdir-p.c: Include lchmod.h, lchown.h.
+ (make_dir_parents): Use lchown rather than chown, and
+ lchmod rather than chmod.
+
2005-12-26 Paul Eggert <eggert@cs.ucla.edu>
* chdir-long.c (cdb_free): Don't bother trying to open directory
diff --git a/m4/ChangeLog b/m4/ChangeLog
index 0e4c4de1e..03ae1f6ee 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * chmod-safer.m4: Remove.
+ * lchmod.m4: New file.
+ * jm-macros.m4 (gl_MACROS): Require gl_FUNC_LCHMOD.
+ Don't require gl_CHDIR_SAFER.
+
2005-12-21 Jim Meyering <jim@meyering.net>
* chdir-safer.m4: New file.