Paul Eggert [Sat, 7 Jan 2006 01:55:27 +0000 (01:55 +0000)]
Initial version.
Jim Meyering [Fri, 6 Jan 2006 16:49:15 +0000 (16:49 +0000)]
*** empty log message ***
Jim Meyering [Fri, 6 Jan 2006 16:49:10 +0000 (16:49 +0000)]
(copyright-check): Use date +%Y in place of hard-coded 2005.
Jim Meyering [Fri, 6 Jan 2006 16:48:27 +0000 (16:48 +0000)]
*** empty log message ***
Jim Meyering [Fri, 6 Jan 2006 16:48:24 +0000 (16:48 +0000)]
(COPYRIGHT_YEAR): Update to 2006.
Jim Meyering [Fri, 6 Jan 2006 10:14:30 +0000 (10:14 +0000)]
*** empty log message ***
Jim Meyering [Fri, 6 Jan 2006 10:14:19 +0000 (10:14 +0000)]
(rm_1): Remove `static' attribute on local `status'.
First off, the attribute should have been `volatile' (not static)
to avoid longjmp-related risk of clobber. Secondly, now there is
no longer any risk of a local variable being clobbered, so there's
no need for any attribute at all.
Jim Meyering [Thu, 5 Jan 2006 14:31:22 +0000 (14:31 +0000)]
*** empty log message ***
Jim Meyering [Thu, 5 Jan 2006 14:28:52 +0000 (14:28 +0000)]
Give a few functions the inline attribute.
(AD_pop_and_chdir): Use gotos to avoid some duplication.
(AD_push): Rewrite an assertion so that the entire computation
goes away when assertions are turned off.
Jim Meyering [Thu, 5 Jan 2006 10:30:21 +0000 (10:30 +0000)]
*** empty log message ***
Jim Meyering [Thu, 5 Jan 2006 10:30:17 +0000 (10:30 +0000)]
Add a FIXME comment.
Jim Meyering [Thu, 5 Jan 2006 10:29:47 +0000 (10:29 +0000)]
*** empty log message ***
Jim Meyering [Thu, 5 Jan 2006 10:27:03 +0000 (10:27 +0000)]
(ENOSYS) [!defined ENOSYS]: Don't define here.
It's already defined in "system.h".
Jim Meyering [Wed, 4 Jan 2006 21:06:39 +0000 (21:06 +0000)]
.
Paul Eggert [Wed, 4 Jan 2006 18:57:24 +0000 (18:57 +0000)]
(tzname): Don't declare if it is already #defined.
Jim Meyering [Wed, 4 Jan 2006 18:28:46 +0000 (18:28 +0000)]
*** empty log message ***
Jim Meyering [Wed, 4 Jan 2006 18:27:03 +0000 (18:27 +0000)]
.
Jim Meyering [Wed, 4 Jan 2006 16:09:03 +0000 (16:09 +0000)]
fix typo
Jim Meyering [Wed, 4 Jan 2006 16:07:17 +0000 (16:07 +0000)]
*** empty log message ***
Jim Meyering [Wed, 4 Jan 2006 16:07:11 +0000 (16:07 +0000)]
change comment and temp file name: s/openat/fdopendir/
Jim Meyering [Wed, 4 Jan 2006 16:06:59 +0000 (16:06 +0000)]
change comments and temp file name: s/openat/fdopendir/
Jim Meyering [Wed, 4 Jan 2006 16:06:30 +0000 (16:06 +0000)]
Also allow a slightly different diagnostic -- the
one you get when using openat-enabled fts.c and du (coming soon).
Jim Meyering [Wed, 4 Jan 2006 07:13:10 +0000 (07:13 +0000)]
*** empty log message ***
Jim Meyering [Wed, 4 Jan 2006 07:12:22 +0000 (07:12 +0000)]
Merge from glibc.
(fts_open): Avoid function call in MAX macro use.
Paul Eggert [Tue, 3 Jan 2006 23:21:38 +0000 (23:21 +0000)]
(xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
long int, not int, for nanosecond counts, so that people who are
used to POSIX struct timespec won't be surprised.
Jim Meyering [Tue, 3 Jan 2006 21:59:07 +0000 (21:59 +0000)]
*** empty log message ***
Jim Meyering [Tue, 3 Jan 2006 21:59:02 +0000 (21:59 +0000)]
Also allow a slightly different diagnostic -- the
one you get when using openat-enabled fts.c and du (coming soon).
Jim Meyering [Tue, 3 Jan 2006 14:12:21 +0000 (14:12 +0000)]
*** empty log message ***
Jim Meyering [Tue, 3 Jan 2006 14:12:16 +0000 (14:12 +0000)]
Also allow a slightly different diagnostic -- the
one you get when using openat-enabled fts.c and du (coming soon).
Jim Meyering [Tue, 3 Jan 2006 10:29:58 +0000 (10:29 +0000)]
correct first-line comment
Jim Meyering [Tue, 3 Jan 2006 07:41:12 +0000 (07:41 +0000)]
*** empty log message ***
Jim Meyering [Tue, 3 Jan 2006 07:41:03 +0000 (07:41 +0000)]
(O_DIRECTORY) [!defined O_DIRECTORY]: Define.
Paul Eggert [Tue, 3 Jan 2006 06:20:25 +0000 (06:20 +0000)]
Make sure we can change the group of inaccessible files.
Paul Eggert [Tue, 3 Jan 2006 06:20:06 +0000 (06:20 +0000)]
(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.
Paul Eggert [Tue, 3 Jan 2006 06:00:10 +0000 (06:00 +0000)]
(General date syntax): Invalid dates are rejected.
(Time of day items): Mention the possibility of leap seconds.
Problem reported by Dr. David Alan Gilbert.
Paul Eggert [Tue, 3 Jan 2006 00:48:29 +0000 (00:48 +0000)]
Explain date %g, %G, and %V a bit better.
Paul Eggert [Tue, 3 Jan 2006 00:46:11 +0000 (00:46 +0000)]
Explain date %g, %G a bit better.
Paul Eggert [Tue, 3 Jan 2006 00:45:06 +0000 (00:45 +0000)]
Use @acronym around "ISO" uniformly.
(Date conversion specifiers): Explain %g, %G, and %V a bit better.
Paul Eggert [Tue, 3 Jan 2006 00:43:19 +0000 (00:43 +0000)]
(usage): Explain %g, %G, and %V a bit better.
Jim Meyering [Mon, 2 Jan 2006 21:35:00 +0000 (21:35 +0000)]
*** empty log message ***
Jim Meyering [Mon, 2 Jan 2006 21:34:53 +0000 (21:34 +0000)]
(set_owner): Correct a comment.
Jim Meyering [Mon, 2 Jan 2006 19:11:27 +0000 (19:11 +0000)]
*** empty log message ***
Jim Meyering [Mon, 2 Jan 2006 19:11:22 +0000 (19:11 +0000)]
(parse_options): Change warning to say that --retry
is useful `mainly' (not `only') when following by name.
Reported here: http://bugs.debian.org/273781
Jim Meyering [Mon, 2 Jan 2006 19:10:45 +0000 (19:10 +0000)]
*** empty log message ***
Jim Meyering [Mon, 2 Jan 2006 19:10:39 +0000 (19:10 +0000)]
(tail invocation): Say that --retry
is useful `mainly' (not `only') when following by name.
Paul Eggert [Mon, 2 Jan 2006 07:42:35 +0000 (07:42 +0000)]
Fix typo in previous change.
Paul Eggert [Mon, 2 Jan 2006 07:30:27 +0000 (07:30 +0000)]
New approach to safer chmod.
Paul Eggert [Mon, 2 Jan 2006 07:29:46 +0000 (07:29 +0000)]
Clarify file mode bits versus file permission bits.
Paul Eggert [Mon, 2 Jan 2006 07:29:24 +0000 (07:29 +0000)]
Update copyright year.
Paul Eggert [Mon, 2 Jan 2006 07:28:38 +0000 (07:28 +0000)]
Clarify file mode bits versus file permission bits.
(mkfifo invocation, mknod invocation): -m affects only file permission bits.
Paul Eggert [Mon, 2 Jan 2006 07:28:08 +0000 (07:28 +0000)]
Document that mkfifo and mknod -m no longer set special bits.
Paul Eggert [Mon, 2 Jan 2006 07:18:30 +0000 (07:18 +0000)]
No longer used.
Paul Eggert [Mon, 2 Jan 2006 06:39:06 +0000 (06:39 +0000)]
(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.
Undo 2005-12-19 changes.
Paul Eggert [Mon, 2 Jan 2006 06:38:33 +0000 (06:38 +0000)]
Update copyright year.
Paul Eggert [Mon, 2 Jan 2006 06:38:06 +0000 (06:38 +0000)]
(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.
Paul Eggert [Mon, 2 Jan 2006 06:37:36 +0000 (06:37 +0000)]
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.
Paul Eggert [Mon, 2 Jan 2006 06:36:55 +0000 (06:36 +0000)]
Include lchmod.h.
(re_protect, make_dir_parents_private): Use lchmod rather than chmod.
Paul Eggert [Mon, 2 Jan 2006 06:36:10 +0000 (06:36 +0000)]
Include lchmod.h.
(copy_internal): Use lchmod rather than chmod.
Paul Eggert [Mon, 2 Jan 2006 06:34:32 +0000 (06:34 +0000)]
New file.
Paul Eggert [Mon, 2 Jan 2006 06:34:13 +0000 (06:34 +0000)]
(gl_MACROS): Require gl_FUNC_LCHMOD.
Don't require gl_CHDIR_SAFER.
Paul Eggert [Mon, 2 Jan 2006 06:33:12 +0000 (06:33 +0000)]
Include lchmod.h, lchmod.c.
(make_dir_parents): Use lchown rather than chown, and
lchmod rather than chmod.
Paul Eggert [Thu, 29 Dec 2005 21:45:32 +0000 (21:45 +0000)]
(sort invocation): Clarify that by default a blank is a space or a tab.
Paul Eggert [Thu, 29 Dec 2005 21:44:35 +0000 (21:44 +0000)]
(sort invocation): Clarify that a blank is a space
or a tab.
Jim Meyering [Thu, 29 Dec 2005 15:03:57 +0000 (15:03 +0000)]
add src/system.h
Jim Meyering [Wed, 28 Dec 2005 10:27:47 +0000 (10:27 +0000)]
.
Jim Meyering [Wed, 28 Dec 2005 10:27:34 +0000 (10:27 +0000)]
*** empty log message ***
Jim Meyering [Wed, 28 Dec 2005 10:26:58 +0000 (10:26 +0000)]
(EXTRA_DIST): Add .x-sc_prohibit_assert_without_use.
Jim Meyering [Wed, 28 Dec 2005 10:26:10 +0000 (10:26 +0000)]
(sc_obsolete_symbols): Prohibit use of O_NDELAY.
(sc_prohibit_assert_without_use): New rule.
(syntax-check-rules): Add it to the list.
(CVS_LIST): Define in terms of $(srcdir).
Jim Meyering [Wed, 28 Dec 2005 10:22:41 +0000 (10:22 +0000)]
Don't include <assert.h>; it wasn't used.
Paul Eggert [Tue, 27 Dec 2005 08:00:42 +0000 (08:00 +0000)]
chdir-related fixes
Paul Eggert [Tue, 27 Dec 2005 08:00:12 +0000 (08:00 +0000)]
(wipename): Use similar open flags to other places we open directories.
Don't bother trying to open dir for writing, since POSIX prohibits it.
Paul Eggert [Tue, 27 Dec 2005 07:59:27 +0000 (07:59 +0000)]
(fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY
| O_NOFOLLOW too, for consistency with other dir-openers.
Use POSIX-preferred O_NONBLOCK rather than O_NDELAY.
(is_empty_dir): Likewise.
Paul Eggert [Tue, 27 Dec 2005 07:59:00 +0000 (07:59 +0000)]
(restricted_chown):
Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
Paul Eggert [Tue, 27 Dec 2005 07:57:14 +0000 (07:57 +0000)]
(save_cwd): Don't bother trying to open directory
for write access: POSIX says that must fail.
Paul Eggert [Tue, 27 Dec 2005 07:56:33 +0000 (07:56 +0000)]
(rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
Fall back on chown if open failed with EACCES.
Paul Eggert [Tue, 27 Dec 2005 07:55:50 +0000 (07:55 +0000)]
(defined_S_IFMT): New macro.
Include stat-macros.h.
Include stdlib.h, for abort().
Don't include stdio.h or assert.h; no longer needed.
(same_file_type): Don't assume S_IFMT is defined, as POSIX
does not require this. Don't assume S_IFCHR and S_IFBLK have
their usual sort of bit pattern.
(fchmod_new): Open with O_NOCTTY for as well, for minor
improvement on hosts where that matters. Don't bother to assert,
since the caller (in this source file) checks the same thing.
Discard any errno from a close failure, for consistency with other
code.
Paul Eggert [Tue, 27 Dec 2005 07:55:03 +0000 (07:55 +0000)]
(diropen): Don't bother trying to open directory for write access:
POSIX says that must fail.
Paul Eggert [Tue, 27 Dec 2005 07:54:37 +0000 (07:54 +0000)]
(chdir_no_follow): Don't bother trying to open directory for write
access: POSIX says that must fail.
Paul Eggert [Tue, 27 Dec 2005 07:53:50 +0000 (07:53 +0000)]
(cdb_free): Don't bother trying to open directory
for write access: POSIX says that must fail.
(cdb_free): Open with O_NOCTTY | O_NONBLOCK as
well, for minor improvements on hosts that lack O_DIRECTORY.
Jim Meyering [Mon, 26 Dec 2005 18:53:58 +0000 (18:53 +0000)]
(chdir_no_follow): Move declaration of local,
sb2, `down' into the scope where it is used.
Note that on some systems this function also fails when DIR
is a writable-yet-unreadable directory.
Jim Meyering [Mon, 26 Dec 2005 18:53:46 +0000 (18:53 +0000)]
*** empty log message ***
Paul Eggert [Sun, 25 Dec 2005 21:40:01 +0000 (21:40 +0000)]
chdir-safer.c still needs unistd.h
Paul Eggert [Sun, 25 Dec 2005 21:38:43 +0000 (21:38 +0000)]
Whoops; don't remove the include for unistd.h, since it defines fchdir.
Paul Eggert [Sun, 25 Dec 2005 21:35:51 +0000 (21:35 +0000)]
chdir-safer cleanup
Paul Eggert [Sun, 25 Dec 2005 21:35:38 +0000 (21:35 +0000)]
(chdir_no_follow): Don't include stdio.h, assert.h,
unistd.h, fcntl--.h; not needed.
(O_DIRECTORY): Define if not already defined.
(chdir_no_follow): Revamp describing comment to match code more
closely. Redo use of internal vars to avoid lint complaints.
Work even if directory is writeable but not readable.
Open with O_DIRECTORY | O_NOCTTY, for benefit of hosts that
don't have O_NOFOLLOW. Use O_NONBLOCK (POSIX spelling) rather
than O_NDELAY. Don't bother invoking fstat if open does not
dereference symlink, since the result isn't used then.
Don't assume file descriptor is positive; it might be zero
now that we no longer include fcntl--.h (we don't need fcntl--.h
since we immediately close the descriptor).
Paul Eggert [Sun, 25 Dec 2005 21:35:21 +0000 (21:35 +0000)]
(FCHMOD_SAFER_H): Remove: it was misnamed, and wasn't needed anyay.
Jim Meyering [Sun, 25 Dec 2005 17:34:04 +0000 (17:34 +0000)]
*** empty log message ***
Jim Meyering [Sun, 25 Dec 2005 17:33:57 +0000 (17:33 +0000)]
(chdir_no_follow): Remove unnecessary test of S_ISDIR (sb_init.st_mode).
Jim Meyering [Fri, 23 Dec 2005 18:17:39 +0000 (18:17 +0000)]
(TESTS): Add p-thru-slink
Jim Meyering [Fri, 23 Dec 2005 18:16:40 +0000 (18:16 +0000)]
New file. Test for today's mkdir-p.c fix.
Jim Meyering [Fri, 23 Dec 2005 18:15:38 +0000 (18:15 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Dec 2005 18:15:33 +0000 (18:15 +0000)]
(make_dir_parents): Use chdir_no_follow only
if we've just created the directory.
Jim Meyering [Fri, 23 Dec 2005 17:14:37 +0000 (17:14 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Dec 2005 12:00:37 +0000 (12:00 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Dec 2005 12:00:26 +0000 (12:00 +0000)]
(chdir_no_follow): Rewrite to use fchdir even
when O_NOFOLLOW is not defined. Suggested by Eric Blake.
Jim Meyering [Fri, 23 Dec 2005 08:28:19 +0000 (08:28 +0000)]
*** empty log message ***
Jim Meyering [Fri, 23 Dec 2005 08:28:14 +0000 (08:28 +0000)]
(O_NOFOLLOW): Define, if necessary.
Jim Meyering [Fri, 23 Dec 2005 08:27:44 +0000 (08:27 +0000)]
(O_NOFOLLOW): Define.
Jim Meyering [Thu, 22 Dec 2005 15:43:25 +0000 (15:43 +0000)]
*** empty log message ***
Jim Meyering [Thu, 22 Dec 2005 15:42:17 +0000 (15:42 +0000)]
*** empty log message ***