<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/NEWS, branch v8.26</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=v8.26</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=v8.26'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2016-11-30T18:11:57Z</updated>
<entry>
<title>version 8.26</title>
<updated>2016-11-30T18:11:57Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-30T18:11:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=ae40e18baf351193bc4c6744f80c402870720761'/>
<id>urn:sha1:ae40e18baf351193bc4c6744f80c402870720761</id>
<content type='text'>
* NEWS: Record release date.
</content>
</entry>
<entry>
<title>head: fix processing of non-seekable input as seekable</title>
<updated>2016-11-28T18:36:32Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-28T17:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=0655b86a6ebc6f1324810d504a71803aa708d162'/>
<id>urn:sha1:0655b86a6ebc6f1324810d504a71803aa708d162</id>
<content type='text'>
* src/head.c (elide_tail_bytes_file): Ensure we don't use
st_size unless we've previously used seek() to determine
the CURRENT_POS in the seekable file.
This was seen to cause issue on FreeBSD 11 when the pipe
buffer was filled with `yes | head --lines=-0`, in which
case st_size was 64KiB while ST_BLKSIZE() was 4KiB.
Reported by Assaf Gordon.
</content>
</entry>
<entry>
<title>install,mkdir: fix handling of -DZ and -pZ, respectively</title>
<updated>2016-11-28T16:17:31Z</updated>
<author>
<name>Kamil Dudka</name>
<email>kdudka@redhat.com</email>
</author>
<published>2016-11-28T15:21:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=d8104265f229ababd5a68a46eeccbccc07e72cdc'/>
<id>urn:sha1:d8104265f229ababd5a68a46eeccbccc07e72cdc</id>
<content type='text'>
... in the case where two or more directories nested in each other are
created and each of them defaults to a different SELinux context.

* src/install.c (make_ancestor): When calling defaultcon(), give it the
same path that is given to mkdir().  The other path is not always valid
wrt. current working directory.
* src/mkdir.c (make_ancestor): Likewise.
* NEWS: Mention the bug fix.

