summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump version and soname for 5.2.10.v5.2.10Lasse Collin2022-12-132-2/+2
|
* Add NEWS for 5.2.10.Lasse Collin2022-12-131-0/+12
|
* Tests: Fix a typo in tests/files/README.Lasse Collin2022-12-131-1/+1
|
* Update AUTHORS.Lasse Collin2022-12-121-0/+4
|
* xz: Make args_info.files_name a const pointer.Lasse Collin2022-12-122-2/+2
|
* xz: Don't modify argv[].Lasse Collin2022-12-121-4/+19
| | | | | | | | The code that parses --memlimit options and --block-list modified the argv[] when parsing the option string from optarg. This was visible in "ps auxf" and such and could be confusing. I didn't understand it back in the day when I wrote that code. Now a copy is allocated when modifiable strings are needed.
* liblzma: Check for unexpected NULL pointers in block_header_decode().Lasse Collin2022-12-121-0/+4
| | | | | | | | | The API docs gave an impression that such checks are done but they actually weren't done. In practice it made little difference since the calling code has a bug if these are NULL. Thanks to Jia Tan for the original patch that checked for block->filters == NULL.
* liblzma: Use __has_attribute(__symver__) to fix Clang detection.Lasse Collin2022-12-121-1/+14
| | | | | | | | | | If someone sets up Clang to define __GNUC__ to 10 or greater then symvers broke. __has_attribute is supported by such GCC and Clang versions that don't support __symver__ so this should be much better and simpler way to detect if __symver__ is actually supported. Thanks to Tomasz Gajc for the bug report.
* Update THANKS (sync all from master).Lasse Collin2022-12-121-0/+8
|
* Bump version and soname for 5.2.9.v5.2.9Lasse Collin2022-11-302-2/+2
|
* Add NEWS for 5.2.9.Lasse Collin2022-11-301-0/+34
|
* Change the bug report address.Lasse Collin2022-11-305-10/+9
| | | | | | | It forwards to me and Jia Tan. Also update the IRC reference in README as #tukaani was moved to Libera Chat long ago.
* Update to HTTPS URLs in AUTHORS.Lasse Collin2022-11-301-3/+3
|
* liblzma: Remove two FIXME comments.Lasse Collin2022-11-291-2/+2
|
* Build: Don't put GNU/Linux-specific symbol versions into static liblzma.Lasse Collin2022-11-243-49/+111
| | | | | | | | | | | | | | | | | | | It not only makes no sense to put symbol versions into a static library but it can also cause breakage. By default Libtool #defines PIC if building a shared library and doesn't define it for static libraries. This is documented in the Libtool manual. It can be overriden using --with-pic or --without-pic. configure.ac detects if --with-pic or --without-pic is used and then gives an error if neither --disable-shared nor --disable-static was used at the same time. Thus, in normal situations it works to build both shared and static library at the same time on GNU/Linux, only --with-pic or --without-pic requires that only one type of library is built. Thanks to John Paul Adrian Glaubitz from Debian for reporting the problem that occurred on ia64: https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
* CMake: Don't use symbol versioning with static library.Lasse Collin2022-11-241-3/+7
|
* liblzma: Fix another invalid free() after memory allocation failure.Lasse Collin2022-11-241-0/+4
| | | | | | | | | | | | This time it can happen when lzma_stream_encoder_mt() is used to reinitialize an existing multi-threaded Stream encoder and one of 1-4 tiny allocations in lzma_filters_copy() fail. It's very similar to the previous bug 10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with an array of lzma_filter structures whose old options are freed but the replacement never arrives due to a memory allocation failure in lzma_filters_copy().
* liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.Jia Tan2022-11-241-0/+1
| | | | | | | | The documentation mentions that lzma_block_encoder() supports LZMA_SYNC_FLUSH but it was never added to supported_actions[] in the internal structure. Because of this, LZMA_SYNC_FLUSH could not be used with the Block encoder unless it was the next coder after something like stream_encoder() or stream_encoder_mt().
* liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().Lasse Collin2022-11-241-1/+2
|
* liblzma: Fix invalid free() after memory allocation failure.Lasse Collin2022-11-241-8/+31
| | | | | | | | | | | | | | | The bug was in the single-threaded .xz Stream encoder in the code that is used for both re-initialization and for lzma_filters_update(). To trigger it, an application had to either re-initialize an existing encoder instance with lzma_stream_encoder() or use lzma_filters_update(), and then one of the 1-4 tiny allocations in lzma_filters_copy() (called from stream_encoder_update()) must fail. An error was correctly reported but the encoder state was corrupted. This is related to the recent fix in f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but it wasn't enough to fix the main problem in stream_encoder.c.
* liblzma: Fix language in a comment.Lasse Collin2022-11-241-1/+1
|
* liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.Lasse Collin2022-11-241-4/+15
| | | | | | | | | | The encoder doesn't support dictionary sizes larger than 1536 MiB. This is validated, for example, when calculating the memory usage via lzma_raw_encoder_memusage(). It is also enforced by the LZ part of the encoder initialization. However, LZMA encoder with LZMA_MODE_NORMAL did an unsafe calculation with dict_size before such validation and that results in an infinite loop if dict_size was 2 << 30 or greater.
* liblzma: Fix two Doxygen commands in the API headers.Lasse Collin2022-11-242-2/+2
| | | | These were caught by clang -Wdocumentation.
* Bump version and soname for 5.2.8.v5.2.8Lasse Collin2022-11-132-2/+2
|
* Add NEWS for 5.2.8.Lasse Collin2022-11-131-0/+79
|
* Update THANKS.Lasse Collin2022-11-111-0/+1
|
* liblzma: Fix building with Intel ICC (the classic compiler).Lasse Collin2022-11-111-1/+1
| | | | | | It claims __GNUC__ >= 10 but doesn't support __symver__ attribute. Thanks to Stephen Sachs.
* liblzma: Fix incorrect #ifdef for x86 SSE2 support.Lasse Collin2022-11-111-2/+1
| | | | | | | __SSE2__ is the correct macro for SSE2 support with GCC, Clang, and ICC. __SSE2_MATH__ means doing floating point math with SSE2 instead of 387. Often the latter macro is defined if the first one is but it was still a bug.
* Scripts: Ignore warnings from xz.Lasse Collin2022-11-114-7/+8
| | | | | | | In practice this means making the scripts work when the input files have an unsupported check type which isn't a problem in practice unless support for some check types has been disabled at build time.
* xz: Add comments about stdin and src_st.st_size.Lasse Collin2022-11-112-0/+13
| | | | | | | | "xz -v < regular_file > out.xz" doesn't display the percentage and estimated remaining time because it doesn't even try to check the input file size when input is read from stdin. This could be improved but for now there's just a comment to remind about it.
* xz: Fix displaying of file sizes in progress indicator in passthru mode.Lasse Collin2022-11-111-1/+5
| | | | | | | | It worked for one input file since the counters are zero when xz starts but they weren't reset when starting a new file in passthru mode. For example, if files A, B, and C are one byte each, then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes instead of 1, 1, and 1 byte.
* xz: Add a comment why --to-stdout is not in --help.Lasse Collin2022-11-111-0/+3
| | | | It is on the man page still.
* Docs: Update faq.txt a little.Lasse Collin2022-11-111-23/+43
|
* liblzma: Update API docs about decoder flags.Lasse Collin2022-11-111-4/+16
|
* liblzma: Fix a comment in auto_decoder.c.Lasse Collin2022-11-111-2/+2
|
* xz: Avoid a compiler warning in progress_speed() in message.c.Jia Tan2022-11-111-6/+3
| | | | This should be smaller too since it avoids the string constants.
* Build: Clarify comment in configure.ac about SSE2.Lasse Collin2022-11-111-1/+4
|
* Build: Remove obsolete commented-out lines from configure.ac.Lasse Collin2022-11-111-4/+0
|
* Windows: Fix mythread_once() macro with Vista threads.Lasse Collin2022-11-111-3/+4
| | | | | | | | | | Don't call InitOnceComplete() if initialization was already done. So far mythread_once() has been needed only when building with --enable-small. windows/build.bash does this together with --disable-threads so the Vista-specific mythread_once() is never needed by those builds. VS project files or CMake-builds don't support HAVE_SMALL builds at all.
* CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.Lasse Collin2022-11-111-0/+5
| | | | This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
* Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.Lasse Collin2022-11-111-1/+1
| | | | | | | We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS. There is a warning about AC_PROG_CC_C99 being obsolete but it cannot be removed because it is needed with Autoconf 2.69.
* Build: Update m4/ax_pthread.m4 from Autoconf Archive.Lasse Collin2022-11-111-7/+22
|
* xz: Fix --single-stream with an empty .xz Stream.Lasse Collin2022-11-111-0/+9
| | | | | | | | | | | Example: $ xz -dc --single-stream good-0-empty.xz xz: good-0-empty.xz: Internal error (bug) The code, that is tries to catch some input file issues early, didn't anticipate LZMA_STREAM_END which is possible in that code only when --single-stream is used.
* xz: Fix decompressor behavior if input uses an unsupported check type.Lasse Collin2022-11-111-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Now files with unsupported check will make xz display a warning, set the exit status to 2 (unless --no-warn is used), and then decompress the file normally. This is how it was supposed to work since the beginning but this was broken by the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is, a little before 5.0.0 was released. The buggy behavior displayed a message, set exit status 1 (error), and xz didn't attempt to to decompress the file. This doesn't matter today except for special builds that disable CRC64 or SHA-256 at build time (but such builds should be used in special situations only). The bug matters if new check type is added in the future and an old xz version is used to decompress such a file; however, it's likely that such files would use a new filter too and an old xz wouldn't be able to decompress the file anyway. The first hunk in the commit is the actual fix. The second hunk is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz. There is a test file for unsupported check type but it wasn't used by test_files.sh, perhaps due to different behavior between xz and the simpler xzdec.
* xz: Clarify the man page: input file isn't removed if an error occurs.Lasse Collin2022-11-111-2/+3
|
* xz: If input file cannot be removed, treat it as a warning, not error.Lasse Collin2022-11-111-2/+2
| | | | | | | Treating it as a warning (message + exit status 2) matches gzip and it seems more logical as at that point the output file has already been successfully closed. When it's a warning it is possible to suppress it with --no-warn.
* tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.Lasse Collin2022-11-112-0/+14
| | | | | | | | On OpenBSD the number of cores online is often less than what HW_NCPU would return because OpenBSD disables simultaneous multi-threading (SMT) by default. Thanks to Christian Weisgerber.
* NEWS: Omit the extra copy of 5.2.5 NEWS.Lasse Collin2022-11-111-105/+0
| | | | It was a copy-paste error.
* Translations: Rename poa4/fr_FR.po to po4a/fr.po.Lasse Collin2022-11-102-1/+1
| | | | | | | | | That's how it is preferred at the Translation Project. On my system /usr/share/man/fr_FR doesn't contain any other man pages than XZ Utils while /usr/share/man/fr has quite a few, so this will fix that too. Thanks to Benno Schulenberg from the Translation Project.
* Translations: Update Turkish translation.Lasse Collin2022-11-081-1/+1
|