aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2007-03-18* src/runcon.c (main): Don't reorder arguments. Reported byselinuxJim Meyering1-2/+2
Ulrich Drepper in <http://bugzilla.redhat.com/232652>. * tests/misc/runcon-no-reorder: New file. Test for the above. * tests/misc/Makefile.am (TESTS): Add runcon-no-reorder.
2007-03-18* src/runcon.c (main): Remove "." at end of a diagnostic.Jim Meyering1-1/+1
2007-03-18* src/runcon.c: New program.Jim Meyering2-1/+252
* src/Makefile.am (bin_PROGRAMS): Add runcon. (runcon_LDADD): Define. * README: Add runcon to the list of programs. * AUTHORS: Add this: runcon: Russell Coker * tests/help-version: Add runcon as an exception. * man/Makefile.am (dist_man_MANS): Add runcon.1. (runcon.1): New dependency. * po/POTFILES.in: Add src/runcon.c.
2007-03-18mkfifo, mknod: Accept new "-Z, --context=C" option.Jim Meyering3-4/+34
* src/mkfifo.c, src/mknod.c: Include <selinux/selinux.h>. (main): Honor it. * src/Makefile.am (mkfifo_LDADD, mknod_LDADD): Use $(LIB_SELINUX).
2007-03-18mkdir: Accept new "-Z, --context=C" option.Jim Meyering2-2/+17
* src/mkdir.c: Include <selinux/selinux.h>. (main): Honor it. * src/Makefile.am (mkdir_LDADD): Use $(LIB_SELINUX).
2007-03-18* tests/cp/cp-a-selinux: New file. Test for the bug reported inJim Meyering5-12/+35
* tests/cp/Makefile.am (TESTS): Add cp-a-selinux. * tests/selinux: New file. * tests/Makefile.am (EXTRA_DIST): Add selinux. * tests/misc/selinux: Source the new script, rather than open coding it. Change how "cp -a" and "cp --preserve=context" work with SELinux. Now, cp -a attempts to preserve context, but failure to do so does not change cp's exit status. However "cp --preserve=context" is similar, but failure *does* cause cp to exit with nonzero status. * src/copy.h (struct cp_options) [require_preserve_context]: New member. * src/copy.c (copy_reg, copy_internal): Implement the above. * src/mv.c (cp_option_init): Initialize the new member. * src/install.c (cp_option_init): Likewise. * src/cp.c (cp_option_init): Likewise. (decode_preserve_arg): Set it or reset it. FIXME: add an on-writable-NFS-only test
2007-03-18* src/system.h (GETOPT_SELINUX_CONTEXT_OPTION_DECL): Define.Jim Meyering1-0/+2
2007-03-18cp, mv, install: add SELinux support, but unlike with the Red HatJim Meyering6-14/+213
patch, mv and cp do not provide the "-Z context" option. * src/copy.c: Include <selinux/selinux.h>. (restore_default_fscreatecon): New function. (copy_reg): Make cp --preserve=context work for existing destination. (copy_internal): Likewise for new destinations. * src/copy.h (cp_options) [preserve_security_context]: New member. * src/cp.c: Include <selinux/selinux.h>. (selinux_enabled): New global. (usage): Mention new --preserve=context option. (PRESERVE_CONTEXT): Define/use. (decode_preserve_arg): Handle PRESERVE_CONTEXT. (main): Remove an obsolete comment. If --preserve=context is specified on a system without SELinux enabled, give a diagnostic and fail. * src/mv.c: Include <selinux/selinux.h>. Set x->preserve_security_context if SELinux is enabled. * src/install.c: Accept new "-Z, --context=C" option. Accept --preserve-context option (but not -P option). Accept alternate spelling: --preserve_context, for now. Include <selinux/selinux.h> and "quotearg.h". (selinux_enabled, use_default_selinux_context): New globals. (PRESERVE_CONTEXT_OPTION): Define. (cp_option_init): Default: do not preserve security context. (setdefaultfilecon): New function. (main): Honor new options. * src/Makefile.am (mv_LDADD, cp_LDADD, ginstall_LDADD): Add $(LIB_SELINUX).
2007-03-18* src/c99-to-c89.diff: Remove the ls.c patch, now that I'veJim Meyering1-20/+0
temporarily removed the offending c99'ism.
2007-03-18* src/chcon.c (usage): Split a string literal that was longer than 509.Jim Meyering1-0/+2
2007-03-18* src/ls.c (gobble_file): Don't call getfilecon unless print_scontext.Jim Meyering1-3/+4
Upon failed getfilecon, accept not just ENOTSUP, but also ENODATA.
2007-03-18* src/c99-to-c89.diff: Adjust offsets.Jim Meyering1-2/+2
2007-03-18* src/c99-to-c89.diff: Remove trailing blanks.Jim Meyering1-4/+4
2007-03-18* src/chcon.c: Don't include "dirname.h". system.h already includes it.Jim Meyering1-1/+0
2007-03-18* src/c99-to-c89.diff: Handle a new c99'ism in ls.c.Jim Meyering1-0/+20
2007-03-18* src/id.c (main): Tweak id -Z diagnostic.Jim Meyering1-2/+2
2007-03-18id: Add SELinux support: -Z option.Jim Meyering2-10/+54
* src/id.c (main): Apply patches from Fedora, with these changes: Remove #ifdef WITH_SELINUX. Use error (EXIT_FAILURE, not fprintf+exit(1). * src/Makefile.am (id_LDADD): Define, so as to add $(LIB_SELINUX).
2007-03-18stat: Add support for SELinux in the form of a %C format directive.Jim Meyering2-6/+43
* src/stat.c (follow_links): Make this variable file-global. (out_file_context): New function. (print_statfs): Honor %C. (print_stat): Honor %C. (do_stat): Remove follow_links parameter. (usage): Document the two %C directives. (main): Accept -Z (though it's a no-op). * src/Makefile.am (stat_LDADD): Define.
2007-03-18ls: Add support for SELinux and a slightly modified -Z option.Jim Meyering2-26/+70
I started with the patches from Red Hat. The entries below tell how the code evolved. * src/ls.c (print_long_format, print_file_name_and_frills): When there is no security context (due to getfilecon/lgetfilecon failing with e.g. ENOTSUP), print it as "?", not "". * src/ls.c (print_file_name_and_frills): Make -Z work without -l. (length_of_file_name_and_frills): Likewise. * src/ls.c: Remove the --lcontext and --scontext options. Change the way -Z, --context work so that it no longer implies -l. Thus, -Z -l will work like -lcontext and -Z without -l will work like --scontext. Adjust tests to reflect new 'ls -l' syntax -- affects only systems with SELinux when operating on a file with no ACL. These tests assumed that everything before the first space on each line is the 10-byte mode string. But there may also be a "+" in the 11th column, just before the space. However, note that this is not new. The same thing would have happened even without the change below, when listing a file with an ACL. * tests/chmod/equals, tests/cp/cp-parents, tests/cp/fail-perm: * tests/cp/link-preserve, tests/install/basic-1, tests/misc/mknod: * tests/mkdir/parents, tests/mkdir/special-1, tests/mv/partition-perm: Don't make compilation depend on USE_ACL. An SELinux security context counts as an "alternate access control method", so ls must output a "+" for each file with a security context. * src/ls.c [struct fileinfo] (have_acl): Declare unconditionally. (FILE_HAS_ACL): Remove macro definition. Use f->have_acl directly. (gobble_file): Record whether a file has a security context, and update the condition used to determine whether to print the "+". (gobble_file): Call getfilecon/lgetfilecon also when format == long_format, so that we get the "+". * src/ls.c (gobble_file): Add a comment explaining why (with a security context option) ls doesn't exit nonzero due to e.g., getfilecon failing with errno == ENOTSUP. * src/ls.c (gobble_file): Ignore failure of getfilecon if it's due to ENOTSUP. * src/ls.c (gobble_file): Factor out three small blocks using getfilecon and lgetfilecon. Don't ignore return value from getfilecon and lgetfilecon. * src/ls.c (print_long_format): Don't use ?: (empty 2nd arg with C ternary operator). (print_scontext_format): Likewise. (print_scontext): Declare to be "bool", not int. Adjust uses. * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_SELINUX). * tests/misc/chcon: New file. * tests/misc/chcon-fail: New file. * tests/Makefile.am (check-root): Run new, root-only misc/chcon test. * tests/misc/Makefile.am (TESTS): Add chcon and chcon-fail. * tests/misc/Makefile.am (TESTS): Add selinux. * tests/misc/selinux: New file. * tests/help-version: Skip chcon.
2007-03-18New program: chconJim Meyering2-1/+591
* gl/modules/selinux-at: New module. Check for libselinux and set LIB_SELINUX here, unconditionally, rather than depending on the configure-time --enable-selinux option. * gl/modules/selinux-h: New module. * bootstrap.conf (gnulib_modules): Add selinux-at. * gl/lib/selinux-at.c, gl/lib/selinux-at.h: New files. * gl/lib/se-selinux_.h: New file. * gl/lib/se-context_.h: New file. * gl/m4/selinux-selinux-h.m4: New file. * gl/m4/selinux-context-h.m4: New file. * src/Makefile.am (bin_PROGRAMS): Add chcon. (chcon_LDADD): Define. * README: Add chcon to the list of programs. * src/chcon.c: Rewrite the original (Red Hat) chcon to use fts.
2007-03-18Fix a bug in how pr -m -s works.Jim Meyering1-2/+1
* NEWS: Describe how the fix affects pr. * src/pr.c (init_parameters): The --merge (-m) option does not imply --expand-tabs (-e), so don't set "untabify_input". Reported by Wis Macomson. * tests/misc/pr: New file. Test for the above fix. * tests/misc/Makefile.am (TESTS): Add pr. * THANKS: Update.
2007-03-17Avoid an obscure build failure, prefer waitpid over wait.Jim Meyering1-5/+4
* src/install.c (strip): Use waitpid, not wait. It's equivalent, but feels less obsolescent.
2007-03-16* src/copy.c: Include filemode.h.Paul Eggert1-2/+7
(overwrite_prompt): Say "try to overwrite", not "overwrite", to make it clearer that the attempt may fail. Problem reported by Dan Jacobson in: http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html Output symbolic mode as well as numeric. * tests/mv/i-2 (fail): Adjust to new prompt format.
2007-03-10remove trailing blanksJim Meyering1-3/+3
2007-03-09src/fs.h: git-rm a generated but already-ignored fileJim Meyering1-43/+0
2007-03-08* src/c99-to-c89.diff: Reflect the new c99'ism, update offsets.Jim Meyering1-4/+21
2007-03-08rm without -f: give a better diagnostic when euidaccess fails.Jim Meyering1-56/+62
* src/remove.c (write_protected_non_symlink): Return int, not bool, so that we can indicate failure too (as a postive error number). (prompt): If write_protected_non_symlink fails, report that error number and fail rather than charging ahead and removing the dubious entry. Redo the logic of printing a diagnostic so that we need to invoke quote (full_filename (...)) only once. More details at: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996>
2007-03-03Fix a bug: cp -x would fail to set mount point permissions.Andrew Church1-11/+12
* NEWS: mention cp -x bug fix * src/copy.c (copy_internal): Don't return immediately after copying a mount point that we do not intend to recurse under. Based on a patch by Andrew Church.
2007-03-01* bootstrap.conf (gnulib_modules): Replace xreadlink withBruno Haible4-7/+8
xreadlink-with-size. Add xreadlink. * src/copy.c (copy_internal): Update. * src/ls.c (is_directory): Update. * src/stat.c (print_stat): Update. * src/readlink.c (main): Use the one-argument xreadlink function.
2007-02-27Make df -P immune to effects of e.g., the BLOCK_SIZE envvar.Paul Eggert1-4/+13
* NEWS: With -P, the default block size and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE. * src/df.c (main): Implement this. * doc/coreutils.texi (df invocation): With -P, the default block size and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE.
2007-02-24* NEWS: sort no longer compresses temporaries by default.Paul Eggert1-13/+3
* bootstrap.conf: Remove findprog. * doc/coreutils.texi (sort invocation): The default is to not compress. Don't treat "" specially. * src/sort.c: Don't include findprog.h. (create_temp): Compress only if the user specified --compress-program. * tests/misc/sort-compress: Adjusts tests to match new behavior.
2007-02-23* src/date.c (usage): Split a diagnostic that had grown to beJim Meyering1-0/+2
longer than the C89 maximum of 509 bytes.
2007-02-23* src/date.c (usage): Mention that --rfc-3339 uses space, not 'T',Ed Santiago1-1/+4
for a separator. Include sample RFC 2822 and 3339 output.
2007-02-23With -Dlint, make shuf free all heap-allocated storage.Jim Meyering1-4/+13
* src/shuf.c (main): Move declaration of input_lines to function scope, and initialize to NULL, so we can free it. [lint]: Free all malloc'd memory. * tests/misc/shuf: Also test shuf's -e and -i options.
2007-02-22Honor dd's noatime flag if possible, even if not supported on build fsPaul Eggert1-2/+2
* doc/coreutils.texi (dd invocation): Warn that noatime might not be reliable. * src/dd.c (flags, usage): Look at O_NOATIME, not HAVE_WORKING_O_NOATIME, to decide whether to support the noatime flag, so that dd attempts O_NOATIME even if the build file system does not support it. Problem reported by Jim Meyering today in bug-coreutils. * tests/dd/misc: Generate a warning, not a failure, if noatime exists but fails.
2007-02-22Adjust preceding change not to perform an unaligned access.Jim Meyering1-2/+11
* src/copy.c (copy_reg): Undo previous change. Instead, make it clearer that we're using a single-byte sentinel, and [lint]: Initialize uintptr_t-1 bytes after the sentinel. Reported by Andreas Schwab.
2007-02-22Placate valgrind, wrt ./cp --sparse=alwaysJim Meyering1-1/+2
* src/copy.c (copy_reg): Place the sentinel by setting a full word's worth of bits, not just a single byte's worth. This avoids a harmless (but distracting) case of memory being used-uninitialized.
2007-02-21* src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warningPaul Eggert1-1/+1
about out-of-range initializer with Sun C 5.8.
2007-02-20* src/env.c (main): When invoked with no arguments (i.e. when printingJim Meyering1-3/+4
the environment), use a local variable to iterate through the global "environ" array, rather than "environ" itself. This is solely to avoid changing the environment for an LD_PRELOAD-substituted "puts" or "exit" function. Tiny patch by Harvey Eneman. See <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>. * THANKS: Update.
2007-02-19* NEWS: sort now uses a --compress-program option rather thanPaul Eggert1-17/+16
an environment variable. * doc/coreutils.texi (sort invocation): Document this. * src/sort.c (usage): Likewise. (COMPRESS_PROGRAM_OPTION): New const. (long_options, create_temp, main): Support new option. * tests/misc/sort-compress: Test it.
2007-02-18Rely on gnulib-generated stdlib.h, not exit.h.Jim Meyering1-2/+1
* src/system.h: Don't include exit.h, now that it's subsumed by the gnulib-generated stdlib.h. * lib/xfts.c: Include <stdlib.h> rather than exit.h, now that stdlib.h
2007-02-15* bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase.Paul Eggert1-5/+6
* src/dircolors.c: Include c-strcase.h. (dc_parse_stream): Use c_strcasecmp rather than strcasecmp to avoid unreliable results in locales like Turkish where strcasecmp is incompatible with the C locale.
2007-02-10Remove excess leading spaces that would make help2man misbehave.Jim Meyering4-10/+10
* src/printf.c (usage): Remove excess spaces on 2nd line of %b desc. * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc. * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc. * src/date.c (usage): Use two spaces after each optional flag, not one. Reported by Thomas Huriaux in <http://bugs.debian.org/410407>.
2007-02-10* src/csplit.c (usage): Use two spaces (not one) to separateJim Meyering5-11/+11
each option string from its description, so help2man formats the derived man page properly. Reported by Thomas Huriaux in <http://bugs.debian.org/410407>. * src/df.c (usage): Likewise. * src/du.c (usage): Likewise. * src/install.c (usage): Likewise. * src/ls.c (usage): Likewise.
2007-02-03* NEWS: Document fix for cp --preserve=mode.Paul Eggert2-13/+22
* src/copy.c (copy_internal): Omit the group- or other-writeable permissions when creating a directory, to avoid a race condition if the special mode bits aren't right just after the directory is created. * src/cp.c (make_dir_parents_private): Likewise. * tests/cp/parent-perm-race: Test for the "cp --preserve=mode" race fix in copy.c.
2007-02-03* NEWS: Document fix for cp --parents.Paul Eggert1-3/+9
* src/cp.c (make_dir_parents_private): Report the error sooner with "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not creating the directory, DEST/DIR. * tests/cp/cp-parents: Test for the non-race-condition bug fixed by the above change.
2007-02-02* src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0".Jim Meyering1-2/+2
2007-02-02* src/c99-to-c89.diff: Make shred.c Index: and a/b prefixesJim Meyering1-3/+3
consistent, so this can be applied with patch -p0. Reported by Matthew Woehlke. * Makefile.maint (patch-check): Use patch with its -p2 option, since that makes this check slightly more strict.
2007-01-29Plug a leak in ls.Jim Meyering1-0/+2
* src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to determine dev/inode or upon detecting a symlink loop.
2007-01-29* src/ls.c: Rename three global variables.Jim Meyering1-49/+49
(cwd_file): Rename from 'files'. (cwd_n_alloc): Rename from 'nfiles'. (cwd_n_used): Rename from 'files_index'.