Reported at https://bugzilla.redhat.com/1398913
</content>
</entry>
<entry>
<title>tac: fix mem corruption when failing to read non seekable inputs</title>
<updated>2016-11-28T13:19:24Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-27T15:09:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=a39641cbb8f37c5a19dd4820c6f6719c82d3e633'/>
<id>urn:sha1:a39641cbb8f37c5a19dd4820c6f6719c82d3e633</id>
<content type='text'>
This was detected with ASAN, but can also be seen without ASAN with:
  $ tac - - &lt;&amp;-
  tac: standard input: read error: Bad file descriptor
  *** Error in `tac': malloc(): memory corruption: 0x...

* src/tac.c (copy_to_temp): Don't close our output stream on
(possibly transient) output error, or on input error.
(temp_stream): clearerr() on the stream about to be reused,
to ensure future stream use is not impacted by transient errors.
* tests/misc/tac-2-nonseekable.sh: Add a test case.
* NEWS: Mention the bug fix.
Fixes http://bugs.gnu.org/25041
</content>
</entry>
<entry>
<title>doc: add NEWS entries for recent changes</title>
<updated>2016-11-27T01:20:09Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-27T01:20:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=5c09e82b4f0227b957ba1a73695abe9b0a3fd78b'/>
<id>urn:sha1:5c09e82b4f0227b957ba1a73695abe9b0a3fd78b</id>
<content type='text'>
* NEWS: Mention in improvements about the workaround for
the glibc issue with closed stdin, and the new supported file systems.
* tests/misc/b2sum.sh: Spelling fix.
</content>
</entry>
<entry>
<title>pr: fix read from invalid memory with tabs in separator</title>
<updated>2016-11-25T14:08:42Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-25T13:46:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=d91aeef0527bf8ec0f83c3c3b69f3979c0b4c4a0'/>
<id>urn:sha1:d91aeef0527bf8ec0f83c3c3b69f3979c0b4c4a0</id>
<content type='text'>
This was detected with:
  echo a &gt; a; pr "-S$(printf "\t\t\t")" a -m a &gt; /dev/null
Resulting in ASAN triggering:
  ====================================================
  ERROR: AddressSanitizer: global-buffer-overflow
  READ of size 1 at 0x00000041b622 thread T0
    #0 0x40506a in print_sep_string ../src/pr.c:2241
    #1 0x407ec4 in read_line ../src/pr.c:2493
    #2 0x40985c in print_page ../src/pr.c:1802
    #3 0x40985c in print_files ../src/pr.c:1618
    #4 0x4036e0 in main ../src/pr.c:1136

* src/pr.c (init_parameters): Ensure we only override the
specified separator when it's a single tab, thus matching
the calculated separator length.
* tests/pr/pr-tests.pl: Add a test case.
* NEWS: Mention the fix.
</content>
</entry>
<entry>
<title>comm: add --total option</title>
<updated>2016-11-22T21:03:47Z</updated>
<author>
<name>Bernhard Voelker</name>
<email>mail@bernhard-voelker.de</email>
</author>
<published>2016-11-22T21:03:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=b50a151346c42816034b5c26266eb753b7dbe737'/>
<id>urn:sha1:b50a151346c42816034b5c26266eb753b7dbe737</id>
<content type='text'>
* src/comm.c (total_option): Add bool variable for the new option.
(TOTAL_OPTION): Add enum value.
(long_options): Add array element for the new option.
(usage): Document the new option here.
(compare_files): Count the lines in total[3], and output the summary at
the end.
(main): Accept the new option.
* doc/coreutils.texi (comm invocation): Document it.
* tests/misc/comm.pl: Test it.  While at it, improve the test data
to have 1 unique line in the first file, 2 unique lines in the second
file, and 3 common lines.
* NEWS (New Features): Mention the new option.

Fixes http://bugs.gnu.org/24929
</content>
</entry>
<entry>
<title>ls: improve alignment of quoted names</title>
<updated>2016-11-22T20:04:25Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-02-19T04:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=01971c0e3ff459b92d6faa2700a36c5bd45a329a'/>
<id>urn:sha1:01971c0e3ff459b92d6faa2700a36c5bd45a329a</id>
<content type='text'>
This provides better alignment when some names are quoted,
which also provides better indication that quotes are not
part of the name.

* src/ls.c (align_variable_outer_quotes): A new variable
set when ls is aligning columns (not using -m, non-zero -w),
and has a variable quoting style (shell, shell-escape, c-maybe).
(quote_name_buf): Writes to buffer rather than FILE,
taking care to avoid data copying if possible.  Refactored from...
(quote_name): ...here.  This now manages the buffer passed
to quote_name_buf() and outputs the padding, colors and name
in the appropriate order, while managing the --dired offsets.
(get_color_indicator): A new function to return the color sequence,
refactored from...
(print_color_indicator): ...here.  This now simply outputs.
(print_dir): Refactor common parts to quote_name().
(clear_files): Reset the flag indicating at least one
file is quoted in the current directory.
(needs_quoting): A new function to indicate at the scan stage
whether a name needs quoting.  Called from...
(gobble_file): ...here, until we find the first quoted file.
(print_name_with_quoting): Mostly refactored to quote_name().
* tests/ls/quote-align.sh: A new test for various output formats.
* tests/local.mk: Reference the new test.
* NEWS: Mention the improvement.
</content>
</entry>
<entry>
<title>b2sum: a new checksum utility with md5sum like interface</title>
<updated>2016-11-22T20:04:24Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-10-31T13:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=ea94589e9ef02624a3837f97f80efd7d3dcf56bf'/>
<id>urn:sha1:ea94589e9ef02624a3837f97f80efd7d3dcf56bf</id>
<content type='text'>
Note we don't support the --algorithm option of the
b2sum command in the external BLAKE2 project, as that
was deemed too confusing for users.
"BLAKE2b" was chosen as the default algorithm to use,
which is single threaded but performs well on 64 bit.

* src/blake2: CC0 source copied from external project.
* cfg.mk[VC_LIST_ALWAYS_EXCLUDE_REGEX]: Exclude blake2/
from syntax checks, make update-copyright, etc.
* src/local.mk: Reference the sources for b2sum,
and set the compilation flags.
* doc/coreutils.texi (b2sum invocation): Reference the
md5sum invocation node, and add descriptions of -l.
* tests/misc/b2sum.sh: Add new test.
* tests/local.mk: Reference new test.
* AUTHORS: Add new binary.
* README: Likewise.
* build-aux/gen-lists-of-programs.sh: Likewise.
* man/.gitignore: Likewise.
* scripts/git-hooks/commit-msg: Likewise.
* man/b2sum.x: New man page template.
* man/local.mk: Reference new template.
* src/.gitignore: Ignore new binaries.
* src/blake2/.gitignore: Ignore new build atrifacts.
* src/md5sum.c (usage): Describe the new -l option.
* NEWS: Mention the new program.
</content>
</entry>
<entry>
<title>tail: only retry file open if --retry specifed</title>
<updated>2016-11-10T12:43:42Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-11-09T19:28:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=4d45722d1160a04e4d26fd812da4e0140ad3550c'/>
<id>urn:sha1:4d45722d1160a04e4d26fd812da4e0140ad3550c</id>
<content type='text'>
* src/tail.c (tail_file): On failure to open a file,
set ignore=true when --retry is not specified.
* tests/tail-2/assert-2.sh: Adjust to the new behavior.
* tests/tail-2/retry.sh: Add a test case.  Also change
from `tail ... &amp;&amp; fail=1` to the more robust `returns_ 1 ...`
construct which detects segfaults etc.
* NEWS: Document the fix.
</content>
</entry>
</feed>
