3
0
forked from pool/coreutils
coreutils/coreutils-acl-nofollow.patch

88 lines
3.6 KiB
Diff
Raw Normal View History

commit 95f7c57ff4090a5dee062044d2c7b99879077808
Author: Kamil Dudka <kdudka@redhat.com>
Date: Fri Jul 22 14:48:42 2011 +0200
file-has-acl: use acl_extended_file_nofollow if available
* lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
(acl_extended_file): New macro.
* lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
* m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
This addresses http://bugzilla.redhat.com/692823.
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
Index: lib/acl-internal.h
===================================================================
- Update to 8.16: - Improvements: * As a GNU extension, 'chmod', 'mkdir', and 'install' now accept operators '-', '+', '=' followed by octal modes; * Also, ordinary numeric modes with five or more digits no longer preserve setuid and setgid bits, so that 'chmod 00755 FOO' now clears FOO's setuid and setgid bits. * dd now accepts the count_bytes, skip_bytes iflags and the seek_bytes oflag, to more easily allow processing portions of a file. * dd now accepts the conv=sparse flag to attempt to create sparse output, by seeking rather than writing to the output file. * ln now accepts the --relative option, to generate a relative symbolic link to a target, irrespective of how the target is specified. * split now accepts an optional "from" argument to --numeric-suffixes, which changes the start number from the default of 0. * split now accepts the --additional-suffix option, to append an additional static suffix to output file names. * basename now supports the -a and -s options, which allow processing of more than one argument at a time. Also the complementary -z option was added to delimit output items with the NUL character. * dirname now supports more than one argument. Also the complementary z option was added to delimit output items with the NUL character. - Bug fixes * du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.15] * mv now lets you move a symlink onto a same-inode destination file that has two or more hard links. * "mv A B" could succeed, yet A would remain. * realpath no longer mishandles a root directory. - Improvements * ls can be much more efficient, especially with large directories on file systems for which getfilecon-, ACL-check- and XATTR- check-induced syscalls fail with ENOTSUP or similar. * 'realpath --relative-base=dir' in isolation now implies '--relative-to=dir' instead of causing a usage failure. * split now supports an unlimited number of split files as default behavior. For a detaild list se NEWS in the documentation. - Add up-to-date german translation. - Add two upstream patches that speed up ls (bnc#752943): * Cache (l)getfilecon calls to avoid the vast majority of the failing underlying getxattr syscalls. * Avoids always-failing queries for whether a file has a nontrivial ACL and for whether a file has certain "capabilities". OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
--- lib/acl-internal.h.orig 2012-03-09 08:31:00.000000000 +0100
+++ lib/acl-internal.h 2012-04-16 13:17:12.470016537 +0200
@@ -142,6 +142,12 @@ rpl_acl_set_fd (int fd, acl_t acl)
# endif
/* Linux-specific */
+# ifndef HAVE_ACL_EXTENDED_FILE_NOFOLLOW
+# define HAVE_ACL_EXTENDED_FILE_NOFOLLOW false
+# define acl_extended_file_nofollow(name) (-1)
+# endif
+
+/* Linux-specific */
# ifndef HAVE_ACL_FROM_MODE
# define HAVE_ACL_FROM_MODE false
# define acl_from_mode(mode) (NULL)
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
Index: lib/file-has-acl.c
===================================================================
- Update to 8.16: - Improvements: * As a GNU extension, 'chmod', 'mkdir', and 'install' now accept operators '-', '+', '=' followed by octal modes; * Also, ordinary numeric modes with five or more digits no longer preserve setuid and setgid bits, so that 'chmod 00755 FOO' now clears FOO's setuid and setgid bits. * dd now accepts the count_bytes, skip_bytes iflags and the seek_bytes oflag, to more easily allow processing portions of a file. * dd now accepts the conv=sparse flag to attempt to create sparse output, by seeking rather than writing to the output file. * ln now accepts the --relative option, to generate a relative symbolic link to a target, irrespective of how the target is specified. * split now accepts an optional "from" argument to --numeric-suffixes, which changes the start number from the default of 0. * split now accepts the --additional-suffix option, to append an additional static suffix to output file names. * basename now supports the -a and -s options, which allow processing of more than one argument at a time. Also the complementary -z option was added to delimit output items with the NUL character. * dirname now supports more than one argument. Also the complementary z option was added to delimit output items with the NUL character. - Bug fixes * du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.15] * mv now lets you move a symlink onto a same-inode destination file that has two or more hard links. * "mv A B" could succeed, yet A would remain. * realpath no longer mishandles a root directory. - Improvements * ls can be much more efficient, especially with large directories on file systems for which getfilecon-, ACL-check- and XATTR- check-induced syscalls fail with ENOTSUP or similar. * 'realpath --relative-base=dir' in isolation now implies '--relative-to=dir' instead of causing a usage failure. * split now supports an unlimited number of split files as default behavior. For a detaild list se NEWS in the documentation. - Add up-to-date german translation. - Add two upstream patches that speed up ls (bnc#752943): * Cache (l)getfilecon calls to avoid the vast majority of the failing underlying getxattr syscalls. * Avoids always-failing queries for whether a file has a nontrivial ACL and for whether a file has certain "capabilities". OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
--- lib/file-has-acl.c.orig 2012-03-09 08:31:00.000000000 +0100
+++ lib/file-has-acl.c 2012-04-16 13:17:12.471016513 +0200
@@ -492,12 +492,20 @@ file_has_acl (char const *name, struct s
/* Linux, FreeBSD, MacOS X, IRIX, Tru64 */
int ret;
- if (HAVE_ACL_EXTENDED_FILE) /* Linux */
+ if (HAVE_ACL_EXTENDED_FILE || HAVE_ACL_EXTENDED_FILE_NOFOLLOW) /* Linux */
{
+# if HAVE_ACL_EXTENDED_FILE_NOFOLLOW
+ /* acl_extended_file_nofollow() uses lgetxattr() in order to prevent
+ unnecessary mounts, but it returns the same result as we already
+ know that NAME is not a symbolic link at this point (modulo the
+ TOCTTOU race condition). */
+ ret = acl_extended_file_nofollow (name);
+# else
/* On Linux, acl_extended_file is an optimized function: It only
makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for
ACL_TYPE_DEFAULT. */
ret = acl_extended_file (name);
+# endif
}
else /* FreeBSD, MacOS X, IRIX, Tru64 */
{
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
Index: m4/acl.m4
===================================================================
- Update to 8.16: - Improvements: * As a GNU extension, 'chmod', 'mkdir', and 'install' now accept operators '-', '+', '=' followed by octal modes; * Also, ordinary numeric modes with five or more digits no longer preserve setuid and setgid bits, so that 'chmod 00755 FOO' now clears FOO's setuid and setgid bits. * dd now accepts the count_bytes, skip_bytes iflags and the seek_bytes oflag, to more easily allow processing portions of a file. * dd now accepts the conv=sparse flag to attempt to create sparse output, by seeking rather than writing to the output file. * ln now accepts the --relative option, to generate a relative symbolic link to a target, irrespective of how the target is specified. * split now accepts an optional "from" argument to --numeric-suffixes, which changes the start number from the default of 0. * split now accepts the --additional-suffix option, to append an additional static suffix to output file names. * basename now supports the -a and -s options, which allow processing of more than one argument at a time. Also the complementary -z option was added to delimit output items with the NUL character. * dirname now supports more than one argument. Also the complementary z option was added to delimit output items with the NUL character. - Bug fixes * du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.15] * mv now lets you move a symlink onto a same-inode destination file that has two or more hard links. * "mv A B" could succeed, yet A would remain. * realpath no longer mishandles a root directory. - Improvements * ls can be much more efficient, especially with large directories on file systems for which getfilecon-, ACL-check- and XATTR- check-induced syscalls fail with ENOTSUP or similar. * 'realpath --relative-base=dir' in isolation now implies '--relative-to=dir' instead of causing a usage failure. * split now supports an unlimited number of split files as default behavior. For a detaild list se NEWS in the documentation. - Add up-to-date german translation. - Add two upstream patches that speed up ls (bnc#752943): * Cache (l)getfilecon calls to avoid the vast majority of the failing underlying getxattr syscalls. * Avoids always-failing queries for whether a file has a nontrivial ACL and for whether a file has certain "capabilities". OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
--- m4/acl.m4.orig 2012-01-06 10:14:31.000000000 +0100
+++ m4/acl.m4 2012-04-16 13:17:12.471016513 +0200
@@ -33,7 +33,7 @@ AC_DEFUN([gl_FUNC_ACL],
AC_CHECK_FUNCS(
[acl_get_file acl_get_fd acl_set_file acl_set_fd \
acl_free acl_from_mode acl_from_text \
- acl_delete_def_file acl_extended_file \
+ acl_delete_def_file acl_extended_file acl_extended_file_nofollow \
acl_delete_fd_np acl_delete_file_np \
acl_copy_ext_native acl_create_entry_np \
acl_to_short_text acl_free_text])
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
Index: ChangeLog
===================================================================
- Update to 8.16: - Improvements: * As a GNU extension, 'chmod', 'mkdir', and 'install' now accept operators '-', '+', '=' followed by octal modes; * Also, ordinary numeric modes with five or more digits no longer preserve setuid and setgid bits, so that 'chmod 00755 FOO' now clears FOO's setuid and setgid bits. * dd now accepts the count_bytes, skip_bytes iflags and the seek_bytes oflag, to more easily allow processing portions of a file. * dd now accepts the conv=sparse flag to attempt to create sparse output, by seeking rather than writing to the output file. * ln now accepts the --relative option, to generate a relative symbolic link to a target, irrespective of how the target is specified. * split now accepts an optional "from" argument to --numeric-suffixes, which changes the start number from the default of 0. * split now accepts the --additional-suffix option, to append an additional static suffix to output file names. * basename now supports the -a and -s options, which allow processing of more than one argument at a time. Also the complementary -z option was added to delimit output items with the NUL character. * dirname now supports more than one argument. Also the complementary z option was added to delimit output items with the NUL character. - Bug fixes * du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.15] * mv now lets you move a symlink onto a same-inode destination file that has two or more hard links. * "mv A B" could succeed, yet A would remain. * realpath no longer mishandles a root directory. - Improvements * ls can be much more efficient, especially with large directories on file systems for which getfilecon-, ACL-check- and XATTR- check-induced syscalls fail with ENOTSUP or similar. * 'realpath --relative-base=dir' in isolation now implies '--relative-to=dir' instead of causing a usage failure. * split now supports an unlimited number of split files as default behavior. For a detaild list se NEWS in the documentation. - Add up-to-date german translation. - Add two upstream patches that speed up ls (bnc#752943): * Cache (l)getfilecon calls to avoid the vast majority of the failing underlying getxattr syscalls. * Avoids always-failing queries for whether a file has a nontrivial ACL and for whether a file has certain "capabilities". OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=147
2012-04-16 17:12:46 +02:00
--- ChangeLog.orig 2012-03-26 14:15:03.000000000 +0200
+++ ChangeLog 2012-04-16 13:17:12.474016441 +0200
@@ -2815,6 +2815,14 @@
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
MacOS X 10.7 has an fdatasync that is not declared, and is rumored to
be ineffective. (Bug#9141)
+2011-07-22 Kamil Dudka <kdudka@redhat.com>
+
+ file-has-acl: use acl_extended_file_nofollow if available
+ * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
+ (acl_extended_file): New macro.
+ * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
+ * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
+
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
2011-07-20 Mike Frysinger <vapier@gentoo.org>
- Update to 8.14. Changes since 8.12: Bug fixes: - ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] - ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] - sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] - chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] - cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] - cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] - fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] - pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] - printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] - split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] - timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] - unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] New features: - date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" - md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. - timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. Improvements: - md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. - pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. - join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". - shuf outputs small subsets of large permutations much more efficiently. For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory. - stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. - timeout now supports sub-second timeouts. Changes in behavior: - chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. - cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=128
2011-10-14 12:07:06 +02:00
dircolors: add screen.Eterm terminal type