Commit Graph

24826 Commits

Author SHA1 Message Date
Jim Meyering eb8fa94f2c mknod, mkfifo: don't segfault when diagnosing invalid SELinux context
Identical to the bug fixed by 72d052896a.
* src/mkfifo.c (main): Use "scontext", not NULL optarg in diagnostic.
* src/mknod.c (main): Likewise.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* tests/mkdir/selinux: Test for the above fixes.
* NEWS: Mention the fixes.
2008-03-28 23:03:27 +01:00
Jim Meyering cdb16829a6 Fix typo in old NEWS and ChangeLog: s/commmand/command/.
* ChangeLog-2007: Likewise.
* NEWS: Likewise.
Prompted by http://bugzilla.redhat.com/439410
2008-03-28 20:20:49 +01:00
Pádraig Brady dc16dc835c tests: Factor out code that's going to be reused.
* tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of...
* tests/touch/fifo: ...here.
2008-03-28 14:33:27 +01:00
Jim Meyering 17720c10cd Require that "(exit $fail); exit $fail" be last line of each test.
* maint.mk (sc_require_test_exit_idiom): New rule to enforce policy.
* tests/cp/acl: Adhere to the new policy.
* tests/cp/preserve-gid: Likewise.
* tests/dd/misc:
* tests/install/create-leading:
* tests/ln/sf-1:
* tests/ls/symlink-slash:
* tests/misc/help-version:
* tests/misc/ls-time:
* tests/misc/nice:
* tests/misc/shred-remove:
* tests/misc/stty:
* tests/misc/stty-row-col:
* tests/mkdir/p-1:
* tests/mkdir/p-2:
* tests/mkdir/p-3:
* tests/mkdir/p-v:
* tests/mkdir/special-1:
* tests/mkdir/writable-under-readonly:
* tests/mv/acl:
* tests/mv/backup-is-src:
* tests/mv/diag:
* tests/mv/dir-file:
* tests/mv/force:
* tests/mv/hard-link-1:
* tests/mv/i-2:
* tests/mv/i-4:
* tests/mv/into-self:
* tests/mv/into-self-2:
* tests/mv/into-self-3:
* tests/mv/partition-perm:
* tests/mv/to-symlink:
* tests/rmdir/ignore:
* tests/tail-2/assert:
* tests/tail-2/assert-2:
* tests/touch/dangling-symlink:
* tests/touch/dir-1:
* tests/touch/empty-file:
* tests/touch/fifo:
* tests/touch/no-rights: Likewise.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-28 14:21:28 +01:00
Jim Meyering 818dbee8dc Perform explicit exit-nonzero if the embedded Perl script fails.
* tests/misc/pwd-long: Add canonical '(exit $fail); exit $fail'.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-28 14:21:27 +01:00
Jim Meyering b58a8b4ef5 paste -d\\: avoid heap overrun for backslash at end of delim list
* src/paste.c: Include "quotearg.h".
(collapse_escapes): Handle backslash-escaped backslash explicitly.
Handle unescaped backslash at end of string by returning nonzero,
rather than by overrunning memory.
(main): Diagnose an invalid delimiter list -- carefully.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* tests/misc/paste-no-nl (delim-bs): Add a test to demonstrate the
heap-smashing capability.
(delim-bs2): Prior to coreutils-5.1.2, this bug was a little harder
to demonstrate: it would corrupt a first-argument containing e.g., \b
* NEWS: Mention the bug fix.
* tests/misc/Makefile.am (TESTS): Reflect renaming.
* tests/misc/paste: Rename from paste-no-nl.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-27 13:32:38 +01:00
Jim Meyering 6743f81136 * src/join.c (keycmp): Document new parameters. 2008-03-26 01:17:15 +01:00
Jim Meyering 0e5381fe93 Test for mkdir bug fix.
* tests/mkdir/selinux: New file: test for today's fix.
* tests/mkdir/Makefile.am (TESTS): Add selinux.
2008-03-26 01:11:16 +01:00
Daniel Dunbar 72d052896a mkdir -Z x d: don't segfault when diagnosing invalid context "x" (tiny change)
* src/mkdir.c (main): Use "scontext", not NULL optarg in diagnostic.
Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
* NEWS: Mention the bug fix.
2008-03-26 00:57:29 +01:00
Peter Fales f7d1c59c22 id bug fix: don't point to potentially clobbered static storage
On at least Mac OS, when calling getpwuid twice with the same UID,
the static storage containing results from the first call is
invalidated by the second call.
* src/id.c (main): Point to a copy of the user name string.
2008-03-25 22:47:15 +01:00
Eric Blake 5f2ea441ac Use new gnulib gnumakefile module.
* bootstrap.conf (gnulib_modules): Pull in new module.
* GNUmakefile: Remove from version control.
* .gitignore: Update.
* configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do
this now.
* Makefile.am (EXTRA_DIST, distclean-local): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-25 21:56:39 +01:00
Jim Meyering da9f5e7fdf join bug fix: adapt keycmp to work with new order-checking feature
* src/join.c (keycmp): Add two join-field parameters.
(check_order, join): Update callers.
Reported by Dmitry V. Levin in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12731/focus=13017
* tests/join/Test.pm (chkodr-7): New test for this fix.
2008-03-25 19:10:10 +01:00
Jim Meyering 157a274da5 join.c: syntax/style tweaks
* src/join.c (check_order): Rename from checkorder.
Move definition to precede first use and remove prototype.
Use EXIT_FAILURE, rather than "1".
(key_cmp): Move definition to precede first use.
2008-03-23 11:18:38 +01:00
Jim Meyering 1a7f64b157 portability: work around a "busybox sed" limitation
* configure.ac: While every other sed tested supports usage like
'/\(re\)/{s//\1/;...<NEWLINE>}', and POSIX appears to requires this,
busybox's sed does not support it.  So duplicate the regexp:
'/\(re\)/{s/\(re\)/\1/;...<NEWLINE>}'.  Reported by Vincent Lefevre:
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13013>.
2008-03-22 19:13:34 +01:00
Jim Meyering c3869f6564 * src/c99-to-c89.diff: Adjust seq.c offsets. 2008-03-21 21:01:10 +01:00
Jim Meyering a0851554bd ptx: avoid heap overrun for backslash at end of optarg string
* src/ptx.c (copy_unescaped_string): Ignore a lone backslash
at end of string.  Reported by Cristian Cadar, Daniel Dunbar
and Dawson Engler.  Details here:
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13005>.
* tests/misc/Makefile.am (TESTS): Add ptx-overrun.
* tests/misc/ptx-overrun: New file.  Test for the above fix.
* NEWS: Mention the fix.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-21 20:58:15 +01:00
Jim Meyering 4f812540a2 ptx.c readability
* src/ptx.c (copy_unescaped_string): Add braces around 80+-line
single-stmt while-loop body.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-21 20:58:15 +01:00
Jim Meyering 6e5bbc267a Write NEWS and update c99-to-c89 patch for today's rm improvement.
* NEWS: call this a "portability improvement" ;-)
* src/c99-to-c89.diff: Adjust remove.c offsets.
2008-03-21 16:01:29 +01:00
Ingo Weinhold e73dfc3899 remove.c: Accommodate systems with negative errno values.
* src/remove.c (cache_fstatat): Store errno value directly in
the st_ino field, rather than trying to shoehorn it into st_size.
This is required at least on BeOS and Haiku.
2008-03-21 16:01:29 +01:00
Jim Meyering 18ce670a33 * src/seq.c (long_double_format): Add a comment. 2008-03-21 15:59:41 +01:00
Jim Meyering 04f1470c51 * GNUmakefile: Update from gnulib. 2008-03-21 00:33:26 +01:00
Jim Meyering 677610ec7c Remove today's automake kludge, altogether. Fix properly.
* man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS.
Suggestion from Ralf Wildenhues.
2008-03-20 19:04:50 +01:00
Jim Meyering ba4b9d9d6e Add a check to detect this problem, in case it reappears.
* maint.mk (my-distcheck): Run "make install", and then ensure
that ls.1 is installed.
2008-03-20 18:43:03 +01:00
Jim Meyering 4682f132f2 Kludge to make automake generate install-man rules
* man/Makefile.am (dist_man_MANS): Add a literal, rm.1.
Without this, "make install" would not install man pages.
However, with this kludge, the rm.1 man page is installed
even when you configure with --enable-no-install-program=rm.
2008-03-20 18:01:35 +01:00
Jim Meyering 8058da0065 Revert recent man/Makefile.am change.
Revert 4b544e447e.
* man/Makefile.am: That change was only a band-aid.  It solved
the stated problem, but not a deeper one: that "make install"
would no longer man pages.  Reported by Dmitry V. Levin.
The latter problem arose in
167b8025ac with the removal of
the sole literal from the definition of dist_man_MANS.  When
automake perceives dist_man_MANS as empty, it no longer emits
the install-man* rules.
2008-03-20 17:59:44 +01:00
Eric Blake 2c7bed000e Sync GNUmakefile with gnulib.
* GNUmakefile (Makefile.cfg): Rename...
(cfg.mk): ...to this, and make optional.
(GNUmakefile.cfg): Delete, redundant with cfg.mk.
(Makefile.maint): Rename...
(maint.mk): ...to this.
(all) [!_have-Makefile]: Rename...
(abort-due-to-no-makefile): ...to this, and invoke via
.DEFAULT_GOAL to pick up all targets.
* Makefile.cfg: Rename...
* cfg.mk: ...to this.
* Makefile.maint: Rename...
* maint.mk ...to this.
(ME): Reflect rename.
(makefile-check, m4-check, author_mark_check, msg): Use $(ME)
rather than hard-coded name.
* Makefile.am (EXTRA_DIST): Distribute renamed files.
* .x-sc_file_system: Remove Makefile.maint along with others. No longer needed.
* .x-sc_obsolete_symbols: Likewise.
* .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names.
* TODO: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-20 14:52:55 +01:00
Bob Proulx 9e2ed5521d make check: Remove /tmp/ls-creating debug code.
* tests/misc/ls-misc: Remove debug code creating /tmp/ls.
2008-03-19 23:52:16 +01:00
Jim Meyering 22e66dfc12 bootstrap: restore kludge removed on 2008-03-12: it's still necessary.
* bootstrap: Make the gnulib-tests/test-*.sh scripts executable.
This restores code removed by dec8bb25bb.
Reported by Bob Proulx.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-19 23:50:19 +01:00
Jim Meyering 092239c608 Check for -- and remove -- some unnecessarily included header files.
* Makefile.maint: Add checks for a handful of additional header files.
* src/mktemp.c: Don't include "long-options.h".  Not used.
* src/pr.c: Don't include "inttostr.h".  Not used.
* src/printenv.c: Don't include "error.h".  Not used.
* src/test.c: Don't include "error.h".  Not used.
* src/touch.c: Don't include "safe-read.h".  Not used.
2008-03-19 16:48:32 +01:00
Jim Meyering 116f832b45 Remove more vestiges of CVS.
* Makefile.maint (VC_LIST): Rename from CVS_LIST.
(VC_LIST_EXCEPT): Rename from CVS_LIST_EXCEPT.
2008-03-19 14:34:11 +01:00
Jim Meyering 63feb84a2d mv: never unlink a destination file before calling rename
While cp --preserve=links must unlink certain destination files,
mv must never do that.
* src/copy.c (copy_internal): Pull the '! x->move_mode' test "up",
so it affects the entire condition, and not just DEREF_NEVER mode.
Reported by James Ralston in <http://bugzilla.redhat.com/438076>.
* tests/mv/atomic2: New file.  Test for the above fix.
* tests/mv/Makefile.am (TESTS): Add atomic2.
* NEWS: Mention the bug-fix.
[Bug introduced in 367719ba5f]
2008-03-19 13:38:27 +01:00
Jim Meyering 4b544e447e "make" would not always update man/*.1 files (but "make dist" would)
* man/Makefile.am (BUILT_SOURCES): Define, so that "make" always
updates man/*.1 files.  Reported by Bob Proulx.
2008-03-19 08:46:41 +01:00
Jim Meyering 2708cd9ca0 syntax-check: Make the space-before-open-paren optional.
* Makefile.maint (sc_prohibit_assert_without_use): Match also
when there is no space before the opening parenthesis.
(sc_prohibit_getopt_without_use): Likewise.
(sc_prohibit_quotearg_without_use): Likewise.
(sc_prohibit_quote_without_use): Likewise.
2008-03-18 23:51:58 +01:00
Jim Meyering 7feeb7cf23 * Makefile.maint (sc_no_have_config_h): Use a more precise regexp. 2008-03-18 23:44:53 +01:00
Jim Meyering 8378eca4d4 * Makefile.maint (CVS): Remove now-unused definition. 2008-03-18 23:40:41 +01:00
Jim Meyering e3b22389a8 Factor out duplication in sc_prohibit_*_without_use rules.
* Makefile.maint (_header_without_use): New "command",
factored out of four sc_prohibit_HEADER_without_use rules.
(sc_prohibit_assert_without_use): Rewrite using $(_header_without_use).
(sc_prohibit_getopt_without_use): Likewise.
(sc_prohibit_quotearg_without_use): Likewise.
(sc_prohibit_quote_without_use): Likewise.
2008-03-18 21:32:03 +01:00
Dmitry V. Levin 29ff7a3943 Correct typo in "make syntax-check" diagnostic.
* Makefile.maint (sc_prohibit_getopt_without_use): s/assert.h/getopt.h/
2008-03-18 20:33:36 +01:00
Jim Meyering 0ecdb0a52a Prohibit inclusion of getopt.h without use.
* Makefile.maint (sc_prohibit_getopt_without_use): New rule.
2008-03-16 19:04:29 +01:00
Jim Meyering 12ff1eb9b9 Include <getopt.h> only if used.
* src/group-list.c: Don't include <getopt.h>.
* src/printf.c: Likewise.
2008-03-16 19:04:29 +01:00
J. Scott Edwards c960211fe7 sha512_process_bytes: fix a bug in processing a buffer where length&64 != 0
* gl/lib/sha512.c (sha512_process_bytes): s/63/127/.
2008-03-16 19:04:24 +01:00
Jim Meyering a5d8b18bea Generalize GNUmakefile, ...
...so that it can be used unmodified by autoconf.
* GNUmakefile: Include optional file, GNUmakefile.cfg.
Autoconf will use this to override _autoreconf and to export PATH.
(_autoreconf): Define.
(_dummy): cd to $(srcdir) before removing autom4te.cache.
2008-03-12 13:52:51 +01:00
Jim Meyering dec8bb25bb * bootstrap: Sync from gnulib and remove part of a local kludge. 2008-03-12 11:47:53 +01:00
Ondřej Vašík 9c393fa194 install, rmdir: write --verbose output to stdout, not to stderr.
* src/install.c (announce_mkdir): Write verbose output to stdout,
not to stderr.
* src/mkdir.c (announce mkdir): Use prog_fprintf for verbose output.
* src/prog-fprintf.c (prog_fprintf): New function and file.
* src/prog-fprintf.h: New file.
* src/rmdir.c (main): Write verbose output to stdout, not to stderr.
Quote directory name in a diagnostic.
* src/rmdir.c (remove_parents): Write verbose output to stdout,
not to stderr.
* doc/coreutils.texi: Mention that shred verbose output is to stderr.
* NEWS: Mention the changes.

Signed-off-by: Ondřej Vašík <ovasik@redhat.com>
2008-03-10 19:47:15 +01:00
Jim Meyering 3c7a6ae340 make syntax-check: also check src/*.h files for extern functions,
* src/Makefile.am (sc_tight_scope): ... now that there is one.
2008-03-10 19:23:41 +01:00
Jim Meyering 381e69eace dd: avoid unnecessary, but harmless close_stdout call.
* src/dd.c (close_stdout_required): New global.
(maybe_close_stdout): New function.
(main): Set the global.
Reported by Ulrich Drepper in http://bugzilla.redhat.com/436368
2008-03-07 12:21:37 +01:00
Jim Meyering c58c2ea3e4 Now that ChangeLog is no longer under version control, ...
* Makefile.maint (alpha beta major): Don't make changelog-check.
(changelog-version-check): Rename from changelog-check.
2008-03-06 14:33:20 +01:00
Jim Meyering d44893c5db * src/c99-to-c89.diff: Accommodate a C99-ism in id.c. 2008-03-05 11:38:30 +01:00
ribalba b7a836c0a3 Work around AFS bug: id and groups would print invalid group number.
* src/id.c (main): Call print_group_list with a user name, if possible.
* src/groups.c (main): Likewise.
* NEWS: Mention this.
For details, see
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12852
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12875

Signed-off-by: ribalba <geerd.dietger.hoffmann@gmail.com>
2008-03-05 11:38:26 +01:00
Jim Meyering f5d58041d5 Now that Makefile.maint is used in VPATH builds, too...
* Makefile.maint (prev_version_file): Prefix with $(srcdir)/.
(syntax-check-rules): Prefix $(ME) with $(srcdir)/.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-05 10:36:21 +01:00
Jim Meyering c7d33788e0 Avoid new "make distcheck" failure, now that VPATH has GNUmakefile.
* GNUmakefile: Remove commands to create ".version".
They were unnecessary, and caused creation of a newer .version
file in a VPATH build, which in turn caused creation of updated
man/*.1 files reflecting the newer time stamp on .version.
Those *.1 files were not removed (since they're distributed), and
the fact that they remained after "distclean" triggered the failure.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-03-05 10:36:21 +01:00