summaryrefslogtreecommitdiff
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* zless: improve gzip failure checkingPaul Eggert2023-02-031-0/+2
| | | | * zless.in: Use --show-preproc-error if available.
* gzip: fix exit status on broken pipePaul Eggert2023-02-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | Fix gzip to behave like cat etc. when outputting to a broken pipe: i.e., exit with nonzero status if SIGPIPE is ignored, and be terminated by SIGPIPE otherwise. * NEWS: Mention this. * gzip.c: Do not install signal handlers unless creating an output file, for which signal handlers are needed. This avoids gzip having to deal with signal handlers when outputting to stdout. (exiting_signal): Remove. All uses removed. (main): Do not install signal handlers at first. (create_outfile): Instead, install them only when needed. (finish_up_gzip): New function, which generalizes abort_gzip. (abort_gzip): Use it. * tests/pipe-output: New test. * tests/Makefile.am (TESTS): Add it. * util.c (EPIPE): Default to 0. (write_error): Just warn if it is a pipe error, and suppress that warning if quiet. In any event exit with status 2 (warning), not status 1 (error). * zgrep.in: Treat gzip status 141 like status 2; it is a broken pipe either way.
* maint: update copyright datesJim Meyering2023-01-011-1/+1
|
* gzip: port alignas usage to C23Paul Eggert2022-12-251-1/+1
| | | | | * gzip.c (BUFFER_ALIGNED): Do not depend on __alignas_is_defined as that has been removed from C23.
* maint: port function definitions to C23Paul Eggert2022-12-251-0/+3
| | | | | | | C23 does not allow K&R style function definitions. Use protyped definitions. However, don't bother with (void) in function definitions since C23 prefers (); so prefer () to (void) as this will work with older compilers anyway.
* gzip: test invalid-input bugPaul Eggert2022-06-281-0/+6
| | | | | * NEWS: Mention the bug. * tests/unpack-invalid: Test for the bug.
* maint: reference CVE-2022-1271 in 1.12's NEWSJim Meyering2022-04-071-0/+1
| | | | | * NEWS: Reference newly-assigned CVE number. * cfg.mk (old_NEWS_hash)
* maint: post-release administriviaJim Meyering2022-04-071-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.12v1.12Jim Meyering2022-04-071-1/+1
| | | | * NEWS: Record release date.
* zgrep: fix "binary file matches" mislabelingPaul Eggert2022-04-071-0/+3
| | | | | | | | | | | | | | | | | | Problem reported by Jim Avera (Bug#31280). This became more of an issue when GNU grep 3.5 (2020) started sending "binary file matches" diagnostics to stderr instead of to stdout. * tests/Makefile.am (TESTS): Add zgrep-binary. * tests/zgrep-binary: New test. * zgrep.in (args): New var, to accumulate args separately from grep command, so we can prepend args if need be. Most uses of 'grep' changed to use 'args' instead, or also. (with_filename): Set to 1 if more than one file and -h not given; this simplifies later code. (gnuish_grep): New var; evaluates to true if grep supports -H and --label options, as is true for GNU and FreeBSD grep. Append -H to 'grep' if outputting file names with GNUish grep, and use --label with GNUish grep unless reading from stdin, as that’s safer and more efficient than relabeling with 'sed'.
* gzip: mention when fixed bugs were introducedPaul Eggert2022-04-071-0/+2
|
* zgrep: add NEWS and tests for this exploitable bugJim Meyering2022-04-071-0/+3
| | | | | | | * tests/zgrep-abuse: New file, based on PoC by cleemy desu wayo. * tests/Makefile.am (TESTS): Add it. * NEWS: Mention the exploit. The bug appears to have been present since the beginning.
* build: support --program-prefix etc.Paul Eggert2022-04-041-0/+2
| | | | | | | | | | | | | | | | Problem reported by Antonio Diaz Diaz via Dagobert Michelsen in: https://bugs.gnu.org/16876 * Makefile.am (.in): Substitute for 'gzip', 'zdiff', 'zgrep'. ($(GZIP_TRANSFORMED), $(ZDIFF_TRANSFORMED), $(ZGREP_TRANSFORMED)): New rules to build forwarding shell scripts, if needed. Add these files to BUILT_SOURCES and MOSTLY_CLEANFILES if needed. * configure.ac (GZIP_TRANSFORMED, ZDIFF_TRANSFORMED, ZGREP_TRANSFORMED): New substituted vars. (GZIP_IS_TRANSFORMED, ZDIFF_IS_TRANSFORMED, ZGREP_IS_TRANSFORMED): New Automake conditions. * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Quote possibly-transformed subcommand names.
* zless: install only on platforms with 'less'Paul Eggert2022-03-311-0/+2
| | | | | | | | | Problem reported by Michael Felt (Bug#30029). * Makefile.am (ZLESS_MAN, ZLESS_PROG): New macros. (man_MANS, bin_SCRIPTS): Use them. * configure.ac: Check for 'less'. * tests/Makefile.am (ZLESS_PROG): New macro. (built_programs): Use it.
* zdiff: fix arg handling bugPaul Eggert2022-03-071-0/+4
| | | | | Problem reported by Lv Ying (Bug#54291). * zdiff.in (escape): Handle args like '-C 5'.
* maint: make update-copyrightJim Meyering2022-01-031-1/+1
|
* doc: document gzip -l changePaul Eggert2021-12-151-0/+10
| | | | | * NEWS, doc/gzip.texi (Invoking gzip), gzip.1 (gunzip): Document recent change.
* maint: post-release administriviaJim Meyering2021-09-031-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.11v1.11Jim Meyering2021-09-031-1/+1
| | | | * NEWS: Record release date.
* maint: update all copyright year number rangesJim Meyering2021-01-011-1/+1
| | | | | | | Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise.
* maint: update all copyright year number rangesJim Meyering2020-01-011-1/+1
| | | | | | | Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise.
* Improve IBM Z patchPaul Eggert2019-04-021-0/+4
| | | | | | | | | | | | | | | Most of this is minor changes to use GNU style and C99 constructs. * NEWS: Mention IBM Z. * bootstrap.conf (gnulib_modules): Add stdalign. * dfltcc.c: Include stdalign.h, stdbool.h. (union aligned_dfltcc_qaf_param, union aligned_dfltcc_param_v0): New types, used for C11-style alignment. All uses changed. (init_param): * gzip.c (BUFFER_ALIGNED): New macro. (inbuf, outbuf, window): Use it, so buffers are aligned everywhere. * gzip.h (INBUFSIZ, OUTBUFSIZE): Use big buffers everywhere, unless SMALL_MEM. * zip.c (SLOW, FAST): Now enums since they need not be macros:
* maint: update all copyright dates via "make update-copyright"Jim Meyering2019-01-011-1/+1
| | | | * gnulib: Also update submodule for its copyright updates.
* maint: post-release administriviaJim Meyering2018-12-291-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.10v1.10Jim Meyering2018-12-291-1/+1
| | | | * NEWS: Record release date.
* gzip: fix use of uninitialized memoryPaul Eggert2018-11-301-0/+3
| | | | | | | | Problem reported by Hanno Böck (Bug#33501). * NEWS: Mention this. * inflate.c (inflate_dynamic): Return if code is invalid. Fix by Mark Adler. * tests/hufts: Add test case for the bug.
* Fix some theoretical races in signal handlingPaul Eggert2018-08-061-0/+6
| | | | | | | | | | | | | | | | | | | Problem reported by Johannes Przybilla (Bug#32375). * NEWS: Mention this. * bootstrap.conf (gnulib_modules): Add sigaction. * gzip.c (SA_NOCLDSTOP, sigprocmask, sigset_t) (siginterrupt) [!SA_NOCLDSTOP]: Remove; Gnulib not supplies these. (remove_ofname): New var. (volatile_strcpy): New function. (create_outfile): Use it. (install_signal_handlers, abort_gzip_signal): Assume sigaction. (remove_output_file): New arg SIGNALS_ALREADY_BLOCKED. All uses changed. Avoid unnecessary (and racy) call to sigprocmask if this new arg is set. (abort_gzip_signal): Assume C89 or better for signal handler type. * gzip.h (RETSIGTYPE): Remove. * lib/.gitignore, m4/.gitignore: Add files brought in by Gnulib sigaction module. Sort.
* gzip: make the output more reproduciblePaul Eggert2018-08-021-0/+9
| | | | | | | | | | | Problem reported by Bernhard M. Wiedemann (Bug#32342). * NEWS: Mention this. * doc/gzip.texi (Overview, Invoking gzip): Document this. * gzip.c (get_input_size_and_time): New function, which implements the change. (treat_stdin, treat_file): Use it. * tests/reproducible: New test. * tests/Makefile.am (TESTS): Add it.
* maint: post-release administriviaJim Meyering2018-01-071-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.9v1.9Jim Meyering2018-01-071-1/+1
| | | | * NEWS: Record release date.
* maint: update gnulib and copyright dates for 2018Jim Meyering2018-01-031-1/+1
| | | | | | * gnulib: Update to latest. * bootstrap: Update from gnulib. * all files: Run "make update-copyright".
* maint: script diagnostics status cleanupPaul Eggert2017-11-121-0/+5
| | | | | | | | | | | | Problem reported by Bruno Haible (Bug#29266#20). * NEWS: Mention this. * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in: * zgrep.in, zless.in, zmore.in, znew.in: Use printf instead of echo if the argument might contain ‘\’, at least in theory. Don’t assume printf exits with status 1 on failure; it might be some other positive status. * gzexe.in: Use printf consistently instead of echo, and proscribe it instead of echo.
* gzip: diagnose out-of-range MTIMEPaul Eggert2017-11-071-4/+8
| | | | | | | | | | This seems to be the problem reported by Bruno Haible for GNU/Hurd i386 with touch 8.26 and glibc 2.24 (Bug#29033#20). * NEWS: Document this. * gzip.c (get_method): If MTIME is out of range for this platform, warn and substitute the nearest in-range value, instead of silently ignoring it. (do_list): Remove no-longer-needed test for unknown time stamp.
* gzip: fix bug with any upper case custom ('-S'-specified) suffixJim Meyering2017-10-291-0/+6
| | | | | | | | | | | | Any user-specified suffix with an upper case letter would fail to match desired file. * gzip.c (get_suffix): First, arrange to have only one return point rather than two. Put a lower-cased (just-malloc'd) copy of z_suffix in the suffix vector, and free it before returning. * tests/upper-suffix: New file. * tests/Makefile.am (TESTS): Add it. * NEWS: Mention it. Reported by meo@xenialab.it in https://bugs.gnu.org/29006
* gzip: fix bug in unpack EOB checkPaul Eggert2017-10-161-0/+3
| | | | | | | | | | | Problem reported by Vidar Holen (Bug#28861). * NEWS: Mention fix. * tests/unpack-valid: New test. * tests/Makefile.am (TESTS): Add it. * unpack.c (build_tree): Report an error if Huffman tree has too few leaves. * unpack.c (unpack): Fix check for EOB. Remove now-unnecessary check for code out of range.
* maint: prefer HTTPS to HTTP, FTP in URLsPaul Eggert2017-09-191-1/+1
|
* maint: change "time stamp" to "timestamp" globallyJim Meyering2017-02-061-8/+8
| | | | | | | | | | | | | | | | | | | This avoids a new syntax-check failure. * ChangeLog-2007: Perform that change. * NEWS: Likewise. * algorithm.doc: Likewise. * doc/gzip.texi: Likewise. * gunzip.in: Likewise. * gzip.1: Likewise. * gzip.c: Likewise. * gzip.h: Likewise. * m4/.gitignore: Likewise. * sample/ztouch: Likewise. * tests/timestamp: Likewise. * unzip.c: Likewise. * zip.c: Likewise. * znew.1: Likewise. * cfg.mk: Update the old news hash accordingly.
* maint: update gnulib and copyright dates for 2017Jim Meyering2017-01-011-1/+1
| | | | | * gnulib: Update to latest. * all files: Run "make update-copyright".
* gzip: minor time stamp cleanupsPaul Eggert2016-11-041-5/+6
| | | | | | | | | | * NEWS: Document this. * gzip.c (get_method): Do not warn about MTIME out of range. This should avoid useless chatter on hosts with 32-bit time_t after the year 2038 (!). (do_list): Do not pass junk time stamp to localtime. (copy_stat): Do not report "time stamp restored" if restoration fails.
* gzip: fix some Y2038 etc. bugsPaul Eggert2016-09-061-0/+6
| | | | | | | | | * NEWS: Document this. * gzip.c (get_method): Warn about out-of-range MTIME, and ignore it instead of relying on possibly-undefined behavior. * tests/Makefile.am (TESTS): Add timestamp. * tests/timestamp: New test. * zip.c (zip): Warn about out-of-range file time stamp.
* gzip: drop mentions of Amiga, VMSPaul Eggert2016-06-121-0/+5
| | | | | | | | | | | | | | | | These platforms were not supported anyway, and their code was suffering from bitrot. This patch may also fix some file name glitches on MS-Windowsish platforms. * bootstrap.conf (gnulib_modules): Add dosname. * gzip.c: Include dosname.h. (shorten_name, treat_dir): Use last_component rather than looking at path separators by hand. * tailor.h: Remove sections on porting to VMS and to Amiga, since dosname.h doesn't support these platforms anyway. (PATH_SEP2, PATH_SEP3, STDC_HEADERS, SUFFIX_SEP, RECORD_IO) (HAVE_CHOWN, HAVE_LSTAT, HAVE_SYS_DIR_H, direct): Remove. All uses removed. Many uses replaced by calls to ISSLASH and/or last_component.
* maint: post-release administriviaJim Meyering2016-04-261-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.8v1.8Jim Meyering2016-04-261-1/+1
| | | | * NEWS: Record release date.
* gzip: fix bug with -l output to pipesPaul Eggert2016-04-191-0/+3
| | | | | | | | | | | Problem reported by Christian Franke via Eric Blake in: http://bugs.gnu.org/23314 * NEWS: Mention this. * gzip.c (main): Do not close stdout twice when given -l. Instead, -l now just fflushes stdout, so that fdatasync can synchronize it if --synchronize is also specified. * tests/list: New test case. * tests/Makefile.am (TESTS): Add it.
* Port to Oracle Solaris Studio 12.4Paul Eggert2016-03-281-0/+8
| | | | | | | | Problem reported by Kiyoshi KANAZAWA in: http://bugs.gnu.org/23133 * NEWS: Document this. * configure.ac (ASMV): Do not define if NO_ASM is anywhere in DEFS; it doesn't need to be surrounded by white space. * lib/match.c: Do not use x86 version if __x86_64__ is defined.
* maint: post-release administriviaJim Meyering2016-03-271-0/+3
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* version 1.7v1.7Jim Meyering2016-03-271-1/+1
| | | | * NEWS: Record release date.
* zgrep: with -f SPECIAL, read SPECIAL just oncePaul Eggert2016-03-181-0/+4
| | | | | | | | | Problem reported by Fulvio Scapin in: http://bugs.gnu.org/22945 * NEWS: Document this. * tests/zgrep-f: Add a test. Adjust a test to cover the case of more than one line in -f's input. * zgrep.in (with_filename): With -f FILE, if FILE is stdin or not a regular file, copy it into a temporary and use the temporary.
* gzip: remove --__bindirPaul Eggert2016-03-061-0/+6
| | | | | | | | | | | | | | | | | | | * NEWS: Document this. * gzexe.in, gunzip.in, zcat.in, zcmp.in, zdiff.in, zegrep.in: * zfgrep.in, zforce.in, zgrep.in, zless.in, zmore.in, znew.in: Remove support for undocumented --__bindir option. Callers can set PATH instead; that's less error-prone. This fixes some 'make check' failures on my Solaris 11 box, which occurred because the test scripts were mistakenly testing the installed gzip rather than the gzip in the working directory. * Makefile.am (.in): Don't replace bindir. (check-local): Set PATH instead of using --__bindir. * tests/help-version (gunzip_setuphelp, gzexe_setuphelp) (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp) (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp) (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp) (znew_setuphelp): Remove. All uses removed. (lbracket_setup): Default args to empty.
* gzip: support the --rsyncable optionRusty Russell2016-03-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * deflate.c: Include verify.h. (RSYNC_WIN, RSYNC_SUM_MATCH): Define. (rsync_sum, rsync_chunk_end): Declare file-scoped globals. (lm_init): Initialize globals. (fill_window): Update rsync_chunk_end. (rsync_roll): New function. (RSYNC_ROLL): New macro. (FLUSH_BLOCK): Update for new "pad" parameter. (deflate_fast): Use RSYNC_ROLL and flush/pad. (deflate): Likewise. * trees.c (flush_block): Add "pad" parameter. * gzip.c (rsync): New global. (RSYNCABLE_OPTION, longopts, help): Add the option. (main): Set the new global. * gzip.h (rsync): Declare new global. (flush_block): Update prototype. * doc/gzip.texi: Document it. * gzip.1: Likewise. * bootstrap.conf: Use verify module. * NEWS (New feature): Mention it. * Makefile.am (check-local): Add tests and use AM_V__* command- hiding opions. Reported against Debian here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=118118