1commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9 2Author: Jia Tan <jiat0218@gmail.com> 3Date: 2023-10-31 22:30:29 +0800 4 5 Bump version and soname for 5.4.5. 6 7 src/liblzma/Makefile.am | 2 +- 8 src/liblzma/api/lzma/version.h | 2 +- 9 2 files changed, 2 insertions(+), 2 deletions(-) 10 11commit 84c0cfc556287628df871703672879e530d0391f 12Author: Jia Tan <jiat0218@gmail.com> 13Date: 2023-11-01 20:18:30 +0800 14 15 Add NEWS for 5.4.5. 16 17 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18 1 file changed, 74 insertions(+) 19 20commit d90ed84db9770712e2421e170076b43bda9b64a7 21Author: Lasse Collin <lasse.collin@tukaani.org> 22Date: 2023-10-31 21:41:09 +0200 23 24 liblzma: Fix compilation of fastpos_tablegen.c. 25 26 The macro lzma_attr_visibility_hidden has to be defined to make 27 fastpos.h usable. The visibility attribute is irrelevant to 28 fastpos_tablegen.c so simply #define the macro to an empty value. 29 30 fastpos_tablegen.c is never built by the included build systems 31 and so the problem wasn't noticed earlier. It's just a standalone 32 program for generating fastpos_table.c. 33 34 Fixes: https://github.com/tukaani-project/xz/pull/69 35 Thanks to GitHub user Jamaika1. 36 37 src/liblzma/lzma/fastpos_tablegen.c | 2 ++ 38 1 file changed, 2 insertions(+) 39 40commit 9b1268538b0b2c6c0a121f95165de65fc71ad23c 41Author: Jia Tan <jiat0218@gmail.com> 42Date: 2023-10-31 21:51:40 +0800 43 44 Build: Fix text wrapping in an output message. 45 46 configure.ac | 9 +++++---- 47 1 file changed, 5 insertions(+), 4 deletions(-) 48 49commit 068ee436f4a8a706125ef43e8228b30001b1554e 50Author: Lasse Collin <lasse.collin@tukaani.org> 51Date: 2023-10-22 17:59:11 +0300 52 53 liblzma: Use lzma_always_inline in memcmplen.h. 54 55 src/liblzma/common/memcmplen.h | 3 +-- 56 1 file changed, 1 insertion(+), 2 deletions(-) 57 58commit 6cdf0a7b7974baf58c1fd20ec3278f3b84ae56e5 59Author: Lasse Collin <lasse.collin@tukaani.org> 60Date: 2023-10-30 17:43:03 +0200 61 62 liblzma: #define lzma_always_inline in common.h. 63 64 src/liblzma/common/common.h | 17 +++++++++++++++++ 65 1 file changed, 17 insertions(+) 66 67commit 33daad3961a4f07f3902b40f13e823e6e43e85da 68Author: Lasse Collin <lasse.collin@tukaani.org> 69Date: 2023-10-22 17:15:32 +0300 70 71 liblzma: Use lzma_attr_visibility_hidden on private extern declarations. 72 73 These variables are internal to liblzma and not exposed in the API. 74 75 src/liblzma/check/check.h | 7 +++++++ 76 src/liblzma/common/stream_flags_common.h | 3 +++ 77 src/liblzma/lz/lz_encoder_hash.h | 1 + 78 src/liblzma/lzma/fastpos.h | 1 + 79 src/liblzma/rangecoder/price.h | 1 + 80 5 files changed, 13 insertions(+) 81 82commit 6961a5ac7df178bfc2b7a181c40575847bc3035f 83Author: Lasse Collin <lasse.collin@tukaani.org> 84Date: 2023-10-22 17:08:39 +0300 85 86 liblzma: #define lzma_attr_visibility_hidden in common.h. 87 88 In ELF shared libs: 89 90 -fvisibility=hidden affects definitions of symbols but not 91 declarations.[*] This doesn't affect direct calls to functions 92 inside liblzma as a linker can replace a call to lzma_foo@plt 93 with a call directly to lzma_foo when -fvisibility=hidden is used. 94 95 [*] It has to be like this because otherwise every installed 96 header file would need to explictly set the symbol visibility 97 to default. 98 99 When accessing extern variables that aren't defined in the 100 same translation unit, compiler assumes that the variable has 101 the default visibility and thus indirection is needed. Unlike 102 function calls, linker cannot optimize this. 103 104 Using __attribute__((__visibility__("hidden"))) with the extern 105 variable declarations tells the compiler that indirection isn't 106 needed because the definition is in the same shared library. 107 108 About 15+ years ago, someone told me that it would be good if 109 the CRC tables would be defined in the same translation unit 110 as the C code of the CRC functions. While I understood that it 111 could help a tiny amount, I didn't want to change the code because 112 a separate translation unit for the CRC tables was needed for the 113 x86 assembly code anyway. But when visibility attributes are 114 supported, simply marking the extern declaration with the 115 hidden attribute will get identical result. When there are only 116 a few affected variables, this is trivial to do. I wish I had 117 understood this back then already. 118 119 src/liblzma/common/common.h | 11 +++++++++++ 120 1 file changed, 11 insertions(+) 121 122commit 5b9e16764905d06fa8e8339ba185ddfee304e5fb 123Author: Lasse Collin <lasse.collin@tukaani.org> 124Date: 2023-09-30 22:54:28 +0300 125 126 liblzma: Refer to MinGW-w64 instead of MinGW in the API headers. 127 128 MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project 129 at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the 130 most recent GCC package (released 2021-02-02). The project might 131 still be alive but majority of people have switched to MinGW-w64. 132 Thus it seems clearer to refer to MinGW-w64 in our API headers too. 133 Building with MinGW is likely to still work but I haven't tested it 134 in the recent years. 135 136 src/liblzma/api/lzma.h | 4 ++-- 137 src/liblzma/api/lzma/version.h | 2 +- 138 2 files changed, 3 insertions(+), 3 deletions(-) 139 140commit 36fabdbe67c8a8fbdc3ac695a91fc443a1328cc4 141Author: Lasse Collin <lasse.collin@tukaani.org> 142Date: 2023-09-27 00:58:17 +0300 143 144 CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed. 145 146 A CMake option LARGE_FILE_SUPPORT is created if and only if 147 -D_FILE_OFFSET_BITS=64 affects sizeof(off_t). 148 149 This is needed on many 32-bit platforms and even with 64-bit builds 150 with MinGW-w64 to get support for files larger than 2 GiB. 151 152 CMakeLists.txt | 7 ++++- 153 cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++ 154 2 files changed, 58 insertions(+), 1 deletion(-) 155 156commit 989c8c354cbd2d20fbae4a432a3e31f5bc1cb9bf 157Author: Lasse Collin <lasse.collin@tukaani.org> 158Date: 2023-09-30 02:14:25 +0300 159 160 CMake: Generate and install liblzma.pc if not using MSVC. 161 162 Autotools based build uses -pthread and thus adds it to Libs.private 163 in liblzma.pc. CMake doesn't use -pthread at all if pthread functions 164 are available in libc so Libs.private doesn't get -pthread either. 165 166 CMakeLists.txt | 21 +++++++++++++++++++++ 167 1 file changed, 21 insertions(+) 168 169commit 983f3b458dc79c5976a4237fdfe4f8079f8d8830 170Author: Lasse Collin <lasse.collin@tukaani.org> 171Date: 2023-09-30 01:13:13 +0300 172 173 CMake: Rearrange the PACKAGE_ variables. 174 175 The windres workaround now replaces spaces with \x20 so 176 the package name isn't repeated. 177 178 These changes will help with creation of liblzma.pc. 179 180 CMakeLists.txt | 26 +++++++++++++++----------- 181 1 file changed, 15 insertions(+), 11 deletions(-) 182 183commit 4083c8e9501a48934a5fb563d2c3ce2ae143cd27 184Author: Lasse Collin <lasse.collin@tukaani.org> 185Date: 2023-09-29 20:46:11 +0300 186 187 liblzma: Add Cflags.private to liblzma.pc.in for MSYS2. 188 189 It properly adds -DLZMA_API_STATIC when compiling code that 190 will be linked against static liblzma. Having it there on 191 systems other than Windows does no harm. 192 193 See: https://www.msys2.org/docs/pkgconfig/ 194 195 src/liblzma/liblzma.pc.in | 1 + 196 1 file changed, 1 insertion(+) 197 198commit 661549ecb7a9b136d72a01c137d9776c75d52d51 199Author: Lasse Collin <lasse.collin@tukaani.org> 200Date: 2023-09-27 22:46:20 +0300 201 202 CMake: Create liblzma.def when building liblzma.dll with MinGW-w64. 203 204 CMakeLists.txt | 20 ++++++++++++++++++++ 205 cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++ 206 2 files changed, 46 insertions(+) 207 208commit 0e546eb4da05c52b7d257e5bd85e15c51c4d86a3 209Author: Lasse Collin <lasse.collin@tukaani.org> 210Date: 2023-10-26 21:44:42 +0300 211 212 CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR. 213 214 In this case they have identical values. 215 216 CMakeLists.txt | 2 +- 217 1 file changed, 1 insertion(+), 1 deletion(-) 218 219commit da4d04e4d6e199d28b58bd2e0df4e120c52dd5d7 220Author: Lasse Collin <lasse.collin@tukaani.org> 221Date: 2023-10-01 19:10:57 +0300 222 223 CMake/Windows: Fix the import library filename. 224 225 Both PREFIX and IMPORT_PERFIX have to be set to "" to get 226 liblzma.dll and liblzma.dll.a. 227 228 CMakeLists.txt | 1 + 229 1 file changed, 1 insertion(+) 230 231commit 007558a358c48a0175cc8d47d11798d7967282ab 232Author: Lasse Collin <lasse.collin@tukaani.org> 233Date: 2023-10-11 19:47:44 +0300 234 235 CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable. 236 237 Using set(ENABLE_THREADS "posix") is confusing because it sets 238 a new normal variable and leaves the cache entry with the same 239 name unchanged. The intent wasn't to change the cache entry so 240 this switches to a different variable name. 241 242 CMakeLists.txt | 10 +++++++--- 243 1 file changed, 7 insertions(+), 3 deletions(-) 244 245commit 7d01de67ee3dd76cfc12c23220e2e4cdc59708f1 246Author: Lasse Collin <lasse.collin@tukaani.org> 247Date: 2023-10-09 21:12:31 +0300 248 249 CMake: Edit threading related messages. 250 251 It's mostly to change from "thread method" to "threading method". 252 253 CMakeLists.txt | 19 ++++++++++--------- 254 1 file changed, 10 insertions(+), 9 deletions(-) 255 256commit f8edcf3da689aad4b21e139197725450f2c456a0 257Author: Lasse Collin <lasse.collin@tukaani.org> 258Date: 2023-10-09 20:59:24 +0300 259 260 CMake: Use FATAL_ERROR if user-supplied options aren't understood. 261 262 This way typos are caught quickly and compounding error messages 263 are avoided (a single typo could cause more than one error). 264 265 This keeps using SEND_ERROR when the system is lacking a feature 266 (like threading library or sandboxing method). This way the whole 267 configuration log will be generated in case someone wishes to 268 report a problem upstream. 269 270 CMakeLists.txt | 28 ++++++++++++++-------------- 271 1 file changed, 14 insertions(+), 14 deletions(-) 272 273commit 1695021e4a233a9388ddd428654c1447f0ea3bfb 274Author: Jia Tan <jiat0218@gmail.com> 275Date: 2023-10-19 16:09:01 +0800 276 277 CMake: Add ALLOW_CLMUL_CRC option to enable/disable CLMUL. 278 279 The option is enabled by default, but will only be visible to a user 280 listing cache variables or using a CMake GUI application if the 281 immintrin.h header file is found. 282 283 This mirrors our Autotools build --disable-clmul-crc functionality. 284 285 CMakeLists.txt | 40 +++++++++++++++++++++++----------------- 286 1 file changed, 23 insertions(+), 17 deletions(-) 287 288commit 5056bc51071d1a07097c5667a0d5bd85242e31b9 289Author: Lasse Collin <lasse.collin@tukaani.org> 290Date: 2023-10-14 17:56:59 +0300 291 292 tuklib_integer: Revise unaligned reads and writes on strict-align archs. 293 294 In XZ Utils context this doesn't matter much because 295 unaligned reads and writes aren't used in hot code 296 when TUKLIB_FAST_UNALIGNED_ACCESS isn't #defined. 297 298 src/common/tuklib_integer.h | 256 ++++++++++++++++++++++++++++++++------------ 299 1 file changed, 189 insertions(+), 67 deletions(-) 300 301commit 9e14743ee5ba79181076bc33952245d5b18fbc58 302Author: Lasse Collin <lasse.collin@tukaani.org> 303Date: 2023-09-23 02:21:49 +0300 304 305 tuklib_integer: Add missing write64be and write64le fallback functions. 306 307 src/common/tuklib_integer.h | 34 ++++++++++++++++++++++++++++++++++ 308 1 file changed, 34 insertions(+) 309 310commit 4cc91ceb3992ef4f51302b56178c3b2c2aeaaaad 311Author: Jia Tan <jiat0218@gmail.com> 312Date: 2023-10-12 20:12:18 +0800 313 314 Build: Update visibility.m4 from Gnulib. 315 316 Updating from version 6 -> 8 from upstream. Declarations for variables 317 and function bodies were added to avoid unnecessary failures with 318 -Werror. 319 320 m4/visibility.m4 | 9 +++++++-- 321 1 file changed, 7 insertions(+), 2 deletions(-) 322 323commit 1824a6007cb1c8d5d7abcc7bf649148bc06fa72c 324Author: Lasse Collin <lasse.collin@tukaani.org> 325Date: 2023-10-06 19:36:35 +0300 326 327 Update THANKS. 328 329 THANKS | 1 + 330 1 file changed, 1 insertion(+) 331 332commit 8fdc71a27d07b10a3da52432432e080b6d577642 333Author: Jia Tan <jiat0218@gmail.com> 334Date: 2023-09-29 20:14:39 +0800 335 336 CMake: Rename xz and man page symlink custom targets. 337 338 The Ninja Generator for CMake cannot have a custom target and its 339 BYPRODUCTS have the same name. This has prevented Ninja builds on 340 Unix-like systems since the xz symlinks were introduced in 341 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 342 343 CMakeLists.txt | 6 +++--- 344 1 file changed, 3 insertions(+), 3 deletions(-) 345 346commit 38171492ded6426ddf53d0c200fa8c93fcd02a60 347Author: Lasse Collin <lasse.collin@tukaani.org> 348Date: 2023-09-27 19:54:35 +0300 349 350 CMake: Fix Windows build with Clang/LLVM 17. 351 352 llvm-windres 17.0.0 has more accurate emulation of GNU windres, so 353 the hack for GNU windres must now be used with llvm-windres too. 354 355 LLVM 16.0.6 has the old behavior and there likely won't be more 356 16.x releases. So we can simply check for >= 17.0.0. 357 358 The workaround must not be used with Clang that is acting in 359 MSVC mode. This checks for the known environments that need 360 the workaround instead of using "NOT MSVC". 361 362 See also: 363 https://github.com/llvm/llvm-project/commit/2bcc0fdc58a220cb9921b47ec8a32c85f2511a47 364 365 CMakeLists.txt | 26 ++++++++++++++------------ 366 1 file changed, 14 insertions(+), 12 deletions(-) 367 368commit 1bce6fe48334b5df33d0487a9cbe41950122230e 369Author: Jia Tan <jiat0218@gmail.com> 370Date: 2023-09-27 00:02:11 +0800 371 372 liblzma: Avoid compiler warning without creating extra symbol. 373 374 When the generic fast crc64 method is used, then we omit 375 lzma_crc64_table[][]. 376 377 The C standards don't allow an empty translation unit which can be 378 avoided by declaring something, without exporting any symbols. 379 380 src/liblzma/check/crc64_table.c | 6 ++---- 381 1 file changed, 2 insertions(+), 4 deletions(-) 382 383commit dce95a593e6cd9779110aa1e314abd8b35c75f6b 384Author: Lasse Collin <lasse.collin@tukaani.org> 385Date: 2023-09-26 17:24:15 +0300 386 387 Build: Update the comment about -Werror usage in checks. 388 389 configure.ac | 10 ++++++++-- 390 1 file changed, 8 insertions(+), 2 deletions(-) 391 392commit f3c32762ae309afa2fe330e7fb397acfdedc4d37 393Author: Lasse Collin <lasse.collin@tukaani.org> 394Date: 2023-09-26 13:51:31 +0300 395 396 Build: Fix underquoted AC_LANG_SOURCE. 397 398 It made no practical difference in this case. 399 400 configure.ac | 2 +- 401 1 file changed, 1 insertion(+), 1 deletion(-) 402 403commit 7dd57f2f2c8fde93fa42b4dbf6d9860717723b41 404Author: Lasse Collin <lasse.collin@tukaani.org> 405Date: 2023-09-26 13:14:37 +0300 406 407 Build: Silence Autoconf warning. 408 409 There was a use of AC_COMPILE_IFELSE that didn't use 410 AC_LANG_SOURCE and Autoconf warned about this. The omission 411 had been intentional but it turned out that this didn't do 412 what I thought it would. 413 414 Autoconf 2.71 manual gives an impression that AC_LANG_SOURCE 415 inserts all #defines that have been made with AC_DEFINE so 416 far (confdefs.h). The idea was that omitting AC_LANG_SOURCE 417 would mean that only the exact code included in the 418 AC_COMPILE_IFELSE call would be compiled. 419 420 With C programs this is not true: the #defines get added without 421 AC_LANG_SOURCE too. There seems to be no neat way to avoid this. 422 Thus, with the C language at least, adding AC_LANG_SOURCE makes 423 no other difference than silencing a warning from Autoconf. The 424 generated "configure" remains identical. (Docs of AC_LANG_CONFTEST 425 say that the #defines have been inserted since Autoconf 2.63b and 426 that AC_COMPILE_IFELSE uses AC_LANG_CONFTEST. So the behavior is 427 documented if one also reads the docs of macros that one isn't 428 calling directly.) 429 430 Any extra code, including #defines, can cause problems for 431 these two tests because these tests must use -Werror. 432 CC=clang CFLAGS=-Weverything is the most extreme example. 433 It enables -Wreserved-macro-identifier which warns about 434 It's possible to write a test file that passes -Weverything but 435 it becomes impossible when Autoconf inserts confdefs.h. 436 437 So this commit adds AC_LANG_SOURCE to silence Autoconf warnings. 438 A different solution is needed for -Werror tests. 439 440 configure.ac | 5 ++--- 441 1 file changed, 2 insertions(+), 3 deletions(-) 442 443commit edec253e418562f3164a01ecc8805295fa022efa 444Author: Jia Tan <jiat0218@gmail.com> 445Date: 2023-09-26 00:47:26 +0800 446 447 Build: Remove Gnulib dependency from tests. 448 449 The tests do not use any Gnulib replacements so they do not need to link 450 libgnu.a or have /lib in the include path. 451 452 tests/Makefile.am | 7 +------ 453 1 file changed, 1 insertion(+), 6 deletions(-) 454 455commit 46cb133ce7360496eecca1255b364c05f0205855 456Author: Jia Tan <jiat0218@gmail.com> 457Date: 2023-09-26 00:43:43 +0800 458 459 CMake: Remove /lib from tests include path. 460 461 The tests never included anything from /lib, so this was not needed. 462 463 CMakeLists.txt | 1 - 464 1 file changed, 1 deletion(-) 465 466commit 4ae13cfe0dedb8ddc3cf9ded8cd1ac09361b3bd1 467Author: Lasse Collin <lasse.collin@tukaani.org> 468Date: 2023-09-24 16:32:32 +0300 469 470 sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO. 471 472 src/common/sysdefs.h | 10 +++++++++- 473 1 file changed, 9 insertions(+), 1 deletion(-) 474 475commit 660c8c29e57d30dbd5009ef1f0ec1bbe195ccef6 476Author: Lasse Collin <lasse.collin@tukaani.org> 477Date: 2023-09-22 02:33:29 +0300 478 479 xz: Windows: Don't (de)compress to special files like "con" or "nul". 480 481 Before this commit, the following writes "foo" to the 482 console and deletes the input file: 483 484 echo foo | xz > con_xz 485 xz --suffix=_xz --decompress con_xz 486 487 It cannot happen without --suffix because names like con.xz 488 are also special and so attempting to decompress con.xz 489 (or compress con to con.xz) will already fail when opening 490 the input file. 491 492 Similar thing is possible when compressing. The following 493 writes to "nul" and the input file "n" is deleted. 494 495 echo foo | xz > n 496 xz --suffix=ul n 497 498 Now xz checks if the destination is a special file before 499 continuing. DOS/DJGPP version had a check for this but 500 Windows (and OS/2) didn't. 501 502 src/xz/file_io.c | 35 ++++++++++++++++++++++++++++------- 503 1 file changed, 28 insertions(+), 7 deletions(-) 504 505commit b7ce6e80786fc0c08ed129e8ee262ea96a5473a1 506Author: Lasse Collin <lasse.collin@tukaani.org> 507Date: 2023-09-21 20:42:52 +0300 508 509 CMake: Wrap two overlong lines that are possible to wrap. 510 511 CMakeLists.txt | 6 ++++-- 512 1 file changed, 4 insertions(+), 2 deletions(-) 513 514commit 1595f454d5c8257c668cccd6a86dd68175d5c430 515Author: Lasse Collin <lasse.collin@tukaani.org> 516Date: 2023-09-21 20:36:31 +0300 517 518 CMake: Add a comment about threads on Cygwin. 519 520 CMakeLists.txt | 1 + 521 1 file changed, 1 insertion(+) 522 523commit 5be6275f19784cdd5a954f0188045c8ff4934d54 524Author: Lasse Collin <lasse.collin@tukaani.org> 525Date: 2023-09-12 21:12:34 +0300 526 527 CMake: Bump maximum policy version to 3.27. 528 529 There are several new policies. CMP0149 may affect the Windows SDK 530 version that CMake will choose by default. The new behavior is more 531 predictable, always choosing the latest SDK version by default. 532 533 The other new policies shouldn't affect this package. 534 535 CMakeLists.txt | 2 +- 536 1 file changed, 1 insertion(+), 1 deletion(-) 537 538commit e515643d7524851d1eb7dab73453e26d8521324c 539Author: Lasse Collin <lasse.collin@tukaani.org> 540Date: 2023-09-08 19:08:57 +0300 541 542 Doxygen: Add more C macro names to PREDEFINED. 543 544 doxygen/Doxyfile | 7 +++++-- 545 1 file changed, 5 insertions(+), 2 deletions(-) 546 547commit e3478ae4f36cd06522a2fef023860893f068434d 548Author: Lasse Collin <lasse.collin@tukaani.org> 549Date: 2023-09-11 18:47:26 +0300 550 551 liblzma: Move a few __attribute__ uses in function declarations. 552 553 The API headers have many attributes but these were left 554 as is for now. 555 556 src/liblzma/common/common.c | 6 ++++-- 557 src/liblzma/common/common.h | 8 ++++---- 558 src/liblzma/common/memcmplen.h | 3 ++- 559 3 files changed, 10 insertions(+), 7 deletions(-) 560 561commit b71b8922ef3971e5ccffd1e213888d44abe21d11 562Author: Lasse Collin <lasse.collin@tukaani.org> 563Date: 2023-09-11 19:03:35 +0300 564 565 xz, xzdec, lzmainfo: Use tuklib_attr_noreturn. 566 567 For compatibility with C23's [[noreturn]], tuklib_attr_noreturn 568 must be at the beginning of declaration (before "extern" or 569 "static", and even before any GNU C's __attribute__). 570 571 This commit also moves all other function attributes to 572 the beginning of function declarations. "extern" is kept 573 at the beginning of a line so the attributes are listed on 574 separate lines before "extern" or "static". 575 576 src/lzmainfo/lzmainfo.c | 6 ++++-- 577 src/xz/coder.c | 3 ++- 578 src/xz/hardware.h | 3 ++- 579 src/xz/message.h | 30 +++++++++++++++++------------- 580 src/xz/options.c | 3 ++- 581 src/xz/util.h | 8 ++++---- 582 src/xzdec/xzdec.c | 9 ++++++--- 583 7 files changed, 37 insertions(+), 25 deletions(-) 584 585commit 359e5c6cb128dab64ea6070d21d1c240f96cea6b 586Author: Lasse Collin <lasse.collin@tukaani.org> 587Date: 2023-09-11 18:53:31 +0300 588 589 Remove incorrect uses of __attribute__((__malloc__)). 590 591 xrealloc() is obviously incorrect, modern GCC docs even 592 mention realloc() as an example where this attribute 593 cannot be used. 594 595 liblzma's lzma_alloc() and lzma_alloc_zero() would be 596 correct uses most of the time but custom allocators 597 may use a memory pool or otherwise hold the pointer 598 so aliasing issues could happen in theory. 599 600 The xstrdup() case likely was correct but I removed it anyway. 601 Now there are no __malloc__ attributes left in the code. 602 The allocations aren't in hot paths so this should make 603 no practical difference. 604 605 src/liblzma/common/common.c | 4 ++-- 606 src/liblzma/common/common.h | 4 ++-- 607 src/xz/util.h | 4 ++-- 608 3 files changed, 6 insertions(+), 6 deletions(-) 609 610commit 589b4cba22fccb1dbc919df5d134aefb2b5a6b01 611Author: Lasse Collin <lasse.collin@tukaani.org> 612Date: 2023-09-19 14:03:45 +0300 613 614 Update THANKS. 615 616 THANKS | 1 + 617 1 file changed, 1 insertion(+) 618 619commit 43728ed2267e921fbdfa699ee1e91b105ab0e98b 620Author: Lasse Collin <lasse.collin@tukaani.org> 621Date: 2023-09-14 16:35:46 +0300 622 623 Update THANKS. 624 625 THANKS | 1 + 626 1 file changed, 1 insertion(+) 627 628commit caf00e0988ba47842cfd93dfbb17f7d30120d6e7 629Author: Lasse Collin <lasse.collin@tukaani.org> 630Date: 2023-09-14 16:34:07 +0300 631 632 liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address__)). 633 634 Thanks to Agostino Sarubbo. 635 Fixes: https://github.com/tukaani-project/xz/issues/62 636 637 src/liblzma/check/crc64_fast.c | 8 ++++++++ 638 1 file changed, 8 insertions(+) 639 640commit a70e96d2da761b8b3a77bf14e08002d871e5950b 641Author: Jia Tan <jiat0218@gmail.com> 642Date: 2023-09-12 22:36:12 +0800 643 644 CMake: Fix time.h checks not running on second CMake run. 645 646 If CMake was configured more than once, HAVE_CLOCK_GETTIME and 647 HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check 648 for librt being needed to provide HAVE_CLOCK_GETTIME was also 649 simplified. 650 651 CMakeLists.txt | 18 ++++++++++-------- 652 1 file changed, 10 insertions(+), 8 deletions(-) 653 654commit d5275d83bd2a9701c5feb8666785007c074b1359 655Author: Jia Tan <jiat0218@gmail.com> 656Date: 2023-09-12 22:34:06 +0800 657 658 CMake: Fix unconditionally defining HAVE_CLOCK_MONOTONIC. 659 660 If HAVE_CLOCK_GETTIME was defined, then HAVE_CLOCK_MONOTONIC was always 661 added as a compile definition even if the check for it failed. 662 663 CMakeLists.txt | 8 +++----- 664 1 file changed, 3 insertions(+), 5 deletions(-) 665 666commit 1f6e7c68fbdeeaa9482fc77de090be63d90912fd 667Author: Lasse Collin <lasse.collin@tukaani.org> 668Date: 2023-08-31 19:50:05 +0300 669 670 xz: Refactor thousand separator detection and disable it on MSVC. 671 672 Now the two variations of the format strings are created with 673 a macro, and the whole detection code can be easily disabled 674 on platforms where thousand separator formatting is known to 675 not work (MSVC has no support, and on DJGPP 2.05 it can have 676 problems in some cases). 677 678 src/xz/util.c | 89 ++++++++++++++++++++++++++++++----------------------------- 679 1 file changed, 45 insertions(+), 44 deletions(-) 680 681commit ef71f83973a20cc28a3221f85681922026ea33f5 682Author: Lasse Collin <lasse.collin@tukaani.org> 683Date: 2023-08-31 18:14:43 +0300 684 685 xz: Fix a too relaxed assertion and remove uses of SSIZE_MAX. 686 687 SSIZE_MAX isn't readily available on MSVC. Removing it means 688 that there is one thing less to worry when porting to MSVC. 689 690 src/xz/file_io.c | 5 ++--- 691 src/xz/file_io.h | 4 ++-- 692 2 files changed, 4 insertions(+), 5 deletions(-) 693 694commit cf8ba7c3a89e37736b926dfbe85dffeff725db47 695Author: Jia Tan <jiat0218@gmail.com> 696Date: 2023-08-28 23:14:45 +0800 697 698 Tests: Improve invalid unpadded size check in test_lzma_index_append(). 699 700 This check was extended to test the code added to fix a failing assert 701 in 68bda971bb8b666a009331455fcedb4e18d837a4. 702 703 tests/test_index.c | 26 +++++++++++++++++++++++--- 704 1 file changed, 23 insertions(+), 3 deletions(-) 705 706commit 4a4180ce74788e97e90b9aab579bfd7c6dce3f59 707Author: Jia Tan <jiat0218@gmail.com> 708Date: 2023-08-28 21:54:41 +0800 709 710 Tests: Improve comments in test_index.c. 711 712 tests/test_index.c | 6 +++--- 713 1 file changed, 3 insertions(+), 3 deletions(-) 714 715commit 4b23b84b89e39a5117e16f66c3b01db4f08ed3e7 716Author: Jia Tan <jiat0218@gmail.com> 717Date: 2023-08-28 21:52:54 +0800 718 719 Update THANKS. 720 721 THANKS | 1 + 722 1 file changed, 1 insertion(+) 723 724commit 773f1e8622cb1465df528cb16a749517650acd93 725Author: Jia Tan <jiat0218@gmail.com> 726Date: 2023-08-28 21:50:16 +0800 727 728 liblzma: Update assert in vli_ceil4(). 729 730 The argument to vli_ceil4() should always guarantee the return value 731 is also a valid lzma_vli. Thus the highest three valid lzma_vli values 732 are invalid arguments. All uses of the function ensure this so the 733 assert is updated to match this. 734 735 src/liblzma/common/index.h | 2 +- 736 1 file changed, 1 insertion(+), 1 deletion(-) 737 738commit 68bda971bb8b666a009331455fcedb4e18d837a4 739Author: Jia Tan <jiat0218@gmail.com> 740Date: 2023-08-28 21:31:25 +0800 741 742 liblzma: Add overflow check for Unpadded size in lzma_index_append(). 743 744 This was not a security bug since there was no path to overflow 745 UINT64_MAX in lzma_index_append() or when it calls index_file_size(). 746 The bug was discovered by a failing assert() in vli_ceil4() when called 747 from index_file_size() when unpadded_sum (the sum of the compressed size 748 of current Stream and the unpadded_size parameter) exceeds LZMA_VLI_MAX. 749 750 Previously, the unpadded_size parameter was checked to be not greater 751 than UNPADDED_SIZE_MAX, but no check was done once compressed_base was 752 added. 753 754 This could not have caused an integer overflow in index_file_size() when 755 called by lzma_index_append(). The calculation for file_size breaks down 756 into the sum of: 757 758 - Compressed base from all previous Streams 759 - 2 * LZMA_STREAM_HEADER_SIZE (size of the current Streams header and 760 footer) 761 - stream_padding (can be set by lzma_index_stream_padding()) 762 - Compressed base from the current Stream 763 - Unpadded size (parameter to lzma_index_append()) 764 765 The sum of everything except for Unpadded size must be less than 766 LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions 767 that can set these values including lzma_index_stream_padding(), 768 lzma_index_append(), and lzma_index_cat(). The maximum value for 769 Unpadded size is enforced by lzma_index_append() to be less than or 770 equal UNPADDED_SIZE_MAX. Thus, the sum cannot exceed UINT64_MAX since 771 LZMA_VLI_MAX is half of UINT64_MAX. 772 773 Thanks to Joona Kannisto for reporting this. 774 775 src/liblzma/common/index.c | 6 ++++++ 776 1 file changed, 6 insertions(+) 777 778commit b41bb79c602481d7ea93d65f5b3e3f08dc54233b 779Author: Jia Tan <jiat0218@gmail.com> 780Date: 2023-08-28 22:18:29 +0800 781 782 Translations: Update the Esperanto translation. 783 784 po/eo.po | 47 +++++++++++++++++++++++++++++------------------ 785 1 file changed, 29 insertions(+), 18 deletions(-) 786 787commit 6614e6d4bf8e2b5af6eb73930148e0ffc8d2265a 788Author: Jia Tan <jiat0218@gmail.com> 789Date: 2023-08-09 20:55:36 +0800 790 791 Docs: Update INSTALL for --enable-threads method win95. 792 793 The Autotools build allows win95 threads and --enable-small together now 794 if the compiler supports __attribute__((__constructor__)). 795 796 INSTALL | 6 ++++-- 797 1 file changed, 4 insertions(+), 2 deletions(-) 798 799commit bfb623ad96fa6f1dbc0c560403c4296e3c8e26c9 800Author: Jia Tan <jiat0218@gmail.com> 801Date: 2023-08-09 20:54:15 +0800 802 803 CMake: Conditionally allow win95 threads and --enable-small. 804 805 CMakeLists.txt | 27 +++++++++++++++++++-------- 806 1 file changed, 19 insertions(+), 8 deletions(-) 807 808commit e919ebb29ac9f5270cd7176a39d0d3b4cea875a9 809Author: Jia Tan <jiat0218@gmail.com> 810Date: 2023-08-09 20:35:16 +0800 811 812 Build: Conditionally allow win95 threads and --enable-small. 813 814 When the compiler supports __attribute__((__constructor__)) 815 mythread_once() is never used, even with --enable-small. A configuration 816 with win95 threads and --enable-small will compile and be thread safe so 817 it can be allowed. 818 819 This isn't a very common configuration since MSVC does not support 820 __attribute__((__constructor__)), but MINGW32 and CLANG32 environments 821 for MSYS2 can use win95 threads and have 822 __attribute__((__constructor__)) support. 823 824 configure.ac | 21 +++++++++++++-------- 825 1 file changed, 13 insertions(+), 8 deletions(-) 826 827commit c0c0cd4a483a672b66a13761583bc4f84d86d501 828Author: Jamaika1 <lukaszcz18@wp.pl> 829Date: 2023-08-08 14:07:59 +0200 830 831 mythread.h: Fix typo error in Vista threads mythread_once(). 832 833 The "once_" variable was accidentally referred to as just "once". This 834 prevented building with Vista threads when 835 HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR was not defined. 836 837 src/common/mythread.h | 2 +- 838 1 file changed, 1 insertion(+), 1 deletion(-) 839 840commit d93fbefcc48a8737fdf5678ce66d1c1d605752a0 841Author: Jia Tan <jiat0218@gmail.com> 842Date: 2023-08-03 20:10:21 +0800 843 844 Tests: Style fixes to test_lzip_decoder.c. 845 846 tests/test_lzip_decoder.c | 36 ++++++++++++++++++++++++------------ 847 1 file changed, 24 insertions(+), 12 deletions(-) 848 849commit 65981d8e45741fd1502e007609469e1d60312e69 850Author: Jia Tan <jiat0218@gmail.com> 851Date: 2023-08-03 15:56:20 +0800 852 853 Translations: Update the Chinese (simplified) translation. 854 855 po/zh_CN.po | 2 +- 856 1 file changed, 1 insertion(+), 1 deletion(-) 857 858commit a108ed589171d683c34238a87e358b87f69e39a0 859Author: Lasse Collin <lasse.collin@tukaani.org> 860Date: 2023-08-02 17:15:12 +0300 861 862 xz: Omit an empty paragraph on the man page. 863 864 src/xz/xz.1 | 1 - 865 1 file changed, 1 deletion(-) 866 867commit 03c51c5c08fe3579d8bbc8eea8251a1128001330 868Author: Jia Tan <jiat0218@gmail.com> 869Date: 2023-08-02 20:32:20 +0800 870 871 Bump version and soname for 5.4.4. 872 873 src/liblzma/Makefile.am | 2 +- 874 src/liblzma/api/lzma/version.h | 2 +- 875 2 files changed, 2 insertions(+), 2 deletions(-) 876 877commit d7fa3f1b58a77f79b1a4e12452418b5555632e18 878Author: Jia Tan <jiat0218@gmail.com> 879Date: 2023-08-02 20:30:07 +0800 880 881 Add NEWS for 5.4.4. 882 883 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 884 1 file changed, 43 insertions(+) 885 886commit 6a1093c0004c42eeaef312456c295671496dd67a 887Author: Lasse Collin <lasse.collin@tukaani.org> 888Date: 2023-08-02 15:19:43 +0300 889 890 build-aux/manconv.sh: Fix US-ASCII and UTF-8 output. 891 892 groff defaults to SGR escapes. Using -P-c passes -c to grotty 893 which restores the old behavior. Perhaps there is a better way to 894 get pure plain text output but this works for now. 895 896 build-aux/manconv.sh | 4 ++-- 897 1 file changed, 2 insertions(+), 2 deletions(-) 898 899commit f6f9f5651a7e2d89f588981533155ab850e063f7 900Author: Lasse Collin <lasse.collin@tukaani.org> 901Date: 2023-08-01 19:10:43 +0300 902 903 Update THANKS. 904 905 THANKS | 1 + 906 1 file changed, 1 insertion(+) 907 908commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb 909Author: Lasse Collin <lasse.collin@tukaani.org> 910Date: 2023-08-01 18:22:24 +0300 911 912 Update THANKS. 913 914 THANKS | 1 + 915 1 file changed, 1 insertion(+) 916 917commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef 918Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com> 919Date: 2023-08-01 18:17:17 +0300 920 921 mythread.h: Disable signal functions in builds targeting Wasm + WASI. 922 923 signal.h in WASI SDK doesn't currently provide sigprocmask() 924 or sigset_t. liblzma doesn't need them so this change makes 925 liblzma and xzdec build against WASI SDK. xz doesn't build yet 926 and the tests don't either as tuktest needs setjmp() which 927 isn't (yet?) implemented in WASI SDK. 928 929 Closes: https://github.com/tukaani-project/xz/pull/57 930 See also: https://github.com/tukaani-project/xz/pull/56 931 932 (The original commit was edited a little by Lasse Collin.) 933 934 src/common/mythread.h | 2 +- 935 1 file changed, 1 insertion(+), 1 deletion(-) 936 937commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26 938Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> 939Date: 2023-07-31 14:02:21 +0200 940 941 Docs: Fix typos found by codespell 942 943 CMakeLists.txt | 4 ++-- 944 NEWS | 2 +- 945 configure.ac | 2 +- 946 src/liblzma/api/lzma/container.h | 4 ++-- 947 src/liblzma/api/lzma/filter.h | 2 +- 948 src/liblzma/api/lzma/lzma12.h | 4 ++-- 949 src/liblzma/common/block_buffer_encoder.c | 2 +- 950 src/liblzma/common/common.h | 2 +- 951 src/liblzma/common/file_info.c | 2 +- 952 src/liblzma/common/lzip_decoder.c | 2 +- 953 src/liblzma/common/stream_decoder_mt.c | 8 ++++---- 954 src/liblzma/common/string_conversion.c | 6 +++--- 955 src/liblzma/lz/lz_encoder.h | 2 +- 956 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 957 src/xz/hardware.c | 4 ++-- 958 tests/test_filter_flags.c | 4 ++-- 959 tests/test_index.c | 2 +- 960 tests/test_vli.c | 2 +- 961 18 files changed, 29 insertions(+), 29 deletions(-) 962 963commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3 964Author: Jia Tan <jiat0218@gmail.com> 965Date: 2023-07-26 20:26:23 +0800 966 967 Update .gitignore. 968 969 .gitignore | 4 ++++ 970 1 file changed, 4 insertions(+) 971 972commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5 973Author: Jia Tan <jiat0218@gmail.com> 974Date: 2023-07-28 22:03:08 +0800 975 976 CMake: Conditionally allow the creation of broken symlinks. 977 978 The CMake build will try to create broken symlinks on Unix and Unix-like 979 platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create 980 broken symlinks. The value of the CYGWIN or MSYS environment variables 981 determine if broken symlinks are valid. 982 983 The default for MSYS2 does not allow for broken symlinks, so the CMake 984 build has been broken for MSYS2 since commit 985 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 986 987 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 988 1 file changed, 75 insertions(+), 7 deletions(-) 989 990commit 19899340cf74d98304f9f5b726c72e85c7017d72 991Author: Jia Tan <jiat0218@gmail.com> 992Date: 2023-07-24 21:43:44 +0800 993 994 liblzma: Prevent an empty translation unit in Windows builds. 995 996 To workaround Automake lacking Windows resource compiler support, an 997 empty source file is compiled to overwrite the resource files for static 998 library builds. Translation units without an external declaration are 999 not allowed by the C standard and result in a warning when used with 1000 -Wempty-translation-unit (Clang) or -pedantic (GCC). 1001 1002 src/liblzma/Makefile.am | 6 +++++- 1003 1 file changed, 5 insertions(+), 1 deletion(-) 1004 1005commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc 1006Author: Jia Tan <jiat0218@gmail.com> 1007Date: 2023-07-21 18:05:44 +0800 1008 1009 Tests: Skip .lz files in test_files.sh if not configured. 1010 1011 Previously if the lzip decoder was not configured then test_files.sh 1012 would pass the lzip tests instead of skipping them. 1013 1014 tests/test_files.sh | 2 +- 1015 1 file changed, 1 insertion(+), 1 deletion(-) 1016 1017commit e49815ba7aa610b72e8724025eceee23c27e7b23 1018Author: Jia Tan <jiat0218@gmail.com> 1019Date: 2023-07-20 22:11:13 +0800 1020 1021 Tests: Add ARM64 filter test to test_compress.sh. 1022 1023 tests/test_compress.sh | 1 + 1024 1 file changed, 1 insertion(+) 1025 1026commit db5b57b827c2b084586c51da1b8a3ab0984bdb40 1027Author: Jia Tan <jiat0218@gmail.com> 1028Date: 2023-07-22 18:37:56 +0800 1029 1030 Translations: Update the Vietnamese translation. 1031 1032 po/vi.po | 45 ++++++++++++++++++++++++++++----------------- 1033 1 file changed, 28 insertions(+), 17 deletions(-) 1034 1035commit e6ba5014081c98cb068253b3e5f9e372dd157f3c 1036Author: Jia Tan <jiat0218@gmail.com> 1037Date: 2023-07-20 20:30:05 +0800 1038 1039 Translations: Update the Croatian translation. 1040 1041 po/hr.po | 49 ++++++++++++++++++++++++++++++------------------- 1042 1 file changed, 30 insertions(+), 19 deletions(-) 1043 1044commit 82657a1f10a25050a3e9c246c41deb785cccba3a 1045Author: Jia Tan <jiat0218@gmail.com> 1046Date: 2023-07-20 20:28:32 +0800 1047 1048 Translations: Update the Korean man page translations. 1049 1050 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 1051 1 file changed, 629 insertions(+), 626 deletions(-) 1052 1053commit fab35907d13efbe7c457e00a310123335d7bae3e 1054Author: Jia Tan <jiat0218@gmail.com> 1055Date: 2023-07-20 20:25:24 +0800 1056 1057 Translations: Update the Korean translation. 1058 1059 po/ko.po | 45 ++++++++++++++++++++++++++++----------------- 1060 1 file changed, 28 insertions(+), 17 deletions(-) 1061 1062commit f530fe1964c34797fa3b775ec5804d68007c1579 1063Author: Jia Tan <jiat0218@gmail.com> 1064Date: 2023-07-20 20:24:05 +0800 1065 1066 Translations: Update the Polish translation. 1067 1068 po/pl.po | 47 +++++++++++++++++++++++++++++------------------ 1069 1 file changed, 29 insertions(+), 18 deletions(-) 1070 1071commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b 1072Author: Jia Tan <jiat0218@gmail.com> 1073Date: 2023-07-20 20:22:23 +0800 1074 1075 Translations: Update the German man page translations. 1076 1077 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 1078 1 file changed, 629 insertions(+), 626 deletions(-) 1079 1080commit 3d14e8a34dba176f975326924ae28a3ab5fee165 1081Author: Jia Tan <jiat0218@gmail.com> 1082Date: 2023-07-20 20:18:44 +0800 1083 1084 Translations: Update the German translation. 1085 1086 po/de.po | 47 +++++++++++++++++++++++++++++------------------ 1087 1 file changed, 29 insertions(+), 18 deletions(-) 1088 1089commit bdcc180a2da15039c47455c1cafd1ce9aff442e4 1090Author: Jia Tan <jiat0218@gmail.com> 1091Date: 2023-07-20 20:17:10 +0800 1092 1093 Translations: Update the Chinese (simplified) translation. 1094 1095 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------ 1096 1 file changed, 29 insertions(+), 18 deletions(-) 1097 1098commit 844240350d33cb46ba8827b74dc8758e2abed9e5 1099Author: Jia Tan <jiat0218@gmail.com> 1100Date: 2023-07-20 20:15:47 +0800 1101 1102 Translations: Update the Swedish translation. 1103 1104 po/sv.po | 47 +++++++++++++++++++++++++++++------------------ 1105 1 file changed, 29 insertions(+), 18 deletions(-) 1106 1107commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc 1108Author: Jia Tan <jiat0218@gmail.com> 1109Date: 2023-07-20 20:14:00 +0800 1110 1111 Translations: Update the Ukrainian man page translations. 1112 1113 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------ 1114 1 file changed, 628 insertions(+), 625 deletions(-) 1115 1116commit 143396e070c8d8afb56e3a5f688b214222cf71e0 1117Author: Jia Tan <jiat0218@gmail.com> 1118Date: 2023-07-20 20:09:15 +0800 1119 1120 Translations: Update the Ukrainian translation. 1121 1122 po/uk.po | 45 ++++++++++++++++++++++++++++----------------- 1123 1 file changed, 28 insertions(+), 17 deletions(-) 1124 1125commit 1b8146d64eaac51b40079f5788b85c1eb79e35de 1126Author: Jia Tan <jiat0218@gmail.com> 1127Date: 2023-07-20 20:06:57 +0800 1128 1129 Translations: Update the Spanish translation. 1130 1131 po/es.po | 47 +++++++++++++++++++++++++++++------------------ 1132 1 file changed, 29 insertions(+), 18 deletions(-) 1133 1134commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697 1135Author: Jia Tan <jiat0218@gmail.com> 1136Date: 2023-07-20 20:05:19 +0800 1137 1138 Translations: Update the Romanian translation. 1139 1140 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------ 1141 1 file changed, 30 insertions(+), 18 deletions(-) 1142 1143commit f681301a368def3f597a7c7bea7cb3f7a2f933e7 1144Author: Jia Tan <jiat0218@gmail.com> 1145Date: 2023-07-20 20:02:56 +0800 1146 1147 Translations: Update the Romanian man page translations. 1148 1149 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------ 1150 1 file changed, 629 insertions(+), 625 deletions(-) 1151 1152commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f 1153Author: Jia Tan <jiat0218@gmail.com> 1154Date: 2023-07-13 21:26:47 +0800 1155 1156 xz: Update man page Authors and date. 1157 1158 src/xz/xz.1 | 5 +++-- 1159 1 file changed, 3 insertions(+), 2 deletions(-) 1160 1161commit c2905540ef905412b54c76488758712d3e2a0f9d 1162Author: Jia Tan <jiat0218@gmail.com> 1163Date: 2023-07-18 23:19:09 +0800 1164 1165 xz: Slight reword in xz man page for consistency. 1166 1167 Changed will print => prints in xz --robot --version description to 1168 match --robot --info-memory description. 1169 1170 src/xz/xz.1 | 2 +- 1171 1 file changed, 1 insertion(+), 1 deletion(-) 1172 1173commit 2600d3352449faf57d9cb3fa00cbe40548a1310f 1174Author: Jia Tan <jiat0218@gmail.com> 1175Date: 2023-07-18 22:49:57 +0800 1176 1177 liblzma: Improve comment in string_conversion.c. 1178 1179 The comment used "flag" when referring to decoder options. Just 1180 referring to them as options is more clear and consistent. 1181 1182 src/liblzma/common/string_conversion.c | 4 ++-- 1183 1 file changed, 2 insertions(+), 2 deletions(-) 1184 1185commit 98fc14541eec3e1dcf694075c8533f19a3cee552 1186Author: Jia Tan <jiat0218@gmail.com> 1187Date: 2023-05-13 21:21:54 +0800 1188 1189 liblzma: Reword lzma_str_list_filters() documentation. 1190 1191 Reword "options required" to "options read". The previous wording 1192 may have suggested that the options listed were all required when 1193 the filters are used for encoding or decoding. Now it should be 1194 more clear that the options listed are the ones relevant for 1195 encoding or decoding. 1196 1197 src/liblzma/api/lzma/filter.h | 2 +- 1198 1 file changed, 1 insertion(+), 1 deletion(-) 1199 1200commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01 1201Author: Lasse Collin <lasse.collin@tukaani.org> 1202Date: 2023-07-18 17:37:33 +0300 1203 1204 xz: Translate the second "%s: " in message.c since French needs "%s : ". 1205 1206 This string is used to print a filename when using "xz -v" and 1207 stderr isn't a terminal. 1208 1209 src/xz/message.c | 2 +- 1210 1 file changed, 1 insertion(+), 1 deletion(-) 1211 1212commit 97851be2c6c64494f23c3a735601c13d4387820b 1213Author: Lasse Collin <lasse.collin@tukaani.org> 1214Date: 2023-07-18 14:35:33 +0300 1215 1216 xz: Make "%s: %s" translatable because French needs "%s : %s". 1217 1218 src/xz/args.c | 5 ++++- 1219 src/xz/coder.c | 8 ++++---- 1220 src/xz/file_io.c | 8 ++++---- 1221 src/xz/list.c | 11 ++++++----- 1222 4 files changed, 18 insertions(+), 14 deletions(-) 1223 1224commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62 1225Author: Lasse Collin <lasse.collin@tukaani.org> 1226Date: 2023-07-18 13:57:54 +0300 1227 1228 liblzma: Tweak #if condition in memcmplen.h. 1229 1230 Maybe ICC always #defines _MSC_VER on Windows but now 1231 it's very clear which code will get used. 1232 1233 src/liblzma/common/memcmplen.h | 4 ++-- 1234 1 file changed, 2 insertions(+), 2 deletions(-) 1235 1236commit ef4a07ad9434f81417395f6fe0bb331e027a703b 1237Author: Lasse Collin <lasse.collin@tukaani.org> 1238Date: 2023-07-18 13:49:43 +0300 1239 1240 liblzma: Omit unnecessary parenthesis in a preprocessor directive. 1241 1242 src/liblzma/common/memcmplen.h | 4 ++-- 1243 1 file changed, 2 insertions(+), 2 deletions(-) 1244 1245commit 64ee0caaea06654b28afaee850fb187a11bf9cb2 1246Author: Jia Tan <jiat0218@gmail.com> 1247Date: 2023-06-28 20:22:38 +0800 1248 1249 liblzma: Prevent warning for MSYS2 Windows build. 1250 1251 In lzma_memcmplen(), the <intrin.h> header file is only included if 1252 _MSC_VER and _M_X64 are both defined but _BitScanForward64() was 1253 previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but 1254 not _MSC_VER so _BitScanForward64() was used without including 1255 <intrin.h>. 1256 1257 Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as 1258 expected. 1259 1260 src/liblzma/common/memcmplen.h | 6 ++++-- 1261 1 file changed, 4 insertions(+), 2 deletions(-) 1262 1263commit ba177057643dae6e9c167ee26471181c199c8a00 1264Author: Jia Tan <jiat0218@gmail.com> 1265Date: 2023-07-14 23:20:33 +0800 1266 1267 Docs: Add a new section to INSTALL for Tests. 1268 1269 The new Tests section describes basic information about the tests, how 1270 to run them, and important details when cross compiling. We have had a 1271 few questions about how to compile the tests without running them, so 1272 hopefully this information will help others with the same question in the 1273 future. 1274 1275 Fixes: https://github.com/tukaani-project/xz/issues/54 1276 1277 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1278 1 file changed, 64 insertions(+), 17 deletions(-) 1279 1280commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f 1281Author: Jia Tan <jiat0218@gmail.com> 1282Date: 2023-07-14 21:10:27 +0800 1283 1284 Docs: Update README. 1285 1286 This adds an entry to "Other implementations of the .xz format" for 1287 XZ for Java. 1288 1289 README | 4 ++++ 1290 1 file changed, 4 insertions(+) 1291 1292commit c972d44103c4edf88e73917ef08bde69db9d06cb 1293Author: Jia Tan <jiat0218@gmail.com> 1294Date: 2023-07-18 13:27:46 +0300 1295 1296 xz: Fix typo in man page. 1297 1298 The Memory limit information section described three output 1299 columns when it actually has six. This was reworded to 1300 "multiple" to make it more future proof. 1301 1302 src/xz/xz.1 | 2 +- 1303 1 file changed, 1 insertion(+), 1 deletion(-) 1304 1305commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283 1306Author: Jia Tan <jiat0218@gmail.com> 1307Date: 2023-07-14 21:30:25 +0800 1308 1309 Tests: Improve feature testing for skipping. 1310 1311 Fixed a bug where test_compress_* would all fail if arm64 or armthumb 1312 filters were enabled for compression but arm was disabled. Since the 1313 grep tests only checked for "define HAVE_ENCODER_ARM", this would match 1314 on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB. 1315 1316 Now the config.h feature test requires " 1" at the end to prevent the 1317 prefix problem. have_feature() was also updated for this even though 1318 there were known current bugs affecting it. This is just in case future 1319 features have a similar prefix problem. 1320 1321 tests/test_compress.sh | 4 ++-- 1322 tests/test_files.sh | 2 +- 1323 2 files changed, 3 insertions(+), 3 deletions(-) 1324 1325commit 26c37d290c0884a4518a26b949575420a77fb938 1326Author: Jia Tan <jiat0218@gmail.com> 1327Date: 2023-07-10 20:56:28 +0800 1328 1329 Translations: Update the Chinese (traditional) translation. 1330 1331 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++-------------------------- 1332 1 file changed, 377 insertions(+), 282 deletions(-) 1333 1334commit 2ec65181e28335692a3a4fac4fefc4303111d355 1335Author: Jia Tan <jiat0218@gmail.com> 1336Date: 2023-07-08 20:03:59 +0800 1337 1338 Translations: Update the Vietnamese translation. 1339 1340 po/vi.po | 620 +++++++++++++++++++++++++++++++++++---------------------------- 1341 1 file changed, 349 insertions(+), 271 deletions(-) 1342 1343commit c44c7e7590db1b89c97e106f5c516bf69189e233 1344Author: Jia Tan <jiat0218@gmail.com> 1345Date: 2023-06-28 20:46:31 +0800 1346 1347 Tests: Fix memory leaks in test_index. 1348 1349 Several tests were missing calls to lzma_index_end() to clean up the 1350 lzma_index structs. The memory leaks were discovered by using 1351 -fsanitize=address with GCC. 1352 1353 tests/test_index.c | 11 +++++++++++ 1354 1 file changed, 11 insertions(+) 1355 1356commit b9499c94fccc03eba5311b5305f04149a7c5af65 1357Author: Jia Tan <jiat0218@gmail.com> 1358Date: 2023-06-28 20:43:29 +0800 1359 1360 Tests: Fix memory leaks in test_block_header. 1361 1362 test_block_header was not properly freeing the filter options between 1363 calls to lzma_block_header_decode(). The memory leaks were discovered by 1364 using -fsanitize=address with GCC. 1365 1366 tests/test_block_header.c | 38 ++++++++++++++++++++++---------------- 1367 1 file changed, 22 insertions(+), 16 deletions(-) 1368 1369commit 1155471651ad456c5f90aee6435931fae65682bf 1370Author: Jia Tan <jiat0218@gmail.com> 1371Date: 2023-06-28 20:31:11 +0800 1372 1373 liblzma: Prevent uninitialzed warning in mt stream encoder. 1374 1375 This change only impacts the compiler warning since it was impossible 1376 for the wait_abs struct in stream_encode_mt() to be used before it was 1377 initialized since mythread_condtime_set() will always be called before 1378 mythread_cond_timedwait(). 1379 1380 Since the mythread.h code is different between the POSIX and 1381 Windows versions, this warning was only present on Windows builds. 1382 1383 Thanks to Arthur S for reporting the warning and providing an initial 1384 patch. 1385 1386 src/liblzma/common/stream_encoder_mt.c | 2 +- 1387 1 file changed, 1 insertion(+), 1 deletion(-) 1388 1389commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9 1390Author: Jia Tan <jiat0218@gmail.com> 1391Date: 2023-06-07 00:10:38 +0800 1392 1393 Update THANKS. 1394 1395 THANKS | 1 + 1396 1 file changed, 1 insertion(+) 1397 1398commit d04eb78ab3892d3678c180437dd66379efa051fd 1399Author: Benjamin Buch <bebuch@users.noreply.github.com> 1400Date: 2023-06-06 15:32:45 +0200 1401 1402 CMake: Protects against double find_package 1403 1404 Boost iostream uses `find_package` in quiet mode and then again uses 1405 `find_package` with required. This second call triggers a 1406 `add_library cannot create imported target "LibLZMA::LibLZMA" 1407 because another target with the same name already exists.` 1408 1409 This can simply be fixed by skipping the alias part on secondary 1410 `find_package` runs. 1411 1412 CMakeLists.txt | 16 +++++++++------- 1413 1 file changed, 9 insertions(+), 7 deletions(-) 1414 1415commit 12ea1fb29763dd72376aca73d69621aff01eaa7f 1416Author: Jia Tan <jiat0218@gmail.com> 1417Date: 2023-05-31 20:26:42 +0800 1418 1419 Translations: Update the Esperanto translation. 1420 1421 po/eo.po | 185 +++++++++++++++++++++++++++++++-------------------------------- 1422 1 file changed, 92 insertions(+), 93 deletions(-) 1423 1424commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319 1425Author: Jia Tan <jiat0218@gmail.com> 1426Date: 2023-05-31 20:25:00 +0800 1427 1428 Translations: Update the Croatian translation. 1429 1430 po/hr.po | 2 +- 1431 1 file changed, 1 insertion(+), 1 deletion(-) 1432 1433commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96 1434Author: Jia Tan <jiat0218@gmail.com> 1435Date: 2023-05-31 20:15:53 +0800 1436 1437 Translations: Update the Chinese (simplified) translation. 1438 1439 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------ 1440 1 file changed, 157 insertions(+), 160 deletions(-) 1441 1442commit d5b81c19a7594fbb913bb3450360bc2145f29568 1443Author: Jia Tan <jiat0218@gmail.com> 1444Date: 2023-05-17 23:12:13 +0800 1445 1446 Translations: Update German translation of man pages. 1447 1448 po4a/de.po | 52 ++++++++++++---------------------------------------- 1449 1 file changed, 12 insertions(+), 40 deletions(-) 1450 1451commit 36860a3e30d5675b4dba3a343159458d8864bceb 1452Author: Jia Tan <jiat0218@gmail.com> 1453Date: 2023-05-17 23:09:18 +0800 1454 1455 Translations: Update the German translation. 1456 1457 po/de.po | 189 +++++++++++++++++++++++++++++++-------------------------------- 1458 1 file changed, 94 insertions(+), 95 deletions(-) 1459 1460commit f05641ef0d4990c4c58f459039d412475b94b37d 1461Author: Jia Tan <jiat0218@gmail.com> 1462Date: 2023-05-17 20:30:01 +0800 1463 1464 Translations: Update the Croatian translation. 1465 1466 po/hr.po | 187 +++++++++++++++++++++++++++++++-------------------------------- 1467 1 file changed, 93 insertions(+), 94 deletions(-) 1468 1469commit b852f6f11d43cafce871cd158c80488f86619a63 1470Author: Jia Tan <jiat0218@gmail.com> 1471Date: 2023-05-17 20:26:54 +0800 1472 1473 Translations: Update Korean translation of man pages. 1474 1475 po4a/ko.po | 3015 ++++++++++++------------------------------------------------ 1476 1 file changed, 568 insertions(+), 2447 deletions(-) 1477 1478commit fdcb78fb6f5313eda363869690685471d7ab9731 1479Author: Jia Tan <jiat0218@gmail.com> 1480Date: 2023-05-17 20:13:01 +0800 1481 1482 Translations: Update the Korean translation. 1483 1484 po/ko.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 1485 1 file changed, 158 insertions(+), 161 deletions(-) 1486 1487commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2 1488Author: Jia Tan <jiat0218@gmail.com> 1489Date: 2023-05-16 23:49:09 +0800 1490 1491 Translations: Update the Spanish translation. 1492 1493 po/es.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 1494 1 file changed, 158 insertions(+), 161 deletions(-) 1495 1496commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14 1497Author: Jia Tan <jiat0218@gmail.com> 1498Date: 2023-05-16 23:47:23 +0800 1499 1500 Translations: Update the Romanian translation. 1501 1502 po/ro.po | 195 ++++++++++++++++++++++++++++++++------------------------------- 1503 1 file changed, 98 insertions(+), 97 deletions(-) 1504 1505commit 362320fea5383bae179763763625532bad6d10e8 1506Author: Jia Tan <jiat0218@gmail.com> 1507Date: 2023-05-16 23:45:43 +0800 1508 1509 Translations: Update Romanian translation of man pages. 1510 1511 po4a/ro.po | 19 ++++++++++--------- 1512 1 file changed, 10 insertions(+), 9 deletions(-) 1513 1514commit 29c5a870be23d0a565b959404b34a8b1babef7df 1515Author: Jia Tan <jiat0218@gmail.com> 1516Date: 2023-05-16 23:43:51 +0800 1517 1518 Translations: Update Ukrainian translation of man pages. 1519 1520 po4a/uk.po | 12 ++++++------ 1521 1 file changed, 6 insertions(+), 6 deletions(-) 1522 1523commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc 1524Author: Jia Tan <jiat0218@gmail.com> 1525Date: 2023-05-16 23:37:54 +0800 1526 1527 Translations: Update the Ukrainian translation. 1528 1529 po/uk.po | 321 +++++++++++++++++++++++++++++++-------------------------------- 1530 1 file changed, 159 insertions(+), 162 deletions(-) 1531 1532commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a 1533Author: Jia Tan <jiat0218@gmail.com> 1534Date: 2023-05-16 23:07:35 +0800 1535 1536 Translations: Update the Polish translation. 1537 1538 po/pl.po | 316 +++++++++++++++++++++++++++++++-------------------------------- 1539 1 file changed, 155 insertions(+), 161 deletions(-) 1540 1541commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d 1542Author: Jia Tan <jiat0218@gmail.com> 1543Date: 2023-05-16 22:52:14 +0800 1544 1545 Translations: Update the Swedish translation. 1546 1547 po/sv.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 1548 1 file changed, 158 insertions(+), 161 deletions(-) 1549 1550commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60 1551Author: Jia Tan <jiat0218@gmail.com> 1552Date: 2023-05-16 21:21:38 +0800 1553 1554 Translations: Update the Esperanto translation. 1555 1556 po/eo.po | 34 +++++++++++++++++----------------- 1557 1 file changed, 17 insertions(+), 17 deletions(-) 1558 1559commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d 1560Author: Jia Tan <jiat0218@gmail.com> 1561Date: 2023-05-11 23:49:23 +0800 1562 1563 liblzma: Adds lzma_nothrow to MicroLZMA API functions. 1564 1565 None of the liblzma functions may throw an exception, so this 1566 attribute should be applied to all liblzma API functions. 1567 1568 src/liblzma/api/lzma/container.h | 5 +++-- 1569 1 file changed, 3 insertions(+), 2 deletions(-) 1570 1571commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac 1572Author: Jia Tan <jiat0218@gmail.com> 1573Date: 2023-05-04 20:38:52 +0800 1574 1575 Translations: Update the Croatian translation. 1576 1577 po/hr.po | 6 +++--- 1578 1 file changed, 3 insertions(+), 3 deletions(-) 1579 1580commit 0cee63c3c6c4f9084a5e7fa7c15a1863ac8e5ffc 1581Author: Jia Tan <jiat0218@gmail.com> 1582Date: 2023-05-04 19:50:42 +0800 1583 1584 Bump version and soname for 5.4.3. 1585 1586 src/liblzma/Makefile.am | 2 +- 1587 src/liblzma/api/lzma/version.h | 2 +- 1588 2 files changed, 2 insertions(+), 2 deletions(-) 1589 1590commit 01f937ea9a49005c5091c0165fa0c1e572dd1749 1591Author: Jia Tan <jiat0218@gmail.com> 1592Date: 2023-05-02 20:39:56 +0800 1593 1594 Add NEWS for 5.4.3. 1595 1596 NEWS | 10 ++++++++++ 1597 1 file changed, 10 insertions(+) 1598 1599commit e9b9ea953179502d5245b4e6ca4f5ffe9d5797b1 1600Author: Lasse Collin <lasse.collin@tukaani.org> 1601Date: 2023-05-03 22:46:42 +0300 1602 1603 tuklib_integer.h: Fix a recent copypaste error in Clang detection. 1604 1605 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7. 1606 Also, this has >= instead of == since ints larger than 32 bits would 1607 work too even if not relevant in practice. 1608 1609 src/common/tuklib_integer.h | 4 ++-- 1610 1 file changed, 2 insertions(+), 2 deletions(-) 1611 1612commit be6e39a8622f0d905072874ec25b1ffd155b12e1 1613Author: Jia Tan <jiat0218@gmail.com> 1614Date: 2023-04-20 20:15:00 +0800 1615 1616 Update THANKS. 1617 1618 THANKS | 1 + 1619 1 file changed, 1 insertion(+) 1620 1621commit 9e343a46cf87a345799222c0b0b3a6f3358dde0c 1622Author: Jia Tan <jiat0218@gmail.com> 1623Date: 2023-04-19 22:22:16 +0800 1624 1625 Windows: Include <intrin.h> when needed. 1626 1627 Legacy Windows did not need to #include <intrin.h> to use the MSVC 1628 intrinsics. Newer versions likely just issue a warning, but the MSVC 1629 documentation says to include the header file for the intrinsics we use. 1630 1631 GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are 1632 needed in tuklib_integer.h to only include <intrin.h> when it will is 1633 actually needed. 1634 1635 src/common/tuklib_integer.h | 6 ++++++ 1636 src/liblzma/common/memcmplen.h | 10 ++++++++++ 1637 2 files changed, 16 insertions(+) 1638 1639commit 12321a9390acc076b414035a46df9d7545ac379f 1640Author: Jia Tan <jiat0218@gmail.com> 1641Date: 2023-04-19 21:59:03 +0800 1642 1643 tuklib_integer: Use __builtin_clz() with Clang. 1644 1645 Clang has support for __builtin_clz(), but previously Clang would 1646 fallback to either the MSVC intrinsic or the regular C code. This was 1647 discovered due to a bug where a new version of Clang required the 1648 <intrin.h> header file in order to use the MSVC intrinsics. 1649 1650 Thanks to Anton Kochkov for notifying us about the bug. 1651 1652 src/common/tuklib_integer.h | 6 +++--- 1653 1 file changed, 3 insertions(+), 3 deletions(-) 1654 1655commit d1f0e01c395960efd6c29ff144eda4f4c8c1c6d3 1656Author: Lasse Collin <lasse.collin@tukaani.org> 1657Date: 2023-04-14 18:42:33 +0300 1658 1659 liblzma: Update project maintainers in lzma.h. 1660 1661 AUTHORS was updated earlier, lzma.h was simply forgotten. 1662 1663 src/liblzma/api/lzma.h | 2 +- 1664 1 file changed, 1 insertion(+), 1 deletion(-) 1665 1666commit 8204c5d1304e1e3b7487801b4acaf8e3179a6c52 1667Author: Jia Tan <jiat0218@gmail.com> 1668Date: 2023-04-13 20:45:19 +0800 1669 1670 liblzma: Cleans up old commented out code. 1671 1672 src/liblzma/common/alone_encoder.c | 11 ----------- 1673 1 file changed, 11 deletions(-) 1674 1675commit 32980d1562bc031013306be1c787761fa63da87d 1676Author: Jia Tan <jiat0218@gmail.com> 1677Date: 2023-03-28 22:32:40 +0800 1678 1679 CMake: Update liblzma-config.cmake generation. 1680 1681 Now that the threading is configurable, the liblzma CMake package only 1682 needs the threading library when using POSIX threads. 1683 1684 CMakeLists.txt | 33 ++++++++++++++++++++++----------- 1685 1 file changed, 22 insertions(+), 11 deletions(-) 1686 1687commit 023907faa965476fb921a6344253c50e0ba795f9 1688Author: Jia Tan <jiat0218@gmail.com> 1689Date: 2023-03-28 22:25:33 +0800 1690 1691 CMake: Allows setting thread method. 1692 1693 The thread method is now configurable for the CMake build. It matches 1694 the Autotools build by allowing ON (pick the best threading method), 1695 OFF (no threading), posix, win95, and vista. If both Windows and 1696 posix threading are both available, then ON will choose Windows 1697 threading. Windows threading will also not use: 1698 1699 target_link_libraries(liblzma Threads::Threads) 1700 1701 since on systems like MinGW-w64 it would link the posix threads 1702 without purpose. 1703 1704 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++---------------- 1705 1 file changed, 104 insertions(+), 40 deletions(-) 1706 1707commit ba176d77cbb164b13006516660fc1ff6c59dedb5 1708Author: Jia Tan <jiat0218@gmail.com> 1709Date: 2023-03-24 20:05:59 +0800 1710 1711 CMake: Only build xzdec if decoders are enabled. 1712 1713 CMakeLists.txt | 2 +- 1714 1 file changed, 1 insertion(+), 1 deletion(-) 1715 1716commit c99d697df800e9bc47e09facf88bcfdb9e0264a5 1717Author: Jia Tan <jiat0218@gmail.com> 1718Date: 2023-03-22 15:42:04 +0800 1719 1720 Build: Removes redundant check for LZMA1 filter support. 1721 1722 src/liblzma/lzma/Makefile.inc | 5 +---- 1723 1 file changed, 1 insertion(+), 4 deletions(-) 1724 1725commit 54a2fd8c850e626343b79c4cc8fcac2f638ec890 1726Author: Lasse Collin <lasse.collin@tukaani.org> 1727Date: 2023-03-23 15:14:29 +0200 1728 1729 CMake: Bump maximum policy version to 3.26. 1730 1731 It adds only one new policy related to FOLDERS which we don't use. 1732 This makes it clear that the code is compatible with the policies 1733 up to 3.26. 1734 1735 CMakeLists.txt | 2 +- 1736 1 file changed, 1 insertion(+), 1 deletion(-) 1737 1738commit 622d0fdc02d5f565c2872d79bc70c669c95c8284 1739Author: Jia Tan <jiat0218@gmail.com> 1740Date: 2023-03-21 23:36:00 +0800 1741 1742 CMake: Conditionally build xz list.* files if decoders are enabled. 1743 1744 CMakeLists.txt | 9 +++++++-- 1745 1 file changed, 7 insertions(+), 2 deletions(-) 1746 1747commit 3e2dc523c596cd770a6a7c58cacc0d0d8761e853 1748Author: Jia Tan <jiat0218@gmail.com> 1749Date: 2023-02-25 11:46:50 +0800 1750 1751 CMake: Allow configuring features as cache variables. 1752 1753 This allows users to change the features they build either in 1754 CMakeCache.txt or by using a CMake GUI. The sources built for 1755 liblzma are affected by this too, so only the necessary files 1756 will be compiled. 1757 1758 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++--------------- 1759 1 file changed, 391 insertions(+), 137 deletions(-) 1760 1761commit 0c053f97337fa4ead77acefb577e8e86f8ef388d 1762Author: Lasse Collin <lasse.collin@tukaani.org> 1763Date: 2023-03-21 14:07:51 +0200 1764 1765 Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69. 1766 1767 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC 1768 but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler. 1769 1770 configure.ac | 3 +++ 1771 1 file changed, 3 insertions(+) 1772 1773commit 915d4f6058d52f84d2b58b0a5f3c8272eaa6c1bd 1774Author: Lasse Collin <lasse.collin@tukaani.org> 1775Date: 2023-03-21 14:04:37 +0200 1776 1777 Build: configure.ac: Use AS_IF and AS_CASE where required. 1778 1779 This makes no functional difference in the generated configure 1780 (at least with the Autotools versions I have installed) but this 1781 change might prevent future bugs like the one that was just 1782 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294. 1783 1784 configure.ac | 30 +++++++++++++++--------------- 1785 1 file changed, 15 insertions(+), 15 deletions(-) 1786 1787commit b848c039586ed2cddb6fb033680dac107cc5143f 1788Author: Lasse Collin <lasse.collin@tukaani.org> 1789Date: 2023-03-21 13:12:03 +0200 1790 1791 Update THANKS. 1792 1793 THANKS | 1 + 1794 1 file changed, 1 insertion(+) 1795 1796commit c775ba1602a74f29dbc2088bbe4d02c23fc32ba1 1797Author: Lasse Collin <lasse.collin@tukaani.org> 1798Date: 2023-03-21 13:11:49 +0200 1799 1800 Build: Fix --disable-threads breaking the building of shared libs. 1801 1802 This is broken in the releases 5.2.6 to 5.4.2. A workaround 1803 for these releases is to pass EGREP='grep -E' as an argument 1804 to configure in addition to --disable-threads. 1805 1806 The problem appeared when m4/ax_pthread.m4 was updated in 1807 the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which 1808 introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls 1809 AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP 1810 but this was only executed if POSIX threads were enabled. 1811 Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf 1812 omits it as AC_PROG_EGREP has already been required earlier. 1813 Thus, if not using POSIX threads, the shell variable EGREP 1814 would be undefined in the Libtool code in configure. 1815 1816 ax_pthread.m4 is fine. The bug was in configure.ac which called 1817 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE 1818 ensures that all AC_REQUIREs get always run. 1819 1820 Thanks to Frank Busse for reporting the bug. 1821 Fixes: https://github.com/tukaani-project/xz/issues/45 1822 1823 configure.ac | 16 ++++++++-------- 1824 1 file changed, 8 insertions(+), 8 deletions(-) 1825 1826commit 0673c9ec98b6bae12b33dc295564514aaa26e2fc 1827Author: Lasse Collin <lasse.collin@tukaani.org> 1828Date: 2023-03-19 22:45:59 +0200 1829 1830 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h. 1831 1832 Thanks to Christian Hesse for reporting the issue. 1833 Fixes: https://github.com/tukaani-project/xz/issues/44 1834 1835 src/liblzma/common/memcmplen.h | 3 ++- 1836 1 file changed, 2 insertions(+), 1 deletion(-) 1837 1838commit 6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8 1839Author: Jia Tan <jiat0218@gmail.com> 1840Date: 2023-03-18 23:22:06 +0800 1841 1842 Bump version and soname for 5.4.2. 1843 1844 src/liblzma/Makefile.am | 2 +- 1845 src/liblzma/api/lzma/version.h | 2 +- 1846 2 files changed, 2 insertions(+), 2 deletions(-) 1847 1848commit ce4f246600db10e77fc93d492ea045b4c9830bc6 1849Author: Jia Tan <jiat0218@gmail.com> 1850Date: 2023-03-18 22:10:57 +0800 1851 1852 Add NEWS for 5.4.2. 1853 1854 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1855 1 file changed, 48 insertions(+) 1856 1857commit 3634fe330788fc0df217acdb6581031a851600a3 1858Author: Lasse Collin <lasse.collin@tukaani.org> 1859Date: 2023-03-18 16:00:54 +0200 1860 1861 Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3. 1862 1863 COPYING.GPLv3 | 8 ++++---- 1864 1 file changed, 4 insertions(+), 4 deletions(-) 1865 1866commit 97679d25ce7cb014328f1455bb338903c003d54f 1867Author: Lasse Collin <lasse.collin@tukaani.org> 1868Date: 2023-03-18 15:51:57 +0200 1869 1870 Change a few HTTP URLs to HTTPS. 1871 1872 The xz man page timestamp was intentionally left unchanged. 1873 1874 INSTALL | 2 +- 1875 README | 8 ++++---- 1876 configure.ac | 2 +- 1877 dos/INSTALL.txt | 4 ++-- 1878 src/liblzma/api/lzma.h | 8 ++++---- 1879 src/liblzma/check/sha256.c | 2 +- 1880 src/xz/xz.1 | 2 +- 1881 windows/INSTALL-MinGW.txt | 10 +++++----- 1882 8 files changed, 19 insertions(+), 19 deletions(-) 1883 1884commit 01a67e89a56c3ebf5f6681bd06f0edc22a1ae594 1885Author: Jia Tan <jiat0218@gmail.com> 1886Date: 2023-03-18 00:40:28 +0800 1887 1888 CMake: Fix typo in a comment. 1889 1890 CMakeLists.txt | 2 +- 1891 1 file changed, 1 insertion(+), 1 deletion(-) 1892 1893commit 5dca3f5cbab31105196c89cd6df0a9bbc3307c05 1894Author: Lasse Collin <lasse.collin@tukaani.org> 1895Date: 2023-03-17 18:36:22 +0200 1896 1897 Windows: build.bash: Copy liblzma API docs to the output package. 1898 1899 windows/build.bash | 3 ++- 1900 1 file changed, 2 insertions(+), 1 deletion(-) 1901 1902commit ae252862b30b509ab88b2bbcaa08e8d51b57e928 1903Author: Lasse Collin <lasse.collin@tukaani.org> 1904Date: 2023-03-17 08:53:38 +0200 1905 1906 Windows: Add microlzma_*.c to the VS project files. 1907 1908 These should have been included in 5.3.2alpha already. 1909 1910 windows/vs2013/liblzma.vcxproj | 2 ++ 1911 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 1912 windows/vs2017/liblzma.vcxproj | 2 ++ 1913 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 1914 windows/vs2019/liblzma.vcxproj | 2 ++ 1915 windows/vs2019/liblzma_dll.vcxproj | 2 ++ 1916 6 files changed, 12 insertions(+) 1917 1918commit 147d282cc3733e2723df82622b6540ddfb52635e 1919Author: Lasse Collin <lasse.collin@tukaani.org> 1920Date: 2023-03-17 08:43:51 +0200 1921 1922 CMake: Add microlzma_*.c to the build. 1923 1924 These should have been included in 5.3.2alpha already. 1925 1926 CMakeLists.txt | 2 ++ 1927 1 file changed, 2 insertions(+) 1928 1929commit 4523a5ee29f45c0256af67a15771bc8bbd25ba53 1930Author: Lasse Collin <lasse.collin@tukaani.org> 1931Date: 2023-03-17 08:41:36 +0200 1932 1933 Build: Update comments about unaligned access to mention 64-bit. 1934 1935 cmake/tuklib_integer.cmake | 7 +++---- 1936 m4/tuklib_integer.m4 | 4 ++-- 1937 2 files changed, 5 insertions(+), 6 deletions(-) 1938 1939commit 82aacb40367dc580b09c5a7b270f6c98b63e49b9 1940Author: Lasse Collin <lasse.collin@tukaani.org> 1941Date: 2023-03-17 00:02:30 +0200 1942 1943 Tests: Update .gitignore. 1944 1945 .gitignore | 3 ++- 1946 1 file changed, 2 insertions(+), 1 deletion(-) 1947 1948commit 5d022c24921eec938604a8cb10d70aa08dbd8575 1949Author: Lasse Collin <lasse.collin@tukaani.org> 1950Date: 2023-03-14 20:04:03 +0200 1951 1952 po4a/update-po: Display the script name consistently in error messages. 1953 1954 po4a/update-po | 2 +- 1955 1 file changed, 1 insertion(+), 1 deletion(-) 1956 1957commit 896295117324f323c0b8db6a31ad6ebfaa88793d 1958Author: Jia Tan <jiat0218@gmail.com> 1959Date: 2023-03-17 01:30:36 +0800 1960 1961 Doc: Rename Doxygen HTML doc directory name liblzma => api. 1962 1963 When the docs are installed, calling the directory "liblzma" is 1964 confusing since multiple other files in the doc directory are for 1965 liblzma. This should also make it more natural for distros when they 1966 package the documentation. 1967 1968 .gitignore | 2 +- 1969 Makefile.am | 18 +++++++++--------- 1970 PACKAGERS | 4 ++-- 1971 doxygen/Doxyfile | 2 +- 1972 doxygen/update-doxygen | 18 +++++++++--------- 1973 5 files changed, 22 insertions(+), 22 deletions(-) 1974 1975commit 94097157fae308b2c1a5edb4e8597c68b45eeaea 1976Author: Jia Tan <jiat0218@gmail.com> 1977Date: 2023-03-16 22:07:15 +0800 1978 1979 liblzma: Remove note from lzma_options_bcj about the ARM64 exception. 1980 1981 This was left in by mistake since an early version of the ARM64 filter 1982 used a different struct for its options. 1983 1984 src/liblzma/api/lzma/bcj.h | 2 +- 1985 1 file changed, 1 insertion(+), 1 deletion(-) 1986 1987commit da16d0b73b79d7785ece6f78a577fadd1fb59d0e 1988Author: Lasse Collin <lasse.collin@tukaani.org> 1989Date: 2023-03-15 19:19:13 +0200 1990 1991 COPYING: Add a note about the included Doxygen-generated HTML. 1992 1993 COPYING | 11 +++++++++++ 1994 1 file changed, 11 insertions(+) 1995 1996commit e57c74f9ef19201f72c106f2c347596f40229936 1997Author: Jia Tan <jiat0218@gmail.com> 1998Date: 2023-03-16 21:41:09 +0800 1999 2000 Doc: Update PACKAGERS with details about liblzma API docs install. 2001 2002 PACKAGERS | 22 ++++++++++++++++------ 2003 1 file changed, 16 insertions(+), 6 deletions(-) 2004 2005commit 7e2fa48bb73edb25457232e2e62a4f81c6b95281 2006Author: Jia Tan <jiat0218@gmail.com> 2007Date: 2023-03-16 21:38:32 +0800 2008 2009 liblzma: Add set lzma.h as the main page for Doxygen documentation. 2010 2011 The \mainpage command is used in the first block of comments in lzma.h. 2012 This changes the previously nearly empty index.html to use the first 2013 comment block in lzma.h for its contents. 2014 2015 lzma.h is no longer documented separately, but this is for the better 2016 since lzma.h only defined a few macros that users do not need to use. 2017 The individual API header files all have a disclaimer that they should 2018 not be #included directly, so there should be no confusion on the fact 2019 that lzma.h should be the only header used by applications. 2020 2021 Additionally, the note "See ../lzma.h for information about liblzma as 2022 a whole." was removed since lzma.h is now the main page of the 2023 generated HTML and does not have its own page anymore. So it would be 2024 confusing in the HTML version and was only a "nice to have" when 2025 browsing the source files. 2026 2027 src/liblzma/api/lzma.h | 1 + 2028 src/liblzma/api/lzma/base.h | 2 -- 2029 src/liblzma/api/lzma/bcj.h | 2 -- 2030 src/liblzma/api/lzma/block.h | 2 -- 2031 src/liblzma/api/lzma/check.h | 2 -- 2032 src/liblzma/api/lzma/container.h | 2 -- 2033 src/liblzma/api/lzma/delta.h | 2 -- 2034 src/liblzma/api/lzma/filter.h | 2 -- 2035 src/liblzma/api/lzma/hardware.h | 2 -- 2036 src/liblzma/api/lzma/index.h | 2 -- 2037 src/liblzma/api/lzma/index_hash.h | 4 +--- 2038 src/liblzma/api/lzma/lzma12.h | 2 -- 2039 src/liblzma/api/lzma/stream_flags.h | 2 -- 2040 src/liblzma/api/lzma/version.h | 2 -- 2041 src/liblzma/api/lzma/vli.h | 2 -- 2042 15 files changed, 2 insertions(+), 29 deletions(-) 2043 2044commit d42977c7acfdf7fd9acc8803cf411eca7dc10478 2045Author: Jia Tan <jiat0218@gmail.com> 2046Date: 2023-03-16 21:37:32 +0800 2047 2048 Build: Generate doxygen documentation in autogen.sh. 2049 2050 Another command line option (--no-doxygen) was added to disable 2051 creating the doxygen documenation in cases where it not wanted or 2052 if the doxygen tool is not installed. 2053 2054 autogen.sh | 35 +++++++++++++++++++++++++++++------ 2055 1 file changed, 29 insertions(+), 6 deletions(-) 2056 2057commit 8fc712fcf41d821069c670f22b8bf628e7a4a877 2058Author: Jia Tan <jiat0218@gmail.com> 2059Date: 2023-03-16 21:35:55 +0800 2060 2061 Build: Create doxygen/update-doxygen script. 2062 2063 This is a helper script to generate the Doxygen documentation. It can be 2064 run in 'liblzma' or 'internal' mode by setting the first argument. It 2065 will default to 'liblzma' mode and only generate documentation for the 2066 liblzma API header files. 2067 2068 The helper script will be run during the custom mydist hook when we 2069 create releases. This hook already alters the source directory, so its 2070 fine to do it here too. This way, we can include the Doxygen generated 2071 files in the distrubtion and when installing. 2072 2073 In 'liblzma' mode, the JavaScript is stripped from the .html files and 2074 the .js files are removed. This avoids license hassle from jQuery and 2075 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form. 2076 2077 Makefile.am | 1 + 2078 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++ 2079 2 files changed, 112 insertions(+) 2080 2081commit 77d2c025d19fbac7277c63239cfb1338f02c66c0 2082Author: Jia Tan <jiat0218@gmail.com> 2083Date: 2023-03-16 21:34:36 +0800 2084 2085 Build: Install Doxygen docs and include in distribution if generated. 2086 2087 Added a install-data-local target to install the Doxygen documentation 2088 only when it has been generated. In order to correctly remove the docs, 2089 a corresponding uninstall-local target was added. 2090 2091 If the doxygen docs exist in the source tree, they will also be included 2092 in the distribution now too. 2093 2094 Makefile.am | 18 ++++++++++++++++++ 2095 1 file changed, 18 insertions(+) 2096 2097commit 9af8f6f947a43974a4ff025f4c896f2fb4c91b4f 2098Author: Jia Tan <jiat0218@gmail.com> 2099Date: 2023-01-03 20:37:30 +0800 2100 2101 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile. 2102 2103 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile 2104 can have the tags that need to be configured piped into the doxygen 2105 command through stdin with the overrides after Doxyfile's contents. 2106 2107 Going forward, the documentation should be generated in two different 2108 modes: liblzma or internal. 2109 2110 liblzma is useful for most users. It is the documentation for just 2111 the liblzma API header files. This is the default. 2112 2113 internal is for people who want to understand how xz and liblzma work. 2114 It might be useful for people who want to contribute to the project. 2115 2116 .gitignore | 3 +- 2117 Doxyfile.in | 1234 ------------------------- 2118 Makefile.am | 1 - 2119 configure.ac | 1 - 2120 doxygen/Doxyfile | 2684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2121 5 files changed, 2686 insertions(+), 1237 deletions(-) 2122 2123commit 1c558a26928b753fcf1c0d4bce9c0643285edd86 2124Author: Jia Tan <jiat0218@gmail.com> 2125Date: 2023-02-28 23:22:36 +0800 2126 2127 Tests: Remove unused macros and functions. 2128 2129 tests/tests.h | 75 ----------------------------------------------------------- 2130 1 file changed, 75 deletions(-) 2131 2132commit 7479a69a45a1b8fdb9a209e11f247dce11ac1ba0 2133Author: Jia Tan <jiat0218@gmail.com> 2134Date: 2023-01-12 22:29:07 +0800 2135 2136 Tests: Refactors existing lzma_index tests. 2137 2138 Converts the existing lzma_index tests into tuktests and covers every 2139 API function from index.h except for lzma_file_info_decoder, which can 2140 be tested in the future. 2141 2142 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++-------------- 2143 1 file changed, 1492 insertions(+), 544 deletions(-) 2144 2145commit fd56d5353360279c10e8e5e05f5bc6ea03f64584 2146Author: Lasse Collin <lasse.collin@tukaani.org> 2147Date: 2023-03-07 19:59:23 +0200 2148 2149 xz: Make Capsicum sandbox more strict with stdin and stdout. 2150 2151 src/xz/file_io.c | 8 ++++++++ 2152 1 file changed, 8 insertions(+) 2153 2154commit d1bdaaebc68cae7f0ba457fa990b520df2186fd1 2155Author: Lasse Collin <lasse.collin@tukaani.org> 2156Date: 2023-03-11 19:31:40 +0200 2157 2158 xz: Don't fail if Capsicum is enabled but kernel doesn't support it. 2159 2160 (This commit combines related commits from the master branch.) 2161 2162 If Capsicum support is missing from the kernel or xz is being run 2163 in an emulator that lacks Capsicum suport, the syscalls will fail 2164 and set errno to ENOSYS. Previously xz would display and error and 2165 exit, making xz unusable. Now it will check for ENOSYS and run 2166 without sandbox support. Other tools like ssh behave similarly. 2167 2168 Displaying a warning for missing Capsicum support was considered 2169 but such extra output would quickly become annoying. It would also 2170 break test_scripts.sh in "make check". 2171 2172 Also move cap_enter() to be the first step instead of the last one. 2173 This matches the example in the cap_rights_limit(2) man page. With 2174 the current code it shouldn't make any practical difference though. 2175 2176 Thanks to Xin Li for the bug report, suggesting a fix, and testing: 2177 https://github.com/tukaani-project/xz/pull/43 2178 2179 Thanks to Jia Tan for most of the original commits. 2180 2181 src/xz/file_io.c | 15 ++++++++++++--- 2182 1 file changed, 12 insertions(+), 3 deletions(-) 2183 2184commit 5d351c69c19d212ddd2cf1f3bdb24900820c6776 2185Author: Jia Tan <jiat0218@gmail.com> 2186Date: 2023-02-04 21:06:35 +0800 2187 2188 Build: Adjust CMake version search regex. 2189 2190 Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH 2191 macros do not need to be on consecutive lines in version.h. They can be 2192 separated by more whitespace, comments, or even other content, as long 2193 as they appear in the proper order (major, minor, patch). 2194 2195 CMakeLists.txt | 2 ++ 2196 1 file changed, 2 insertions(+) 2197 2198commit b82d4831e3f2339c4cdbc47776c99462088c11b7 2199Author: Jia Tan <jiat0218@gmail.com> 2200Date: 2023-01-26 09:50:21 +0800 2201 2202 liblzma: Improve documentation for version.h. 2203 2204 Specified parameter and return values for API functions and documented 2205 a few more of the macros. 2206 2207 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++------- 2208 1 file changed, 22 insertions(+), 7 deletions(-) 2209 2210commit 2caba3efe3e0c2d7c6dca00e22c56812326a34e6 2211Author: Jia Tan <jiat0218@gmail.com> 2212Date: 2023-02-24 23:46:23 +0800 2213 2214 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h. 2215 2216 lzma_lzma_preset() does not guarentee that the lzma_options_lzma are 2217 usable in an encoder even if it returns false (success). If liblzma 2218 is built with default configurations, then the options will always be 2219 usable. However if the match finders hc3, hc4, or bt4 are disabled, then 2220 the options may not be usable depending on the preset level requested. 2221 2222 The documentation was updated to reflect this complexity, since this 2223 behavior was unclear before. 2224 2225 src/liblzma/api/lzma/lzma12.h | 5 +++++ 2226 1 file changed, 5 insertions(+) 2227 2228commit 594f904673ba55a833adfa60bbab6b60d4902d08 2229Author: Lasse Collin <lasse.collin@tukaani.org> 2230Date: 2023-02-27 18:38:35 +0200 2231 2232 CMake: Require that the C compiler supports C99 or a newer standard. 2233 2234 Thanks to autoantwort for reporting the issue and suggesting 2235 a different patch: 2236 https://github.com/tukaani-project/xz/pull/42 2237 2238 CMakeLists.txt | 8 ++++++++ 2239 1 file changed, 8 insertions(+) 2240 2241commit 88101143cb774bca6b7006c8335b09dc3f334140 2242Author: Jia Tan <jiat0218@gmail.com> 2243Date: 2023-02-24 18:10:37 +0800 2244 2245 Tests: Small tweak to test-vli.c. 2246 2247 The static global variables can be disabled if encoders and decoders 2248 are not built. If they are not disabled and -Werror is used, it will 2249 cause an usused warning as an error. 2250 2251 tests/test_vli.c | 2 ++ 2252 1 file changed, 2 insertions(+) 2253 2254commit 4042dbf03a06e019ccdd1e9d1b94cf613d62d5a9 2255Author: Jia Tan <jiat0218@gmail.com> 2256Date: 2023-02-06 21:46:43 +0800 2257 2258 liblzma: Replace '\n' -> newline in filter.h documentation. 2259 2260 The '\n' renders as a newline when the comments are converted to html 2261 by Doxygen. 2262 2263 src/liblzma/api/lzma/filter.h | 2 +- 2264 1 file changed, 1 insertion(+), 1 deletion(-) 2265 2266commit 3971f5c5024750ce8286891c6f79ae1661047483 2267Author: Jia Tan <jiat0218@gmail.com> 2268Date: 2023-02-06 21:45:37 +0800 2269 2270 liblzma: Shorten return description for two functions in filter.h. 2271 2272 Shorten the description for lzma_raw_encoder_memusage() and 2273 lzma_raw_decoder_memusage(). 2274 2275 src/liblzma/api/lzma/filter.h | 8 ++------ 2276 1 file changed, 2 insertions(+), 6 deletions(-) 2277 2278commit 5e61b39432752b6cd1a7b518f0f9e4f0c3f0f242 2279Author: Jia Tan <jiat0218@gmail.com> 2280Date: 2023-02-06 21:44:45 +0800 2281 2282 liblzma: Reword a few lines in filter.h 2283 2284 src/liblzma/api/lzma/filter.h | 10 +++++----- 2285 1 file changed, 5 insertions(+), 5 deletions(-) 2286 2287commit 8a53533869defa1191b41f176a0312cb53a139e2 2288Author: Jia Tan <jiat0218@gmail.com> 2289Date: 2023-02-06 21:35:06 +0800 2290 2291 liblzma: Improve documentation in filter.h. 2292 2293 All functions now explicitly specify parameter and return values. 2294 The notes and code annotations were moved before the parameter and 2295 return value descriptions for consistency. 2296 2297 Also, the description above lzma_filter_encoder_is_supported() about 2298 not being able to list available filters was removed since 2299 lzma_str_list_filters() will do this. 2300 2301 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++---------------- 2302 1 file changed, 143 insertions(+), 83 deletions(-) 2303 2304commit 6d05b08b17ac8cb93165ee8f310fdd925b0b258f 2305Author: Lasse Collin <lasse.collin@tukaani.org> 2306Date: 2023-02-23 20:46:16 +0200 2307 2308 Update THANKS. 2309 2310 THANKS | 1 + 2311 1 file changed, 1 insertion(+) 2312 2313commit dfc9a54082e0fc7b3b796ea15336b5075acc79d5 2314Author: Lasse Collin <lasse.collin@tukaani.org> 2315Date: 2023-02-21 22:57:10 +0200 2316 2317 liblzma: Avoid null pointer + 0 (undefined behavior in C). 2318 2319 In the C99 and C17 standards, section 6.5.6 paragraph 8 means that 2320 adding 0 to a null pointer is undefined behavior. As of writing, 2321 "clang -fsanitize=undefined" (Clang 15) diagnoses this. However, 2322 I'm not aware of any compiler that would take advantage of this 2323 when optimizing (Clang 15 included). It's good to avoid this anyway 2324 since compilers might some day infer that pointer arithmetic implies 2325 that the pointer is not NULL. That is, the following foo() would then 2326 unconditionally return 0, even for foo(NULL, 0): 2327 2328 void bar(char *a, char *b); 2329 2330 int foo(char *a, size_t n) 2331 { 2332 bar(a, a + n); 2333 return a == NULL; 2334 } 2335 2336 In contrast to C, C++ explicitly allows null pointer + 0. So if 2337 the above is compiled as C++ then there is no undefined behavior 2338 in the foo(NULL, 0) call. 2339 2340 To me it seems that changing the C standard would be the sane 2341 thing to do (just add one sentence) as it would ensure that a huge 2342 amount of old code won't break in the future. Based on web searches 2343 it seems that a large number of codebases (where null pointer + 0 2344 occurs) are being fixed instead to be future-proof in case compilers 2345 will some day optimize based on it (like making the above foo(NULL, 0) 2346 return 0) which in the worst case will cause security bugs. 2347 2348 Some projects don't plan to change it. For example, gnulib and thus 2349 many GNU tools currently require that null pointer + 0 is defined: 2350 2351 https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html 2352 2353 https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html 2354 2355 In XZ Utils null pointer + 0 issue should be fixed after this 2356 commit. This adds a few if-statements and thus branches to avoid 2357 null pointer + 0. These check for size > 0 instead of ptr != NULL 2358 because this way bugs where size > 0 && ptr == NULL will likely 2359 get caught quickly. None of them are in hot spots so it shouldn't 2360 matter for performance. 2361 2362 A little less readable version would be replacing 2363 2364 ptr + offset 2365 2366 with 2367 2368 offset != 0 ? ptr + offset : ptr 2369 2370 or creating a macro for it: 2371 2372 #define my_ptr_add(ptr, offset) \ 2373 ((offset) != 0 ? ((ptr) + (offset)) : (ptr)) 2374 2375 Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1, 2376 Clang >= 7, and Clang-based ICX to optimize it to the very same code 2377 as ptr + offset. That is, it won't create a branch. So for hot code 2378 this could be a good solution to avoid null pointer + 0. Unfortunately 2379 other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a 2380 branch from my_ptr_add(). 2381 2382 Thanks to Marcin Kowalczyk for reporting the problem: 2383 https://github.com/tukaani-project/xz/issues/36 2384 2385 src/liblzma/common/block_decoder.c | 5 ++++- 2386 src/liblzma/common/block_encoder.c | 7 +++++-- 2387 src/liblzma/common/common.c | 20 ++++++++++++++------ 2388 src/liblzma/common/index_decoder.c | 13 ++++++++++--- 2389 src/liblzma/common/index_encoder.c | 11 +++++++++-- 2390 src/liblzma/common/index_hash.c | 13 ++++++++++--- 2391 src/liblzma/common/lzip_decoder.c | 6 +++++- 2392 src/liblzma/delta/delta_decoder.c | 7 ++++++- 2393 src/liblzma/delta/delta_encoder.c | 12 ++++++++++-- 2394 src/liblzma/simple/simple_coder.c | 6 ++++-- 2395 10 files changed, 77 insertions(+), 23 deletions(-) 2396 2397commit f6dce49cb656b358e2fb2a3032e35e20af34dc84 2398Author: Jia Tan <jiat0218@gmail.com> 2399Date: 2023-02-07 00:00:44 +0800 2400 2401 liblzma: Adjust container.h for consistency with filter.h. 2402 2403 src/liblzma/api/lzma/container.h | 20 +++++++++----------- 2404 1 file changed, 9 insertions(+), 11 deletions(-) 2405 2406commit 173d240bb4763aedc8c01df4d9c83e311d954c33 2407Author: Jia Tan <jiat0218@gmail.com> 2408Date: 2023-02-07 00:00:09 +0800 2409 2410 liblzma: Fix small typos and reword a few things in filter.h. 2411 2412 src/liblzma/api/lzma/container.h | 13 ++++++------- 2413 1 file changed, 6 insertions(+), 7 deletions(-) 2414 2415commit 17797bacde3f7264048ef0976c137a600148d6cf 2416Author: Jia Tan <jiat0218@gmail.com> 2417Date: 2023-02-06 23:42:08 +0800 2418 2419 liblzma: Convert list of flags in lzma_mt to bulleted list. 2420 2421 src/liblzma/api/lzma/container.h | 9 ++++++--- 2422 1 file changed, 6 insertions(+), 3 deletions(-) 2423 2424commit 37da0e727161b401b8bfd8dccf163a4b2fc0460b 2425Author: Jia Tan <jiat0218@gmail.com> 2426Date: 2023-01-26 23:17:41 +0800 2427 2428 liblzma: Fix typo in documentation in container.h 2429 2430 lzma_microlzma_decoder -> lzma_microlzma_encoder 2431 2432 src/liblzma/api/lzma/container.h | 2 +- 2433 1 file changed, 1 insertion(+), 1 deletion(-) 2434 2435commit b8331077c626e6bf14f4671d09b561146eaf816a 2436Author: Jia Tan <jiat0218@gmail.com> 2437Date: 2023-01-26 23:16:34 +0800 2438 2439 liblzma: Improve documentation for container.h 2440 2441 Standardizing each function to always specify parameters and return 2442 values. Also moved the parameters and return values to the end of each 2443 function description. 2444 2445 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++-------------- 2446 1 file changed, 93 insertions(+), 53 deletions(-) 2447 2448commit b9a3511bb61d3b6ce49abd33dce6155a573f5272 2449Author: Jia Tan <jiat0218@gmail.com> 2450Date: 2023-02-22 20:59:41 +0800 2451 2452 CMake: Add LZIP decoder test to list of tests. 2453 2454 CMakeLists.txt | 1 + 2455 1 file changed, 1 insertion(+) 2456 2457commit cd82ef2fb48b174c57cd03b84a9a0f978772cb89 2458Author: Lasse Collin <lasse.collin@tukaani.org> 2459Date: 2023-02-17 20:56:49 +0200 2460 2461 Update THANKS. 2462 2463 THANKS | 1 + 2464 1 file changed, 1 insertion(+) 2465 2466commit 076e911ba25cadf2cbdfbd0f65991a002e210c0b 2467Author: Lasse Collin <lasse.collin@tukaani.org> 2468Date: 2023-02-17 20:48:28 +0200 2469 2470 Build: Use only the generic symbol versioning on MicroBlaze. 2471 2472 On MicroBlaze, GCC 12 is broken in sense that 2473 __has_attribute(__symver__) returns true but it still doesn't 2474 support the __symver__ attribute even though the platform is ELF 2475 and symbol versioning is supported if using the traditional 2476 __asm__(".symver ...") method. Avoiding the traditional method is 2477 good because it breaks LTO (-flto) builds with GCC. 2478 2479 See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 2480 2481 For now the only extra symbols in liblzma_linux.map are the 2482 compatibility symbols with the patch that spread from RHEL/CentOS 7. 2483 These require the use of __symver__ attribute or __asm__(".symver ...") 2484 in the C code. Compatibility with the patch from CentOS 7 doesn't 2485 seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze 2486 instead. It doesn't require anything special in the C code and thus 2487 no LTO issues either. 2488 2489 An alternative would be to detect support for __symver__ 2490 attribute in configure.ac and CMakeLists.txt and fall back 2491 to __asm__(".symver ...") but then LTO would be silently broken 2492 on MicroBlaze. It sounds likely that MicroBlaze is a special 2493 case so let's treat it as a such because that is simpler. If 2494 a similar issue exists on some other platform too then hopefully 2495 someone will report it and this can be reconsidered. 2496 2497 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should 2498 but perhaps CMake build of liblzma doesn't matter much on MicroBlaze. 2499 The problem breaks the build so it's easy to notice and can be fixed 2500 later.) 2501 2502 Thanks to Vincent Fazio for reporting the problem and proposing 2503 a patch (in the end that solution wasn't used): 2504 https://github.com/tukaani-project/xz/pull/32 2505 2506 configure.ac | 12 ++++++++++-- 2507 1 file changed, 10 insertions(+), 2 deletions(-) 2508 2509commit bc34e5ac9996667d2c1ec9a7895ec5931ac4caea 2510Author: Lasse Collin <lasse.collin@tukaani.org> 2511Date: 2023-02-16 21:09:00 +0200 2512 2513 liblzma: Very minor API doc tweaks. 2514 2515 Use "member" to refer to struct members as that's the term used 2516 by the C standard. 2517 2518 Use lzma_options_delta.dist and such in docs so that in Doxygen's 2519 HTML output they will link to the doc of the struct member. 2520 2521 Clean up a few trailing white spaces too. 2522 2523 src/liblzma/api/lzma/block.h | 6 +++--- 2524 src/liblzma/api/lzma/delta.h | 6 +++--- 2525 src/liblzma/api/lzma/index.h | 10 +++++----- 2526 src/liblzma/api/lzma/stream_flags.h | 6 +++--- 2527 4 files changed, 14 insertions(+), 14 deletions(-) 2528 2529commit d31fbd28be5b79eb682db50004b0fb7aad5299ec 2530Author: Jia Tan <jiat0218@gmail.com> 2531Date: 2023-02-17 00:54:33 +0800 2532 2533 liblzma: Adjust spacing in doc headers in bcj.h. 2534 2535 src/liblzma/api/lzma/bcj.h | 14 +++++++------- 2536 1 file changed, 7 insertions(+), 7 deletions(-) 2537 2538commit 701e9be6bede19771895f756082db0c017f86f07 2539Author: Jia Tan <jiat0218@gmail.com> 2540Date: 2023-02-17 00:44:44 +0800 2541 2542 liblzma: Adjust documentation in bcj.h for consistent style. 2543 2544 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++--------------------- 2545 1 file changed, 22 insertions(+), 21 deletions(-) 2546 2547commit 762c4d0b62d2694cf3a01e030fdfe68e09e7b503 2548Author: Jia Tan <jiat0218@gmail.com> 2549Date: 2023-02-17 00:36:05 +0800 2550 2551 liblzma: Rename field => member in documentation. 2552 2553 Also adjusted preset value => preset level. 2554 2555 src/liblzma/api/lzma/base.h | 18 +++++++-------- 2556 src/liblzma/api/lzma/block.h | 44 ++++++++++++++++++------------------- 2557 src/liblzma/api/lzma/container.h | 26 +++++++++++----------- 2558 src/liblzma/api/lzma/delta.h | 12 +++++----- 2559 src/liblzma/api/lzma/index.h | 30 ++++++++++++------------- 2560 src/liblzma/api/lzma/lzma12.h | 28 +++++++++++------------ 2561 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++-------------- 2562 7 files changed, 95 insertions(+), 95 deletions(-) 2563 2564commit 0ce1db0223854d94b4a0d17737ac0486a75d9e6a 2565Author: Lasse Collin <lasse.collin@tukaani.org> 2566Date: 2023-02-16 17:59:50 +0200 2567 2568 liblzma: Silence a warning from MSVC. 2569 2570 It gives C4146 here since unary minus with unsigned integer 2571 is still unsigned (which is the intention here). Doing it 2572 with substraction makes it clearer and avoids the warning. 2573 2574 Thanks to Nathan Moinvaziri for reporting this. 2575 2576 src/liblzma/check/crc64_fast.c | 2 +- 2577 1 file changed, 1 insertion(+), 1 deletion(-) 2578 2579commit d83da006b3e8dbad9112e6cde6b27049d193c9ec 2580Author: Jia Tan <jiat0218@gmail.com> 2581Date: 2023-02-16 21:04:54 +0800 2582 2583 liblzma: Improve documentation for stream_flags.h 2584 2585 Standardizing each function to always specify parameters and return 2586 values. Also moved the parameters and return values to the end of each 2587 function description. 2588 2589 A few small things were reworded and long sentences broken up. 2590 2591 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++--------------- 2592 1 file changed, 46 insertions(+), 30 deletions(-) 2593 2594commit 2796bb4736f645d34939b5d62d5958f534e41e69 2595Author: Jia Tan <jiat0218@gmail.com> 2596Date: 2023-02-14 21:50:16 +0800 2597 2598 liblzma: Improve documentation in lzma12.h. 2599 2600 All functions now explicitly specify parameter and return values. 2601 2602 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++--------- 2603 1 file changed, 23 insertions(+), 9 deletions(-) 2604 2605commit ebebaa8d9381afea440eb1b01917117551adf68f 2606Author: Jia Tan <jiat0218@gmail.com> 2607Date: 2023-01-27 22:44:06 +0800 2608 2609 liblzma: Improve documentation in check.h. 2610 2611 All functions now explicitly specify parameter and return values. 2612 Also moved the note about SHA-256 functions not being exported to the 2613 top of the file. 2614 2615 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++------------- 2616 1 file changed, 28 insertions(+), 13 deletions(-) 2617 2618commit 765fa2865aab97ea713c1715922e322b3cf599a7 2619Author: Jia Tan <jiat0218@gmail.com> 2620Date: 2023-02-08 21:33:52 +0800 2621 2622 liblzma: Improve documentation in index.h 2623 2624 All functions now explicitly specify parameter and return values. 2625 2626 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++------------- 2627 1 file changed, 126 insertions(+), 51 deletions(-) 2628 2629commit 918e208af5960728b6def01e692b395f7d8e3701 2630Author: Jia Tan <jiat0218@gmail.com> 2631Date: 2023-02-08 20:35:32 +0800 2632 2633 liblzma: Reword a comment in index.h. 2634 2635 src/liblzma/api/lzma/index.h | 4 ++-- 2636 1 file changed, 2 insertions(+), 2 deletions(-) 2637 2638commit 1f157d214bc09338876d2467b549935679abc0bf 2639Author: Jia Tan <jiat0218@gmail.com> 2640Date: 2023-02-08 20:30:23 +0800 2641 2642 liblzma: Omit lzma_index_iter's internal field from Doxygen docs. 2643 2644 Add \private above this field and its sub-fields since it is not meant 2645 to be modified by users. 2646 2647 src/liblzma/api/lzma/index.h | 9 ++++++++- 2648 1 file changed, 8 insertions(+), 1 deletion(-) 2649 2650commit 28757fa46d8e0f0a9c17628b2b6af9bcb3cd96fc 2651Author: Jia Tan <jiat0218@gmail.com> 2652Date: 2023-01-21 21:32:03 +0800 2653 2654 liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR. 2655 2656 LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put 2657 documentation after a member. 2658 2659 src/liblzma/api/lzma/base.h | 2 +- 2660 1 file changed, 1 insertion(+), 1 deletion(-) 2661 2662commit 135d5a1a65a9e199b9a5550c1f788cf43cd81018 2663Author: Jia Tan <jiat0218@gmail.com> 2664Date: 2023-01-21 00:29:38 +0800 2665 2666 liblzma: Improve documentation for base.h. 2667 2668 Standardizing each function to always specify params and return values. 2669 Also fixed a small grammar mistake. 2670 2671 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++----- 2672 1 file changed, 25 insertions(+), 5 deletions(-) 2673 2674commit 2287d5668384e289d51e72724997dc920483768e 2675Author: Jia Tan <jiat0218@gmail.com> 2676Date: 2023-02-14 00:08:33 +0800 2677 2678 liblzma: Minor improvements to vli.h. 2679 2680 Added [out] annotations to parameters that are pointers and can have 2681 their value changed. Also added a clarification to lzma_vli_is_valid. 2682 2683 src/liblzma/api/lzma/vli.h | 15 ++++++++------- 2684 1 file changed, 8 insertions(+), 7 deletions(-) 2685 2686commit 7124b8a16ae60cb2e93218ff531868eebd673bde 2687Author: Jia Tan <jiat0218@gmail.com> 2688Date: 2023-02-10 21:38:02 +0800 2689 2690 liblzma: Add comments for macros in delta.h. 2691 2692 Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness 2693 and to avoid Doxygen warnings. 2694 2695 src/liblzma/api/lzma/delta.h | 8 ++++++++ 2696 1 file changed, 8 insertions(+) 2697 2698commit 59c7bb8931159fdb1a31bbbeaed0e6984e2d3c81 2699Author: Jia Tan <jiat0218@gmail.com> 2700Date: 2023-02-10 21:35:23 +0800 2701 2702 liblzma: Improve documentation in index_hash.h. 2703 2704 All functions now explicitly specify parameter and return values. 2705 Also reworded the description of lzma_index_hash_init() for readability. 2706 2707 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++--------- 2708 1 file changed, 27 insertions(+), 9 deletions(-) 2709 2710commit e970c28ac3cb2e8051925f81db2fe953664c2645 2711Author: Jia Tan <jiat0218@gmail.com> 2712Date: 2023-02-03 00:33:32 +0800 2713 2714 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length. 2715 2716 The bug is only a problem in applications that do not properly terminate 2717 the filters[] array with LZMA_VLI_UNKNOWN or have more than 2718 LZMA_FILTERS_MAX filters. This bug does not affect xz. 2719 2720 src/liblzma/common/string_conversion.c | 7 +++++++ 2721 1 file changed, 7 insertions(+) 2722 2723commit 85e01266a96689448abb249da6c6abc3afcd4a4e 2724Author: Jia Tan <jiat0218@gmail.com> 2725Date: 2023-02-03 00:32:47 +0800 2726 2727 Tests: Create test_filter_str.c. 2728 2729 Tests lzma_str_to_filters(), lzma_str_from_filters(), and 2730 lzma_str_list_filters() API functions. 2731 2732 CMakeLists.txt | 1 + 2733 tests/Makefile.am | 2 + 2734 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++ 2735 3 files changed, 596 insertions(+) 2736 2737commit 3fa0f3ba12dd3383f62dbfa18a864f9b4217fa0a 2738Author: Jia Tan <jiat0218@gmail.com> 2739Date: 2023-01-22 08:49:00 +0800 2740 2741 liblzma: Fix typos in comments in string_conversion.c. 2742 2743 src/liblzma/common/string_conversion.c | 4 ++-- 2744 1 file changed, 2 insertions(+), 2 deletions(-) 2745 2746commit 32dbe045d74e94f75c53236fa2a6c0454d7b6d9e 2747Author: Jia Tan <jiat0218@gmail.com> 2748Date: 2023-02-03 00:20:20 +0800 2749 2750 liblzma: Clarify block encoder and decoder documentation. 2751 2752 Added a few sentences to the description for lzma_block_encoder() and 2753 lzma_block_decoder() to highlight that the Block Header must be coded 2754 before calling these functions. 2755 2756 src/liblzma/api/lzma/block.h | 15 +++++++++++---- 2757 1 file changed, 11 insertions(+), 4 deletions(-) 2758 2759commit ccf12acbfa7331b1bbb99ec55879186eb35f879f 2760Author: Jia Tan <jiat0218@gmail.com> 2761Date: 2023-02-03 00:12:24 +0800 2762 2763 Update lzma_block documentation for lzma_block_uncomp_encode(). 2764 2765 src/liblzma/api/lzma/block.h | 3 +++ 2766 1 file changed, 3 insertions(+) 2767 2768commit 6a0b168dd9dc1ef437255c4bfdc6eff8b96fdb24 2769Author: Jia Tan <jiat0218@gmail.com> 2770Date: 2023-02-03 00:11:37 +0800 2771 2772 liblzma: Minor edits to lzma_block header_size documentation. 2773 2774 src/liblzma/api/lzma/block.h | 3 ++- 2775 1 file changed, 2 insertions(+), 1 deletion(-) 2776 2777commit 84ce36f90e68471fec1f0e61cd93ac7ed9ab4883 2778Author: Jia Tan <jiat0218@gmail.com> 2779Date: 2023-02-03 00:11:07 +0800 2780 2781 liblzma: Enumerate functions that read version in lzma_block. 2782 2783 src/liblzma/api/lzma/block.h | 13 +++++++++++-- 2784 1 file changed, 11 insertions(+), 2 deletions(-) 2785 2786commit d6620774682830d606f57109861b6763805b3492 2787Author: Jia Tan <jiat0218@gmail.com> 2788Date: 2023-02-03 00:10:34 +0800 2789 2790 liblzma: Clarify comment in block.h. 2791 2792 src/liblzma/api/lzma/block.h | 3 ++- 2793 1 file changed, 2 insertions(+), 1 deletion(-) 2794 2795commit 880adb5aa25f66a53d81c2f3acc716f7a4d373d1 2796Author: Jia Tan <jiat0218@gmail.com> 2797Date: 2023-02-03 00:07:23 +0800 2798 2799 liblzma: Improve documentation for block.h. 2800 2801 Standardizing each function to always specify params and return values. 2802 Output pointer parameters are also marked with doxygen style [out] to 2803 make it clear. Any note sections were also moved above the parameter and 2804 return sections for consistency. 2805 2806 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++---------- 2807 1 file changed, 75 insertions(+), 21 deletions(-) 2808 2809commit b5b1b1f061c342271e4977ce5cba604a19c0ca52 2810Author: Jia Tan <jiat0218@gmail.com> 2811Date: 2023-02-01 23:38:30 +0800 2812 2813 liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION. 2814 2815 The flag description for LZMA_STR_NO_VALIDATION was previously confusing 2816 about the treatment for filters than cannot be used with .xz format 2817 (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that 2818 LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS. 2819 2820 src/liblzma/api/lzma/filter.h | 5 +++-- 2821 1 file changed, 3 insertions(+), 2 deletions(-) 2822 2823commit e904e778b82b14f2779aab80d6c8f3c01a3fc54b 2824Author: Jia Tan <jiat0218@gmail.com> 2825Date: 2023-01-27 20:14:51 +0800 2826 2827 Translations: Add Brazilian Portuguese translation of man pages. 2828 2829 Thanks to Rafael Fontenelle. 2830 2831 po4a/po4a.conf | 2 +- 2832 po4a/pt_BR.po | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2833 2 files changed, 3678 insertions(+), 1 deletion(-) 2834 2835commit e9c47e79c9584ba1126f5fa0dbe6c96e67411aa6 2836Author: Jia Tan <jiat0218@gmail.com> 2837Date: 2023-01-24 20:48:50 +0800 2838 2839 liblzma: Fix documentation in filter.h for lzma_str_to_filters() 2840 2841 The previous documentation for lzma_str_to_filters() was technically 2842 correct, but misleading. lzma_str_to_filters() returns NULL on success, 2843 which is in practice always defined to 0. This is the same value as 2844 LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should 2845 be more clear. 2846 2847 src/liblzma/api/lzma/filter.h | 2 +- 2848 1 file changed, 1 insertion(+), 1 deletion(-) 2849 2850commit 99575947a58a60416c570eb78038d18a1ea4cef4 2851Author: Jia Tan <jiat0218@gmail.com> 2852Date: 2023-01-07 21:55:06 +0800 2853 2854 xz: Refactor duplicated check for custom suffix when using --format=raw 2855 2856 src/xz/args.c | 8 ++++++++ 2857 src/xz/suffix.c | 26 ++++++++------------------ 2858 src/xz/suffix.h | 8 ++++++++ 2859 3 files changed, 24 insertions(+), 18 deletions(-) 2860 2861commit 76dec92fcca4a9ccd2063ed6d5d9e3474665baad 2862Author: Jia Tan <jiat0218@gmail.com> 2863Date: 2023-01-20 21:53:14 +0800 2864 2865 liblzma: Set documentation on all reserved fields to private. 2866 2867 This prevents the reserved fields from being part of the generated 2868 Doxygen documentation. 2869 2870 src/liblzma/api/lzma/base.h | 17 +++++++++++++++ 2871 src/liblzma/api/lzma/block.h | 43 +++++++++++++++++++++++++++++++++++++ 2872 src/liblzma/api/lzma/container.h | 24 +++++++++++++++++++++ 2873 src/liblzma/api/lzma/delta.h | 12 +++++++++++ 2874 src/liblzma/api/lzma/index.h | 27 +++++++++++++++++++++++ 2875 src/liblzma/api/lzma/lzma12.h | 22 +++++++++++++++++++ 2876 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++ 2877 7 files changed, 173 insertions(+) 2878 2879commit bd213d06ebf92cf42eeb97e7c578bddc857f8ea8 2880Author: Jia Tan <jiat0218@gmail.com> 2881Date: 2022-12-21 23:59:43 +0800 2882 2883 liblzma: Highlight liblzma API headers should not be included directly. 2884 2885 This improves the generated Doxygen HTML files to better highlight 2886 how to properly use the liblzma API header files. 2887 2888 src/liblzma/api/lzma/base.h | 5 +++-- 2889 src/liblzma/api/lzma/bcj.h | 5 +++-- 2890 src/liblzma/api/lzma/block.h | 5 +++-- 2891 src/liblzma/api/lzma/check.h | 5 +++-- 2892 src/liblzma/api/lzma/container.h | 5 +++-- 2893 src/liblzma/api/lzma/delta.h | 5 +++-- 2894 src/liblzma/api/lzma/filter.h | 5 +++-- 2895 src/liblzma/api/lzma/hardware.h | 5 +++-- 2896 src/liblzma/api/lzma/index.h | 5 +++-- 2897 src/liblzma/api/lzma/index_hash.h | 5 +++-- 2898 src/liblzma/api/lzma/lzma12.h | 5 +++-- 2899 src/liblzma/api/lzma/stream_flags.h | 5 +++-- 2900 src/liblzma/api/lzma/version.h | 5 +++-- 2901 src/liblzma/api/lzma/vli.h | 5 +++-- 2902 14 files changed, 42 insertions(+), 28 deletions(-) 2903 2904commit 257dbff0ba1a7bc45a74d203ece015c9f70c88cd 2905Author: Jia Tan <jiat0218@gmail.com> 2906Date: 2023-01-19 20:35:09 +0800 2907 2908 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64. 2909 2910 tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64 2911 to retrieve a function address. The proper way to do this is to cast the 2912 return value to the type of function pointer retrieved. Unfortunately, 2913 this causes a cast-function-type warning, so the best solution is to 2914 simply ignore the warning. 2915 2916 src/common/tuklib_physmem.c | 18 ++++++++++++++++++ 2917 1 file changed, 18 insertions(+) 2918 2919commit 720ad4a44282a7ee59aa9920eaf495d85d245d97 2920Author: Jia Tan <jiat0218@gmail.com> 2921Date: 2023-01-16 21:35:45 +0800 2922 2923 xz: Add missing comment for coder_set_compression_settings() 2924 2925 src/xz/coder.h | 3 ++- 2926 1 file changed, 2 insertions(+), 1 deletion(-) 2927 2928commit 88dc19163421282369c0989e997c05f9a447edc6 2929Author: Jia Tan <jiat0218@gmail.com> 2930Date: 2023-01-16 20:55:10 +0800 2931 2932 xz: Do not set compression settings with raw format in list mode. 2933 2934 Calling coder_set_compression_settings() in list mode with verbose mode 2935 on caused the filter chain and memory requirements to print. This was 2936 unnecessary since the command results in an error and not consistent 2937 with other formats like lzma and alone. 2938 2939 src/xz/args.c | 3 ++- 2940 1 file changed, 2 insertions(+), 1 deletion(-) 2941 2942commit 039e0ab13efb144642f9d99eeeb9c668e76bb430 2943Author: Jia Tan <jiat0218@gmail.com> 2944Date: 2023-01-13 20:37:06 +0800 2945 2946 Translations: Update the Brazilian Portuguese translation. 2947 2948 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++-------------------------- 2949 1 file changed, 344 insertions(+), 259 deletions(-) 2950 2951commit 718f7a60e740b26b8353965edaaddc7d4deb4d85 2952Author: Lasse Collin <lasse.collin@tukaani.org> 2953Date: 2023-01-12 13:04:05 +0200 2954 2955 Build: Omit -Wmissing-noreturn from the default warnings. 2956 2957 It's not that important. It can be annoying in builds that 2958 disable many features since in those cases the tests programs 2959 will correctly trigger this warning with Clang. 2960 2961 configure.ac | 1 - 2962 1 file changed, 1 deletion(-) 2963 2964commit 3ccedb09724c998c39d708c945f6da5852c39e13 2965Author: Lasse Collin <lasse.collin@tukaani.org> 2966Date: 2023-01-12 06:05:58 +0200 2967 2968 xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1). 2969 2970 It makes no difference here as the return value fits into an int 2971 too and it then gets ignored but this looks better. 2972 2973 src/xz/file_io.c | 2 +- 2974 1 file changed, 1 insertion(+), 1 deletion(-) 2975 2976commit 09fbd2f0527def89e839c8907de4fe7ef6bc5019 2977Author: Lasse Collin <lasse.collin@tukaani.org> 2978Date: 2023-01-12 06:01:12 +0200 2979 2980 xz: Silence warnings from -Wsign-conversion in a 32-bit build. 2981 2982 src/common/tuklib_mbstr_fw.c | 2 +- 2983 src/xz/list.c | 4 ++-- 2984 2 files changed, 3 insertions(+), 3 deletions(-) 2985 2986commit 683d3f178ef1487b5418be49f331b0131a101b40 2987Author: Lasse Collin <lasse.collin@tukaani.org> 2988Date: 2023-01-12 05:38:48 +0200 2989 2990 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build. 2991 2992 It doesn't warn on a 64-bit system because truncating 2993 a ptrdiff_t (signed long) to uint32_t is diagnosed under 2994 -Wconversion by GCC and -Wshorten-64-to-32 by Clang. 2995 2996 src/liblzma/lz/lz_encoder_mf.c | 7 ++++--- 2997 1 file changed, 4 insertions(+), 3 deletions(-) 2998 2999commit 2b8062ef94a38d0f9ad0d1b309e8748db52f5c15 3000Author: Lasse Collin <lasse.collin@tukaani.org> 3001Date: 2023-01-12 04:46:45 +0200 3002 3003 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build. 3004 3005 src/common/mythread.h | 4 ++-- 3006 1 file changed, 2 insertions(+), 2 deletions(-) 3007 3008commit b16b9c0d22227012518595c2222facc73bd833a8 3009Author: Lasse Collin <lasse.collin@tukaani.org> 3010Date: 2023-01-12 04:17:24 +0200 3011 3012 Build: Make configure add more warning flags for GCC and Clang. 3013 3014 -Wstrict-aliasing was removed from the list since it is enabled 3015 by -Wall already. 3016 3017 A normal build is clean with these on GNU/Linux x86-64 with 3018 GCC 12.2.0 and Clang 14.0.6. 3019 3020 configure.ac | 36 +++++++++++++++++++++++++++++++----- 3021 1 file changed, 31 insertions(+), 5 deletions(-) 3022 3023commit c47ecd6d3909d0d3ff48dfd6e2ee41e7c7130b94 3024Author: Lasse Collin <lasse.collin@tukaani.org> 3025Date: 2023-01-12 04:14:18 +0200 3026 3027 Tests: Fix warnings from clang --Wassign-enum. 3028 3029 Explicitly casting the integer to lzma_check silences the warning. 3030 Since such an invalid value is needed in multiple tests, a constant 3031 INVALID_LZMA_CHECK_ID was added to tests.h. 3032 3033 The use of 0x1000 for lzma_block.check wasn't optimal as if 3034 the underlying type is a char then 0x1000 will be truncated to 0. 3035 However, in these test cases the value is ignored, thus even with 3036 such truncation the test would have passed. 3037 3038 tests/test_block_header.c | 6 +++--- 3039 tests/test_check.c | 2 +- 3040 tests/test_stream_flags.c | 8 ++++---- 3041 tests/tests.h | 9 +++++++++ 3042 4 files changed, 17 insertions(+), 8 deletions(-) 3043 3044commit 34e13ce015232968731de2a9ec3440a08b0084b1 3045Author: Lasse Collin <lasse.collin@tukaani.org> 3046Date: 2023-01-12 03:51:07 +0200 3047 3048 Tests: Silence warnings from -Wsign-conversion. 3049 3050 Note that assigning an unsigned int to lzma_check doesn't warn 3051 on GNU/Linux x86-64 since the enum type is unsigned on that 3052 platform. The enum can be signed on some other platform though 3053 so it's best to use enumeration type lzma_check in these situations. 3054 3055 tests/test_check.c | 6 +++--- 3056 tests/test_stream_flags.c | 10 +++++----- 3057 2 files changed, 8 insertions(+), 8 deletions(-) 3058 3059commit 6671d0fe46b77f0fafce860836b7a12dc3cda14a 3060Author: Lasse Collin <lasse.collin@tukaani.org> 3061Date: 2023-01-12 03:19:59 +0200 3062 3063 liblzma: Silence warnings from clang -Wconditional-uninitialized. 3064 3065 This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0. 3066 The actual initialization of the variables is done inside 3067 mythread_sync() macro. Clang doesn't seem to see that 3068 the initialization code inside the macro is always executed. 3069 3070 src/liblzma/common/stream_decoder_mt.c | 8 +++++--- 3071 src/liblzma/common/stream_encoder_mt.c | 2 +- 3072 2 files changed, 6 insertions(+), 4 deletions(-) 3073 3074commit d3e833ca1d2abda54648494c33aca73a40a47efe 3075Author: Lasse Collin <lasse.collin@tukaani.org> 3076Date: 2023-01-12 03:11:40 +0200 3077 3078 Fix warnings from clang -Wdocumentation. 3079 3080 src/liblzma/check/check.h | 4 ---- 3081 src/liblzma/lz/lz_encoder_mf.c | 4 ++-- 3082 src/xz/options.c | 4 ++-- 3083 3 files changed, 4 insertions(+), 8 deletions(-) 3084 3085commit 977dd2e26bc50efec8d30fb90380394042d24558 3086Author: Lasse Collin <lasse.collin@tukaani.org> 3087Date: 2023-01-12 03:04:28 +0200 3088 3089 Tests: test_lzip_decoder: Remove trailing white-space. 3090 3091 tests/test_lzip_decoder.c | 4 ++-- 3092 1 file changed, 2 insertions(+), 2 deletions(-) 3093 3094commit c55157ed7437ab14f2afb7fecf331e321f2edf9a 3095Author: Lasse Collin <lasse.collin@tukaani.org> 3096Date: 2023-01-12 03:03:55 +0200 3097 3098 Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion. 3099 3100 tests/test_lzip_decoder.c | 13 +++++++------ 3101 1 file changed, 7 insertions(+), 6 deletions(-) 3102 3103commit 18b845e69752c975dfeda418ec00eda22605c2ee 3104Author: Lasse Collin <lasse.collin@tukaani.org> 3105Date: 2023-01-11 18:52:54 +0200 3106 3107 Bump version and soname for 5.4.1. 3108 3109 src/liblzma/Makefile.am | 2 +- 3110 src/liblzma/api/lzma/version.h | 2 +- 3111 2 files changed, 2 insertions(+), 2 deletions(-) 3112 3113commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960 3114Author: Jia Tan <jiat0218@gmail.com> 3115Date: 2023-01-11 23:58:16 +0800 3116 3117 Add NEWS for 5.4.1. 3118 3119 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3120 1 file changed, 70 insertions(+) 3121 3122commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2 3123Author: Lasse Collin <lasse.collin@tukaani.org> 3124Date: 2023-01-10 11:56:11 +0200 3125 3126 sysdefs.h: Don't include strings.h anymore. 3127 3128 On some platforms src/xz/suffix.c may need <strings.h> for 3129 strcasecmp() but suffix.c includes the header when it needs it. 3130 3131 Unless there is an old system that otherwise supports enough C99 3132 to build XZ Utils but doesn't have C89/C90-compatible <string.h>, 3133 there should be no need to include <strings.h> in sysdefs.h. 3134 3135 src/common/sysdefs.h | 6 ------ 3136 1 file changed, 6 deletions(-) 3137 3138commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6 3139Author: Lasse Collin <lasse.collin@tukaani.org> 3140Date: 2023-01-10 11:23:41 +0200 3141 3142 xz: Include <strings.h> in suffix.c if needed for strcasecmp(). 3143 3144 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>. 3145 Of these, strcasecmp() is used on some platforms in suffix.c. 3146 Nothing else in the project needs <strings.h> (at least if 3147 building on a modern system). 3148 3149 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is 3150 defined and suffix.c relied on this. 3151 3152 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though 3153 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() 3154 is also in <string.h> in DJGPP. 3155 3156 src/xz/suffix.c | 3 +++ 3157 1 file changed, 3 insertions(+) 3158 3159commit aea639e81beb548e3114c74b6d9a894d6e036189 3160Author: Jia Tan <jiat0218@gmail.com> 3161Date: 2023-01-11 22:46:48 +0800 3162 3163 xz: Fix warning -Wformat-nonliteral on clang in message.c. 3164 3165 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will 3166 allow a non-literal format string as long as the function takes its 3167 format arguments as a va_list. 3168 3169 src/xz/message.c | 9 +++++++++ 3170 1 file changed, 9 insertions(+) 3171 3172commit e3b42bfcb0f67988beee7c7022fed0361282be45 3173Author: Jia Tan <jiat0218@gmail.com> 3174Date: 2023-01-11 20:58:31 +0800 3175 3176 Tests: Fix test_filter_flags copy/paste error. 3177 3178 tests/test_filter_flags.c | 4 ++-- 3179 1 file changed, 2 insertions(+), 2 deletions(-) 3180 3181commit 21625b7e11d004788e40eb5eb88d9d89f65fe347 3182Author: Jia Tan <jiat0218@gmail.com> 3183Date: 2023-01-11 20:42:29 +0800 3184 3185 Tests: Fix type-limits warning in test_filter_flags. 3186 3187 This only occurs in test_filter_flags when the BCJ filters are not 3188 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a 3189 type-limits warning with the loop variable since an unsigned number will 3190 always be >= 0. 3191 3192 tests/test_filter_flags.c | 13 ++++++++++--- 3193 1 file changed, 10 insertions(+), 3 deletions(-) 3194 3195commit c337983e928682d56ce3470b286a8d5b8646e0ad 3196Author: Lasse Collin <lasse.collin@tukaani.org> 3197Date: 2023-01-10 22:14:03 +0200 3198 3199 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. 3200 3201 This affects only 32-bit x86 builds. x86-64 is OK as is. 3202 3203 I still cannot easily test this myself. The reporter has tested 3204 this and it passes the tests included in the CMake build and 3205 performance is good: raw CRC64 is 2-3 times faster than the 3206 C version of the slice-by-four method. (Note that liblzma doesn't 3207 include a MSVC-compatible version of the 32-bit x86 assembly code 3208 for the slice-by-four method.) 3209 3210 Thanks to Iouri Kharon for figuring out a fix, testing, and 3211 benchmarking. 3212 3213 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ 3214 1 file changed, 18 insertions(+) 3215 3216commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7 3217Author: Jia Tan <jiat0218@gmail.com> 3218Date: 2023-01-11 01:18:50 +0800 3219 3220 Tests: Fix unused function warning in test_block_header. 3221 3222 One of the global arrays of filters was only used in a test that 3223 required both encoders and decoders to be configured in the build. 3224 3225 tests/test_block_header.c | 4 ++++ 3226 1 file changed, 4 insertions(+) 3227 3228commit 68e9ef036d18d7c3952bff0b391d5989b86934da 3229Author: Jia Tan <jiat0218@gmail.com> 3230Date: 2023-01-11 01:08:03 +0800 3231 3232 Tests: Fix unused function warning in test_index_hash. 3233 3234 test_index_hash does not use fill_index_hash() unless both encoders 3235 and decoders are configured in the build. 3236 3237 tests/test_index_hash.c | 4 +--- 3238 1 file changed, 1 insertion(+), 3 deletions(-) 3239 3240commit a387707cd8cdefbffb5b7429bda4b7fcc192954a 3241Author: Lasse Collin <lasse.collin@tukaani.org> 3242Date: 2023-01-10 00:33:14 +0200 3243 3244 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. 3245 3246 windows/INSTALL-MSVC.txt | 19 ++++++++++++------- 3247 1 file changed, 12 insertions(+), 7 deletions(-) 3248 3249commit 52902ad69518255a14b0144f0a2379e06fde5b6e 3250Author: Lasse Collin <lasse.collin@tukaani.org> 3251Date: 2023-01-10 12:47:16 +0200 3252 3253 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." 3254 3255 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. 3256 3257 It was reported that it wasn't a good enough fix and MSVC 3258 still produced (different kind of) bad code when building 3259 for 32-bit x86 if optimizations are enabled. 3260 3261 Thanks to Iouri Kharon. 3262 3263 src/liblzma/check/crc64_fast.c | 6 ------ 3264 1 file changed, 6 deletions(-) 3265 3266commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496 3267Author: Lasse Collin <lasse.collin@tukaani.org> 3268Date: 2023-01-10 10:05:13 +0200 3269 3270 sysdefs.h: Fix a comment. 3271 3272 src/common/sysdefs.h | 2 +- 3273 1 file changed, 1 insertion(+), 1 deletion(-) 3274 3275commit 6e89ab58b031aa046308a0b3504ff0a5be042571 3276Author: Lasse Collin <lasse.collin@tukaani.org> 3277Date: 2023-01-10 10:04:06 +0200 3278 3279 sysdefs.h: Don't include memory.h anymore even if it were available. 3280 3281 It quite probably was never needed, that is, any system where memory.h 3282 was required likely couldn't compile XZ Utils for other reasons anyway. 3283 3284 XZ Utils 5.2.6 and later source packages were generated using 3285 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code 3286 being removed is no longer used anyway. 3287 3288 src/common/sysdefs.h | 8 ++------ 3289 1 file changed, 2 insertions(+), 6 deletions(-) 3290 3291commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123 3292Author: Lasse Collin <lasse.collin@tukaani.org> 3293Date: 2023-01-10 08:50:26 +0200 3294 3295 CMake/Windows: Add a workaround for windres from GNU binutils. 3296 3297 This is combined from the following commits in the master branch: 3298 443dfebced041adc88f10d824188eeef5b5821a9 3299 6b117d3b1fe91eb26d533ab16a2e552f84148d47 3300 5e34774c31d1b7509b5cb77a3be9973adec59ea0 3301 3302 Thanks to Iouri Kharon for the bug report, the original patch, 3303 and testing. 3304 3305 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++- 3306 1 file changed, 31 insertions(+), 1 deletion(-) 3307 3308commit 43521e77acc907863fa4f94aae276366172cb9ee 3309Author: Lasse Collin <lasse.collin@tukaani.org> 3310Date: 2023-01-06 22:53:38 +0200 3311 3312 Tests: test_filter_flags: Clean up minor issues. 3313 3314 Here are the list of the most significant issues addressed: 3315 - Avoid using internal common.h header. It's not good to copy the 3316 constants like this but common.h cannot be included for use outside 3317 of liblzma. This is the quickest thing to do that could be fixed later. 3318 3319 - Omit the INIT_FILTER macro. Initialization should be done with just 3320 regular designated initializers. 3321 3322 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter 3323 Flags encoder and decoder don't validate the options thoroughly. 3324 257 is valid only for the x86 filter. This is a bit silly but 3325 not a significant problem in practice because the encoder and 3326 decoder initialization functions will catch bad alignment still. 3327 Perhaps this should be fixed but it's not urgent and doesn't need 3328 to be in 5.4.x. 3329 3330 - Various tweaks to comments such as filter id -> Filter ID 3331 3332 tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- 3333 1 file changed, 78 insertions(+), 75 deletions(-) 3334 3335commit 6b44cead95d767414272dc3a67898a36bfdf95b3 3336Author: Jia Tan <jiat0218@gmail.com> 3337Date: 2022-12-29 23:33:33 +0800 3338 3339 Tests: Refactors existing filter flags tests. 3340 3341 Converts the existing filter flags tests into tuktests. 3342 3343 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- 3344 1 file changed, 457 insertions(+), 198 deletions(-) 3345 3346commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7 3347Author: Lasse Collin <lasse.collin@tukaani.org> 3348Date: 2023-01-08 00:32:29 +0200 3349 3350 Tests: tuktest.h: Support tuktest_malloc(0). 3351 3352 It's not needed in XZ Utils at least for now. It's good to support 3353 it still because if such use is needed later, it wouldn't be 3354 caught on GNU/Linux since malloc(0) from glibc returns non-NULL. 3355 3356 tests/tuktest.h | 4 ++-- 3357 1 file changed, 2 insertions(+), 2 deletions(-) 3358 3359commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee 3360Author: Lasse Collin <lasse.collin@tukaani.org> 3361Date: 2023-01-07 21:57:11 +0200 3362 3363 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. 3364 3365 The changes listed on cmake-policies(7) for versions 3.17 to 3.25 3366 shouldn't affect this project. 3367 3368 CMakeLists.txt | 2 +- 3369 1 file changed, 1 insertion(+), 1 deletion(-) 3370 3371commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2 3372Author: Lasse Collin <lasse.collin@tukaani.org> 3373Date: 2023-01-08 00:24:23 +0200 3374 3375 Update THANKS. 3376 3377 THANKS | 1 + 3378 1 file changed, 1 insertion(+) 3379 3380commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab 3381Author: Lasse Collin <lasse.collin@tukaani.org> 3382Date: 2023-01-07 19:50:35 +0200 3383 3384 Update THANKS. 3385 3386 THANKS | 1 + 3387 1 file changed, 1 insertion(+) 3388 3389commit 3d45987451b1c3bb42697b29341824c0e5484cba 3390Author: Lasse Collin <lasse.collin@tukaani.org> 3391Date: 2023-01-09 11:27:24 +0200 3392 3393 CMake: Fix a copypaste error in xzdec Windows resource file handling. 3394 3395 It was my mistake. Thanks to Iouri Kharon for the bug report. 3396 3397 CMakeLists.txt | 4 ++-- 3398 1 file changed, 2 insertions(+), 2 deletions(-) 3399 3400commit 706bce5018d7cf83094e13454a0731169ec119b5 3401Author: Lasse Collin <lasse.collin@tukaani.org> 3402Date: 2023-01-07 19:50:03 +0200 3403 3404 CMake/Windows: Add resource files to xz.exe and xzdec.exe. 3405 3406 The command line tools cannot be built with MSVC for now but 3407 they can be built with MinGW-w64. 3408 3409 Thanks to Iouri Kharon for the bug report and the original patch. 3410 3411 CMakeLists.txt | 16 ++++++++++++++++ 3412 1 file changed, 16 insertions(+) 3413 3414commit e96dee55df04113c33b387ccdb6cb70935422d91 3415Author: Lasse Collin <lasse.collin@tukaani.org> 3416Date: 2023-01-09 12:22:05 +0200 3417 3418 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). 3419 3420 I haven't tested with MSVC myself and there doesn't seem to be 3421 information about the problem online, so I'm relying on the bug report. 3422 3423 Thanks to Iouri Kharon for the bug report and the patch. 3424 3425 src/liblzma/check/crc64_fast.c | 6 ++++++ 3426 1 file changed, 6 insertions(+) 3427 3428commit 52bc1ee34dda9bb6fb40175e5952863066681b77 3429Author: Lasse Collin <lasse.collin@tukaani.org> 3430Date: 2023-01-07 19:31:15 +0200 3431 3432 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. 3433 3434 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets 3435 disabled with VS2013. 3436 3437 Thanks to Iouri Kharon for the bug report. 3438 3439 CMakeLists.txt | 3 ++- 3440 configure.ac | 8 ++++++-- 3441 2 files changed, 8 insertions(+), 3 deletions(-) 3442 3443commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa 3444Author: Jia Tan <jiat0218@gmail.com> 3445Date: 2022-12-29 00:25:18 +0800 3446 3447 Tests: Creates test_index_hash.c 3448 3449 Tests all API functions exported from index_hash.h. Does not have a 3450 dedicated test for lzma_index_hash_end. 3451 3452 [Minor edits were made by Lasse Collin.] 3453 3454 .gitignore | 1 + 3455 CMakeLists.txt | 2 + 3456 tests/Makefile.am | 3 + 3457 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++ 3458 4 files changed, 394 insertions(+) 3459 3460commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1 3461Author: Jia Tan <jiat0218@gmail.com> 3462Date: 2023-01-05 20:57:25 +0800 3463 3464 liblzma: Remove common.h include from common/index.h. 3465 3466 common/index.h is needed by liblzma internally and tests. common.h will 3467 include and define many things that are not needed by the tests. 3468 3469 Also, this prevents include order problems because both common.h and 3470 lzma.h define LZMA_API. On most platforms it results only in a warning 3471 but on Windows it would break the build as the definition in common.h 3472 must be used only for building liblzma itself. 3473 3474 src/liblzma/common/index.c | 1 + 3475 src/liblzma/common/index.h | 9 +++++++-- 3476 src/liblzma/common/index_decoder.h | 1 + 3477 src/liblzma/common/stream_buffer_encoder.c | 1 + 3478 4 files changed, 10 insertions(+), 2 deletions(-) 3479 3480commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb 3481Author: Jia Tan <jiat0218@gmail.com> 3482Date: 2022-08-17 20:20:16 +0800 3483 3484 liblzma: Add NULL check to lzma_index_hash_append. 3485 3486 This is for consistency with lzma_index_append. 3487 3488 src/liblzma/common/index_hash.c | 2 +- 3489 1 file changed, 1 insertion(+), 1 deletion(-) 3490 3491commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc 3492Author: Jia Tan <jiat0218@gmail.com> 3493Date: 2022-08-17 17:59:51 +0800 3494 3495 liblzma: Replaced hardcoded 0x0 index indicator byte with macro 3496 3497 src/liblzma/common/index.h | 3 +++ 3498 src/liblzma/common/index_decoder.c | 2 +- 3499 src/liblzma/common/index_encoder.c | 2 +- 3500 src/liblzma/common/index_hash.c | 2 +- 3501 src/liblzma/common/stream_decoder.c | 3 ++- 3502 src/liblzma/common/stream_decoder_mt.c | 2 +- 3503 6 files changed, 9 insertions(+), 5 deletions(-) 3504 3505commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6 3506Author: Jia Tan <jiat0218@gmail.com> 3507Date: 2023-01-06 20:43:31 +0800 3508 3509 Style: Change #if !defined() to #ifndef in mythread.h. 3510 3511 src/common/mythread.h | 2 +- 3512 1 file changed, 1 insertion(+), 1 deletion(-) 3513 3514commit 3f0130aa288e4ed57ace609517db9700a41223af 3515Author: Jia Tan <jiat0218@gmail.com> 3516Date: 2023-01-06 20:35:55 +0800 3517 3518 Build: Add missing stream_decoder_mt.c to .vcxproj files. 3519 3520 The line in the .vcxproj files for building with was missing in 5.4.0. 3521 Thank to Hajin Jang for reporting the issue. 3522 3523 windows/vs2013/liblzma.vcxproj | 1 + 3524 windows/vs2013/liblzma_dll.vcxproj | 1 + 3525 windows/vs2017/liblzma.vcxproj | 1 + 3526 windows/vs2017/liblzma_dll.vcxproj | 1 + 3527 windows/vs2019/liblzma.vcxproj | 1 + 3528 windows/vs2019/liblzma_dll.vcxproj | 1 + 3529 6 files changed, 6 insertions(+) 3530 3531commit f204d1050a515d17851eed9049862ce5a9c729c1 3532Author: Lasse Collin <lasse.collin@tukaani.org> 3533Date: 2023-01-04 22:40:54 +0200 3534 3535 Update THANKS. 3536 3537 THANKS | 1 + 3538 1 file changed, 1 insertion(+) 3539 3540commit 34a9c2d650d6c30bd88e1b21910dd863209aa884 3541Author: Lasse Collin <lasse.collin@tukaani.org> 3542Date: 2023-01-04 18:40:28 +0200 3543 3544 Tests: Adjust style in test_compress.sh. 3545 3546 tests/test_compress.sh | 12 +++++++----- 3547 1 file changed, 7 insertions(+), 5 deletions(-) 3548 3549commit 761c208d58e0c3daa0f46e68b406adfc318d2a46 3550Author: Jia Tan <jiat0218@gmail.com> 3551Date: 2023-01-04 23:58:58 +0800 3552 3553 Tests: Replace non portable shell parameter expansion 3554 3555 The shell parameter expansion using # and ## is not supported in 3556 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully 3557 portable, so we should avoid it. 3558 3559 tests/create_compress_files.c | 2 +- 3560 tests/test_compress.sh | 20 +++++++++++++------- 3561 tests/test_compress_prepared_bcj_sparc | 2 +- 3562 tests/test_compress_prepared_bcj_x86 | 2 +- 3563 4 files changed, 16 insertions(+), 10 deletions(-) 3564 3565commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4 3566Author: Jia Tan <jiat0218@gmail.com> 3567Date: 2023-01-03 21:02:38 +0800 3568 3569 Translations: Add Korean translation of man pages. 3570 3571 Thanks to Seong-ho Cho 3572 3573 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3574 po4a/po4a.conf | 2 +- 3575 2 files changed, 5553 insertions(+), 1 deletion(-) 3576 3577commit ca2af49bb8be5995eb0e6a3abf457622626d49a7 3578Author: Jia Tan <jiat0218@gmail.com> 3579Date: 2023-01-03 20:47:27 +0800 3580 3581 Translations: Update the Esperanto translation. 3582 3583 po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- 3584 1 file changed, 332 insertions(+), 288 deletions(-) 3585 3586commit bfba3394aed03311fe9a746d3141b2e16d8b9325 3587Author: Lasse Collin <lasse.collin@tukaani.org> 3588Date: 2023-01-02 17:05:07 +0200 3589 3590 Build: Fix config.h comments. 3591 3592 configure.ac | 2 +- 3593 m4/tuklib_progname.m4 | 2 +- 3594 2 files changed, 2 insertions(+), 2 deletions(-) 3595 3596commit 507648ad114c2ae0cd6d181063e1ac07e8106718 3597Author: Jia Tan <jiat0218@gmail.com> 3598Date: 2023-01-02 22:33:48 +0800 3599 3600 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. 3601 3602 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to 3603 HAVE_PROGRAM_INVOCATION_NAME. Previously, 3604 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when 3605 building with autotools. CMake would only set this when it was 1, and the 3606 dos/config.h did not define it. The new macro definition is consistent 3607 across build systems. 3608 3609 cmake/tuklib_progname.cmake | 5 ++--- 3610 m4/tuklib_progname.m4 | 5 ++++- 3611 src/common/tuklib_progname.c | 2 +- 3612 src/common/tuklib_progname.h | 2 +- 3613 4 files changed, 8 insertions(+), 6 deletions(-) 3614 3615commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5 3616Author: Lasse Collin <lasse.collin@tukaani.org> 3617Date: 2022-12-30 20:10:08 +0200 3618 3619 Tests: test_check: Test corner cases of CLMUL CRC64. 3620 3621 tests/test_check.c | 27 +++++++++++++++++++++++++++ 3622 1 file changed, 27 insertions(+) 3623 3624commit 8791826f31733fda0a13b411c2ed930faaeb25aa 3625Author: Lasse Collin <lasse.collin@tukaani.org> 3626Date: 2022-12-30 19:36:49 +0200 3627 3628 Tests: Clarify a comment in test_lzip_decoder.c. 3629 3630 tests/test_lzip_decoder.c | 8 ++++++-- 3631 1 file changed, 6 insertions(+), 2 deletions(-) 3632 3633commit c410d812ea12bfc74f6b727c1a799478c79f19ca 3634Author: Jia Tan <jiat0218@gmail.com> 3635Date: 2022-12-29 01:55:19 +0800 3636 3637 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c. 3638 3639 Previously, mytime.c depended on mythread.h for <time.h> to be included. 3640 3641 src/xz/mytime.c | 4 +++- 3642 1 file changed, 3 insertions(+), 1 deletion(-) 3643 3644commit 501c6013d4a59fae5d4368e9657c4885493db809 3645Author: Jia Tan <jiat0218@gmail.com> 3646Date: 2022-12-29 01:15:27 +0800 3647 3648 liblzma: Includes sys/time.h conditionally in mythread 3649 3650 Previously, <sys/time.h> was always included, even if mythread only used 3651 clock_gettime. <time.h> is still needed even if clock_gettime is not used 3652 though because struct timespec is needed for mythread_condtime. 3653 3654 src/common/mythread.h | 8 +++++++- 3655 1 file changed, 7 insertions(+), 1 deletion(-) 3656 3657commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f 3658Author: Jia Tan <jiat0218@gmail.com> 3659Date: 2022-12-29 01:10:53 +0800 3660 3661 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. 3662 3663 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always 3664 be set to 0 or 1. However, this macro was needed in xz so if xz was not 3665 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but 3666 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, 3667 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and 3668 will only be set if it is 1. 3669 3670 CMakeLists.txt | 8 +++----- 3671 configure.ac | 5 ++++- 3672 src/common/mythread.h | 4 ++-- 3673 src/xz/mytime.c | 5 ++--- 3674 4 files changed, 11 insertions(+), 11 deletions(-) 3675 3676commit 6fc3e5467911572fa9af4021ea46396261aae796 3677Author: Jia Tan <jiat0218@gmail.com> 3678Date: 2022-12-28 01:14:07 +0800 3679 3680 Translations: Add Ukrainian translations of man pages. 3681 3682 Thanks to Yuri Chornoivan 3683 3684 po4a/po4a.conf | 2 +- 3685 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3686 2 files changed, 3677 insertions(+), 1 deletion(-) 3687 3688commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e 3689Author: Jia Tan <jiat0218@gmail.com> 3690Date: 2022-12-22 23:14:53 +0800 3691 3692 liblzma: Update documentation for lzma_filter_encoder. 3693 3694 src/liblzma/common/filter_encoder.c | 7 +++++-- 3695 1 file changed, 5 insertions(+), 2 deletions(-) 3696 3697commit b14b8dbba9a3b232787ae218b46430b9246383dd 3698Author: Jia Tan <jiat0218@gmail.com> 3699Date: 2022-12-21 21:12:03 +0800 3700 3701 Tests: Adds lzip decoder tests 3702 3703 .gitignore | 1 + 3704 tests/Makefile.am | 2 + 3705 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ 3706 3 files changed, 474 insertions(+) 3707 3708commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710 3709Author: Jia Cheong Tan <jiat0218@gmail.com> 3710Date: 2022-12-20 22:05:21 +0800 3711 3712 Doxygen: Update .gitignore for generating docs for in source build. 3713 3714 In source builds are not recommended, but we should still ignore 3715 the generated artifacts. 3716 3717 .gitignore | 2 ++ 3718 1 file changed, 2 insertions(+) 3719 3720commit d3e6fe44196bf9478ad193522e2b48febf2eca6b 3721Author: Jia Tan <jiat0218@gmail.com> 3722Date: 2022-12-20 20:46:44 +0800 3723 3724 liblzma: Fix lzma_microlzma_encoder() return value. 3725 3726 Using return_if_error on lzma_lzma_lclppb_encode was improper because 3727 return_if_error is expecting an lzma_ret value, but 3728 lzma_lzma_lclppb_encode returns a boolean. This could result in 3729 lzma_microlzma_encoder, which would be misleading for applications. 3730 3731 src/liblzma/common/microlzma_encoder.c | 3 ++- 3732 1 file changed, 2 insertions(+), 1 deletion(-) 3733 3734commit b55a27b46f52524a4a8d9cdef03e6689cefc1375 3735Author: Lasse Collin <lasse.collin@tukaani.org> 3736Date: 2022-12-16 18:30:02 +0200 3737 3738 liblzma: Update authors list in arm64.c. 3739 3740 src/liblzma/simple/arm64.c | 1 + 3741 1 file changed, 1 insertion(+) 3742 3743commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d 3744Author: Jia Tan <jiat0218@gmail.com> 3745Date: 2022-12-16 20:58:55 +0800 3746 3747 CMake: Update .gitignore for CMake artifacts from in source build. 3748 3749 In source builds are not recommended, but we can make it easier 3750 by ignoring the generated artifacts from CMake. 3751 3752 .gitignore | 23 +++++++++++++++++++++++ 3753 1 file changed, 23 insertions(+) 3754 3755commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 3756Author: Lasse Collin <lasse.collin@tukaani.org> 3757Date: 2022-12-13 20:37:17 +0200 3758 3759 Bump version to 5.4.0 and soname to 5.4.0. 3760 3761 src/liblzma/Makefile.am | 2 +- 3762 src/liblzma/api/lzma/version.h | 6 +++--- 3763 src/liblzma/liblzma_generic.map | 2 +- 3764 src/liblzma/liblzma_linux.map | 2 +- 3765 4 files changed, 6 insertions(+), 6 deletions(-) 3766 3767commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19 3768Author: Lasse Collin <lasse.collin@tukaani.org> 3769Date: 2022-12-13 20:29:39 +0200 3770 3771 Update INSTALL: CMake on Windows isn't experimental anymore. 3772 3773 Using CMake to build liblzma should work on a few other OSes 3774 but building the command line tools is still subtly broken. 3775 3776 It is known that shared library versioning may differ between 3777 CMake and Libtool builds on some OSes, most notably Darwin. 3778 3779 INSTALL | 10 ++++------ 3780 1 file changed, 4 insertions(+), 6 deletions(-) 3781 3782commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852 3783Author: Lasse Collin <lasse.collin@tukaani.org> 3784Date: 2022-12-13 19:47:53 +0200 3785 3786 Add NEWS for 5.4.0. 3787 3788 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3789 1 file changed, 202 insertions(+) 3790 3791commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14 3792Author: Lasse Collin <lasse.collin@tukaani.org> 3793Date: 2022-12-13 17:41:20 +0200 3794 3795 Fix a typo in NEWS. 3796 3797 NEWS | 2 +- 3798 1 file changed, 1 insertion(+), 1 deletion(-) 3799 3800commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245 3801Author: Lasse Collin <lasse.collin@tukaani.org> 3802Date: 2022-12-13 17:41:03 +0200 3803 3804 Add NEWS for 5.2.10. 3805 3806 NEWS | 12 ++++++++++++ 3807 1 file changed, 12 insertions(+) 3808 3809commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6 3810Author: Lasse Collin <lasse.collin@tukaani.org> 3811Date: 2022-12-13 12:30:45 +0200 3812 3813 Tests: Fix a typo in tests/files/README. 3814 3815 tests/files/README | 2 +- 3816 1 file changed, 1 insertion(+), 1 deletion(-) 3817 3818commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5 3819Author: Lasse Collin <lasse.collin@tukaani.org> 3820Date: 2022-12-13 12:30:09 +0200 3821 3822 Tests: Add two ARM64 test files. 3823 3824 tests/files/README | 7 +++++++ 3825 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes 3826 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes 3827 tests/test_files.sh | 5 +++++ 3828 4 files changed, 12 insertions(+) 3829 3830commit f5e419550619c548c7c35d7e367cf00580a56521 3831Author: Lasse Collin <lasse.collin@tukaani.org> 3832Date: 2022-12-12 22:44:21 +0200 3833 3834 Translations: Update the Catalan translation. 3835 3836 po/ca.po | 657 +++++++++++++++++++++++++++++---------------------------------- 3837 1 file changed, 306 insertions(+), 351 deletions(-) 3838 3839commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8 3840Author: Lasse Collin <lasse.collin@tukaani.org> 3841Date: 2022-12-12 19:18:12 +0200 3842 3843 Update THANKS. 3844 3845 THANKS | 1 + 3846 1 file changed, 1 insertion(+) 3847 3848commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc 3849Author: Lasse Collin <lasse.collin@tukaani.org> 3850Date: 2022-12-12 19:07:58 +0200 3851 3852 Update AUTHORS. 3853 3854 AUTHORS | 12 ++++++++++++ 3855 1 file changed, 12 insertions(+) 3856 3857commit f2d98e691099d82054d5f3071ef6f5e809932e44 3858Author: Lasse Collin <lasse.collin@tukaani.org> 3859Date: 2022-12-12 15:31:14 +0200 3860 3861 Docs: Omit multi-threaded decompress from TODO. 3862 3863 The TODO file outdated still. 3864 3865 TODO | 2 -- 3866 1 file changed, 2 deletions(-) 3867 3868commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da 3869Author: Lasse Collin <lasse.collin@tukaani.org> 3870Date: 2022-12-11 21:16:09 +0200 3871 3872 Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter. 3873 3874 doc/xz-file-format.txt | 29 ++++++++++++++++++++++------- 3875 1 file changed, 22 insertions(+), 7 deletions(-) 3876 3877commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f 3878Author: Lasse Collin <lasse.collin@tukaani.org> 3879Date: 2022-12-11 21:13:57 +0200 3880 3881 xz: Rename --experimental-arm64 to --arm64. 3882 3883 src/xz/args.c | 2 +- 3884 1 file changed, 1 insertion(+), 1 deletion(-) 3885 3886commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5 3887Author: Lasse Collin <lasse.collin@tukaani.org> 3888Date: 2022-12-11 21:13:06 +0200 3889 3890 liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A. 3891 3892 src/liblzma/api/lzma/bcj.h | 6 +----- 3893 1 file changed, 1 insertion(+), 5 deletions(-) 3894 3895commit 01b3549e523edac899ec4925b282ceddd20da116 3896Author: Lasse Collin <lasse.collin@tukaani.org> 3897Date: 2022-12-08 19:24:22 +0200 3898 3899 xz: Make args_info.files_name a const pointer. 3900 3901 src/xz/args.c | 2 +- 3902 src/xz/args.h | 2 +- 3903 2 files changed, 2 insertions(+), 2 deletions(-) 3904 3905commit bc665b84ea6bf7946394a08122177efe41b26a5f 3906Author: Lasse Collin <lasse.collin@tukaani.org> 3907Date: 2022-12-08 19:18:16 +0200 3908 3909 xz: Don't modify argv[]. 3910 3911 The code that parses --memlimit options and --block-list modified 3912 the argv[] when parsing the option string from optarg. This was 3913 visible in "ps auxf" and such and could be confusing. I didn't 3914 understand it back in the day when I wrote that code. Now a copy 3915 is allocated when modifiable strings are needed. 3916 3917 src/xz/args.c | 23 +++++++++++++++++++---- 3918 1 file changed, 19 insertions(+), 4 deletions(-) 3919 3920commit a13064e1c290de7933db72b6dffbd65cfce59c9f 3921Author: Lasse Collin <lasse.collin@tukaani.org> 3922Date: 2022-12-08 18:18:57 +0200 3923 3924 Translations: Update the German man page translations. 3925 3926 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------ 3927 1 file changed, 1374 insertions(+), 3196 deletions(-) 3928 3929commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a 3930Author: Jia Tan <jiat0218@gmail.com> 3931Date: 2022-12-06 23:05:56 +0800 3932 3933 Translations: Update the German translation. 3934 3935 po/de.po | 586 ++++++++++++++++++++++++++++++++++----------------------------- 3936 1 file changed, 315 insertions(+), 271 deletions(-) 3937 3938commit 5c304b57c24ef40ff57f864301065f0244c05bde 3939Author: Jia Tan <jiat0218@gmail.com> 3940Date: 2022-12-06 23:04:25 +0800 3941 3942 Translations: Update the Turkish translation. 3943 3944 po/tr.po | 221 +++++++++++++++++++++++++++++++-------------------------------- 3945 1 file changed, 108 insertions(+), 113 deletions(-) 3946 3947commit 6d86781fdb937970486500447ebb49b98244235b 3948Author: Jia Tan <jiat0218@gmail.com> 3949Date: 2022-12-06 23:02:11 +0800 3950 3951 Translations: Update the Croatian translation. 3952 3953 po/hr.po | 228 +++++++++++++++++++++++++++++++-------------------------------- 3954 1 file changed, 113 insertions(+), 115 deletions(-) 3955 3956commit 7a5b4b8075eb36026b1796f04ffed5830c42396a 3957Author: Jia Tan <jiat0218@gmail.com> 3958Date: 2022-12-06 22:56:30 +0800 3959 3960 Translations: Add Romanian translation of man pages. 3961 3962 Thanks to Remus-Gabriel Chelu. 3963 3964 po4a/po4a.conf | 2 +- 3965 po4a/ro.po | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3966 2 files changed, 3693 insertions(+), 1 deletion(-) 3967 3968commit c6977e7400088177556e8771bcb839eb7d90caa3 3969Author: Jia Tan <jiat0218@gmail.com> 3970Date: 2022-12-06 22:52:13 +0800 3971 3972 Translations: Update the Romanian translation. 3973 3974 po/ro.po | 294 +++++++++++++++++++++++++++++++-------------------------------- 3975 1 file changed, 147 insertions(+), 147 deletions(-) 3976 3977commit ac2a747e939c2cbccff7a49c399769af5e02d2ab 3978Author: Lasse Collin <lasse.collin@tukaani.org> 3979Date: 2022-12-08 17:30:09 +0200 3980 3981 liblzma: Check for unexpected NULL pointers in block_header_decode(). 3982 3983 The API docs gave an impression that such checks are done 3984 but they actually weren't done. In practice it made little 3985 difference since the calling code has a bug if these are NULL. 3986 3987 Thanks to Jia Tan for the original patch that checked for 3988 block->filters == NULL. 3989 3990 src/liblzma/common/block_header_decoder.c | 4 ++++ 3991 1 file changed, 4 insertions(+) 3992 3993commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25 3994Author: Lasse Collin <lasse.collin@tukaani.org> 3995Date: 2022-12-01 20:59:32 +0200 3996 3997 Bump version number for 5.3.5beta. 3998 3999 This also sorts the symbol names alphabetically in liblzma_*.map. 4000 4001 src/liblzma/api/lzma/version.h | 4 ++-- 4002 src/liblzma/liblzma_generic.map | 10 +++++----- 4003 src/liblzma/liblzma_linux.map | 10 +++++----- 4004 3 files changed, 12 insertions(+), 12 deletions(-) 4005 4006commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa 4007Author: Lasse Collin <lasse.collin@tukaani.org> 4008Date: 2022-12-01 20:57:26 +0200 4009 4010 Add NEWS for 5.3.5beta. 4011 4012 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 4013 1 file changed, 43 insertions(+) 4014 4015commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e 4016Author: Lasse Collin <lasse.collin@tukaani.org> 4017Date: 2022-12-01 20:57:09 +0200 4018 4019 Update THANKS. 4020 4021 THANKS | 3 +++ 4022 1 file changed, 3 insertions(+) 4023 4024commit 62b270988ec67314d69976df484d2974c6eacfda 4025Author: Lasse Collin <lasse.collin@tukaani.org> 4026Date: 2022-12-01 20:04:17 +0200 4027 4028 liblzma: Use __has_attribute(__symver__) to fix Clang detection. 4029 4030 If someone sets up Clang to define __GNUC__ to 10 or greater 4031 then symvers broke. __has_attribute is supported by such GCC 4032 and Clang versions that don't support __symver__ so this should 4033 be much better and simpler way to detect if __symver__ is 4034 actually supported. 4035 4036 Thanks to Tomasz Gajc for the bug report. 4037 4038 src/liblzma/common/common.h | 15 ++++++++++++++- 4039 1 file changed, 14 insertions(+), 1 deletion(-) 4040 4041commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb 4042Author: Lasse Collin <lasse.collin@tukaani.org> 4043Date: 2022-12-01 18:51:52 +0200 4044 4045 liblzma: Omit zero-skipping from ARM64 filter. 4046 4047 It has some complicated downsides and its usefulness is more limited 4048 than I originally thought. So this change is bad for certain very 4049 specific situations but a generic solution that works for other 4050 filters (and is otherwise better too) is planned anyway. And this 4051 way 7-Zip can use the same compatible filter for the .7z format. 4052 4053 This is still marked as experimental with a new temporary Filter ID. 4054 4055 src/liblzma/api/lzma/bcj.h | 2 +- 4056 src/liblzma/simple/arm64.c | 81 +++++++++++++--------------------------------- 4057 2 files changed, 24 insertions(+), 59 deletions(-) 4058 4059commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b 4060Author: Lasse Collin <lasse.collin@tukaani.org> 4061Date: 2022-12-01 18:13:27 +0200 4062 4063 xz: Omit the special notes about ARM64 filter on the man page. 4064 4065 src/xz/xz.1 | 5 ++--- 4066 1 file changed, 2 insertions(+), 3 deletions(-) 4067 4068commit 0c3627b51862eb0dcdd4fc283d046250571991c6 4069Author: Lasse Collin <lasse.collin@tukaani.org> 4070Date: 2022-12-01 18:12:03 +0200 4071 4072 liblzma: Don't be over-specific in lzma_str_to_filters API doc. 4073 4074 src/liblzma/api/lzma/filter.h | 3 +-- 4075 1 file changed, 1 insertion(+), 2 deletions(-) 4076 4077commit 94adf057f27b1970f493dc99cd166407d7255639 4078Author: Lasse Collin <lasse.collin@tukaani.org> 4079Date: 2022-12-01 17:54:23 +0200 4080 4081 liblzma: Silence unused variable warning when BCJ filters are disabled. 4082 4083 Thanks to Jia Tan for the original patch. 4084 4085 src/liblzma/common/string_conversion.c | 15 +++++++++++++++ 4086 1 file changed, 15 insertions(+) 4087 4088commit c68af4441744e5ffc41a472e1be9c9d53a1d9780 4089Author: Lasse Collin <lasse.collin@tukaani.org> 4090Date: 2022-12-01 17:38:03 +0200 4091 4092 Translations: Update the Chinese (simplified) translation. 4093 4094 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++-------------------------- 4095 1 file changed, 348 insertions(+), 260 deletions(-) 4096 4097commit 3be6942e5c27d29995d41da52fbe274e4ce4a537 4098Author: Lasse Collin <lasse.collin@tukaani.org> 4099Date: 2022-11-30 18:55:03 +0200 4100 4101 Add NEWS for 5.2.9. 4102 4103 NEWS | 34 ++++++++++++++++++++++++++++++++++ 4104 1 file changed, 34 insertions(+) 4105 4106commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d 4107Author: Jia Tan <jiat0218@gmail.com> 4108Date: 2022-11-30 23:33:08 +0800 4109 4110 xz: Remove message_filters_to_str function prototype from message.h. 4111 4112 This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b. 4113 4114 src/xz/message.h | 16 ---------------- 4115 1 file changed, 16 deletions(-) 4116 4117commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7 4118Author: Lasse Collin <lasse.collin@tukaani.org> 4119Date: 2022-11-30 18:08:34 +0200 4120 4121 Change the bug report address. 4122 4123 It forwards to me and Jia Tan. 4124 4125 Also update the IRC reference in README as #tukaani was moved 4126 to Libera Chat long ago. 4127 4128 CMakeLists.txt | 2 +- 4129 README | 11 +++++------ 4130 configure.ac | 2 +- 4131 dos/config.h | 2 +- 4132 windows/README-Windows.txt | 2 +- 4133 5 files changed, 9 insertions(+), 10 deletions(-) 4134 4135commit c21983c76031e01da01ad3c6cc716fe4b8a75070 4136Author: Lasse Collin <lasse.collin@tukaani.org> 4137Date: 2022-11-30 17:50:17 +0200 4138 4139 Build: Add string_conversion.c to CMake, DOS, and VS files. 4140 4141 CMakeLists.txt | 1 + 4142 dos/Makefile | 1 + 4143 windows/vs2013/liblzma.vcxproj | 1 + 4144 windows/vs2013/liblzma_dll.vcxproj | 1 + 4145 windows/vs2017/liblzma.vcxproj | 1 + 4146 windows/vs2017/liblzma_dll.vcxproj | 1 + 4147 windows/vs2019/liblzma.vcxproj | 1 + 4148 windows/vs2019/liblzma_dll.vcxproj | 1 + 4149 8 files changed, 8 insertions(+) 4150 4151commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82 4152Author: Lasse Collin <lasse.collin@tukaani.org> 4153Date: 2022-11-30 17:38:32 +0200 4154 4155 Update to HTTPS URLs in AUTHORS. 4156 4157 AUTHORS | 6 +++--- 4158 1 file changed, 3 insertions(+), 3 deletions(-) 4159 4160commit 0a72b9ca2fe20082da9b7128fe0d908af947a851 4161Author: Jia Tan <jiat0218@gmail.com> 4162Date: 2022-11-30 00:52:06 +0800 4163 4164 liblzma: Improve documentation for string to filter functions. 4165 4166 src/liblzma/api/lzma/filter.h | 17 +++++++++-------- 4167 1 file changed, 9 insertions(+), 8 deletions(-) 4168 4169commit a6e21fcede3b196160a52dd294d965c508a4bb33 4170Author: Lasse Collin <lasse.collin@tukaani.org> 4171Date: 2022-11-29 22:27:42 +0200 4172 4173 liblzma: Two fixes to lzma_str_list_filters() API docs. 4174 4175 Thanks to Jia Tan. 4176 4177 src/liblzma/api/lzma/filter.h | 6 +++--- 4178 1 file changed, 3 insertions(+), 3 deletions(-) 4179 4180commit 7484744af6cbabe81e92af7d9e061dfd597fff7b 4181Author: Lasse Collin <lasse.collin@tukaani.org> 4182Date: 2022-11-28 21:57:47 +0200 4183 4184 xz: Use lzma_str_from_filters(). 4185 4186 Two uses: Displaying encoder filter chain when compressing with -vv, 4187 and displaying the decoder filter chain in --list -vv. 4188 4189 src/xz/list.c | 28 ++++++--- 4190 src/xz/message.c | 175 +++---------------------------------------------------- 4191 2 files changed, 28 insertions(+), 175 deletions(-) 4192 4193commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203 4194Author: Lasse Collin <lasse.collin@tukaani.org> 4195Date: 2022-11-28 21:37:48 +0200 4196 4197 liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters. 4198 4199 lzma_str_to_filters() uses static error messages which makes 4200 them not very precise. It tells the position in the string 4201 where an error occurred though which helps quite a bit if 4202 applications take advantage of it. Dynamic error messages can 4203 be added later with a new flag if it seems important enough. 4204 4205 src/liblzma/api/lzma/filter.h | 258 +++++++ 4206 src/liblzma/common/Makefile.inc | 1 + 4207 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++ 4208 src/liblzma/liblzma_generic.map | 3 + 4209 src/liblzma/liblzma_linux.map | 3 + 4210 5 files changed, 1567 insertions(+) 4211 4212commit 072ebf7b1335421193ffa9d4a70d5533786b8995 4213Author: Lasse Collin <lasse.collin@tukaani.org> 4214Date: 2022-11-28 21:02:19 +0200 4215 4216 liblzma: Make lzma_validate_chain() available outside filter_common.c. 4217 4218 src/liblzma/common/filter_common.c | 8 ++++---- 4219 src/liblzma/common/filter_common.h | 3 +++ 4220 2 files changed, 7 insertions(+), 4 deletions(-) 4221 4222commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf 4223Author: Lasse Collin <lasse.collin@tukaani.org> 4224Date: 2022-11-28 10:51:03 +0200 4225 4226 liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused. 4227 4228 src/liblzma/lz/lz_decoder.c | 14 -------------- 4229 src/liblzma/lz/lz_decoder.h | 3 --- 4230 2 files changed, 17 deletions(-) 4231 4232commit cee83206465b95729ab649aa2f57fdbde8dcaf89 4233Author: Lasse Collin <lasse.collin@tukaani.org> 4234Date: 2022-11-28 10:48:53 +0200 4235 4236 liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder(). 4237 4238 Here too this avoids the slightly ugly method to set 4239 the uncompressed size. 4240 4241 Also moved the setting of dict_size to the struct initializer. 4242 4243 src/liblzma/common/microlzma_decoder.c | 15 ++++++++------- 4244 1 file changed, 8 insertions(+), 7 deletions(-) 4245 4246commit e310e8b6a490dfb468f4ed68feff246d776b323c 4247Author: Lasse Collin <lasse.collin@tukaani.org> 4248Date: 2022-11-28 10:28:20 +0200 4249 4250 liblzma: Use LZMA1EXT feature in lzma_alone_decoder(). 4251 4252 This avoids the need to use the slightly ugly method to 4253 set the uncompressed size. 4254 4255 src/liblzma/common/alone_decoder.c | 18 +++++++++++++----- 4256 1 file changed, 13 insertions(+), 5 deletions(-) 4257 4258commit 33b8a24b6646a9dbfd8358405aec466b13078559 4259Author: Lasse Collin <lasse.collin@tukaani.org> 4260Date: 2022-11-27 23:16:21 +0200 4261 4262 liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker. 4263 4264 Some file formats need support for LZMA1 streams that don't use 4265 the end of payload marker (EOPM) alias end of stream (EOS) marker. 4266 So far liblzma API has supported decompressing such streams via 4267 lzma_alone_decoder() when .lzma header specifies a known 4268 uncompressed size. Encoding support hasn't been available in the API. 4269 4270 Instead of adding a new LZMA1-only API for this purpose, this commit 4271 adds a new filter ID for use with raw encoder and decoder. The main 4272 benefit of this approach is that then also filter chains are possible, 4273 for example, if someone wants to implement support for .7z files that 4274 use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported 4275 in liblzma). 4276 4277 src/liblzma/api/lzma/lzma12.h | 123 ++++++++++++++++++++++++++++++-- 4278 src/liblzma/common/filter_common.c | 7 ++ 4279 src/liblzma/common/filter_decoder.c | 6 ++ 4280 src/liblzma/common/filter_encoder.c | 9 +++ 4281 src/liblzma/lzma/lzma2_encoder.c | 2 +- 4282 src/liblzma/lzma/lzma_decoder.c | 26 ++++++- 4283 src/liblzma/lzma/lzma_encoder.c | 40 +++++++++-- 4284 src/liblzma/lzma/lzma_encoder.h | 3 +- 4285 src/liblzma/lzma/lzma_encoder_private.h | 3 + 4286 9 files changed, 204 insertions(+), 15 deletions(-) 4287 4288commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede 4289Author: Lasse Collin <lasse.collin@tukaani.org> 4290Date: 2022-11-27 18:43:07 +0200 4291 4292 liblzma: Avoid unneeded use of void pointer in LZMA decoder. 4293 4294 src/liblzma/lzma/lzma_decoder.c | 3 +-- 4295 src/liblzma/lzma/lzma_decoder.h | 2 +- 4296 2 files changed, 2 insertions(+), 3 deletions(-) 4297 4298commit 218394958c7683f892275bb40eae880620feebcc 4299Author: Lasse Collin <lasse.collin@tukaani.org> 4300Date: 2022-11-27 18:20:33 +0200 4301 4302 liblzma: Pass the Filter ID to LZ encoder and decoder. 4303 4304 This allows using two Filter IDs with the same 4305 initialization function and data structures. 4306 4307 src/liblzma/common/alone_decoder.c | 1 + 4308 src/liblzma/common/alone_encoder.c | 1 + 4309 src/liblzma/common/common.h | 7 +++++-- 4310 src/liblzma/common/lzip_decoder.c | 1 + 4311 src/liblzma/common/microlzma_decoder.c | 1 + 4312 src/liblzma/common/microlzma_encoder.c | 1 + 4313 src/liblzma/lz/lz_decoder.c | 5 +++-- 4314 src/liblzma/lz/lz_decoder.h | 3 ++- 4315 src/liblzma/lz/lz_encoder.c | 5 +++-- 4316 src/liblzma/lz/lz_encoder.h | 3 ++- 4317 src/liblzma/lzma/lzma2_decoder.c | 3 ++- 4318 src/liblzma/lzma/lzma2_encoder.c | 3 ++- 4319 src/liblzma/lzma/lzma_decoder.c | 2 +- 4320 src/liblzma/lzma/lzma_encoder.c | 2 +- 4321 14 files changed, 26 insertions(+), 12 deletions(-) 4322 4323commit 1663c7676b76f4c514031797f3db1896e8100f7f 4324Author: Lasse Collin <lasse.collin@tukaani.org> 4325Date: 2022-11-27 01:03:16 +0200 4326 4327 liblzma: Remove two FIXME comments. 4328 4329 src/liblzma/common/filter_encoder.c | 4 ++-- 4330 1 file changed, 2 insertions(+), 2 deletions(-) 4331 4332commit 11fe708db783ac36ebeeb85da164e29e8c300910 4333Author: Lasse Collin <lasse.collin@tukaani.org> 4334Date: 2022-11-26 22:25:30 +0200 4335 4336 xz: Use lzma_filters_free(). 4337 4338 src/xz/list.c | 8 ++------ 4339 1 file changed, 2 insertions(+), 6 deletions(-) 4340 4341commit e782af9110d8499c7ac2929bc871540eefea5ea1 4342Author: Lasse Collin <lasse.collin@tukaani.org> 4343Date: 2022-11-26 22:21:13 +0200 4344 4345 liblzma: Use lzma_filters_free() in more places. 4346 4347 src/liblzma/common/block_header_decoder.c | 20 ++------------------ 4348 src/liblzma/common/stream_decoder.c | 4 +--- 4349 src/liblzma/common/stream_decoder_mt.c | 22 +++++----------------- 4350 3 files changed, 8 insertions(+), 38 deletions(-) 4351 4352commit 90caaded2dc6db1d6a55b01160d7e87f4a423628 4353Author: Lasse Collin <lasse.collin@tukaani.org> 4354Date: 2022-11-25 18:04:37 +0200 4355 4356 liblzma: Omit simple coder init functions if they are disabled. 4357 4358 src/liblzma/simple/arm.c | 4 ++++ 4359 src/liblzma/simple/armthumb.c | 4 ++++ 4360 src/liblzma/simple/ia64.c | 4 ++++ 4361 src/liblzma/simple/powerpc.c | 4 ++++ 4362 src/liblzma/simple/sparc.c | 4 ++++ 4363 src/liblzma/simple/x86.c | 4 ++++ 4364 6 files changed, 24 insertions(+) 4365 4366commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45 4367Author: Lasse Collin <lasse.collin@tukaani.org> 4368Date: 2022-11-24 23:24:59 +0200 4369 4370 xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 4371 4372 Now that liblzma accepts these, we avoid the extra check and 4373 there's one message less for translators too. 4374 4375 src/xz/options.c | 5 ----- 4376 1 file changed, 5 deletions(-) 4377 4378commit 3be88ae071371caa279b44e13f4836fb178fe4ae 4379Author: Lasse Collin <lasse.collin@tukaani.org> 4380Date: 2022-11-24 23:23:55 +0200 4381 4382 liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 4383 4384 That is, if the specified nice_len is smaller than the minimum 4385 of the match finder, silently use the match finder's minimum value 4386 instead of reporting an error. The old behavior is annoying to users 4387 and it complicates xz options handling too. 4388 4389 src/liblzma/lz/lz_encoder.c | 14 +++++++++----- 4390 src/liblzma/lz/lz_encoder.h | 9 +++++++++ 4391 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++--- 4392 3 files changed, 26 insertions(+), 8 deletions(-) 4393 4394commit 93439cfafe1768b3b18d67d2356ef7e7559bba59 4395Author: Lasse Collin <lasse.collin@tukaani.org> 4396Date: 2022-11-24 16:25:10 +0200 4397 4398 liblzma: Add lzma_filters_update() support to the multi-threaded encoder. 4399 4400 A tiny downside of this is that now a 1-4 tiny allocations are made 4401 for every Block because each worker thread needs its own copy of 4402 the filter chain. 4403 4404 src/liblzma/api/lzma/filter.h | 36 +++++++------ 4405 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++--- 4406 2 files changed, 109 insertions(+), 23 deletions(-) 4407 4408commit 17ac51e689794eb41cab3e80946fec689caea2d2 4409Author: Lasse Collin <lasse.collin@tukaani.org> 4410Date: 2022-11-24 14:53:22 +0200 4411 4412 Update THANKS. 4413 4414 THANKS | 1 + 4415 1 file changed, 1 insertion(+) 4416 4417commit 06824396b2b6c84f3a235cb7c19c2a9701167797 4418Author: Lasse Collin <lasse.collin@tukaani.org> 4419Date: 2022-11-24 14:52:44 +0200 4420 4421 Build: Don't put GNU/Linux-specific symbol versions into static liblzma. 4422 4423 It not only makes no sense to put symbol versions into a static library 4424 but it can also cause breakage. 4425 4426 By default Libtool #defines PIC if building a shared library and 4427 doesn't define it for static libraries. This is documented in the 4428 Libtool manual. It can be overriden using --with-pic or --without-pic. 4429 configure.ac detects if --with-pic or --without-pic is used and then 4430 gives an error if neither --disable-shared nor --disable-static was 4431 used at the same time. Thus, in normal situations it works to build 4432 both shared and static library at the same time on GNU/Linux, 4433 only --with-pic or --without-pic requires that only one type of 4434 library is built. 4435 4436 Thanks to John Paul Adrian Glaubitz from Debian for reporting 4437 the problem that occurred on ia64: 4438 https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html 4439 4440 CMakeLists.txt | 5 +- 4441 configure.ac | 143 +++++++++++++++++++++++++++++--------------- 4442 src/liblzma/common/common.h | 12 ++++ 4443 3 files changed, 111 insertions(+), 49 deletions(-) 4444 4445commit e1acf7107291f8b3d6d609a7133331ff36d35d14 4446Author: Lasse Collin <lasse.collin@tukaani.org> 4447Date: 2022-11-24 01:32:16 +0200 4448 4449 liblzma: Refactor to use lzma_filters_free(). 4450 4451 lzma_filters_free() sets the options to NULL and ids to 4452 LZMA_VLI_UNKNOWN so there is no need to do it by caller; 4453 the filter arrays will always be left in a safe state. 4454 4455 Also use memcpy() instead of a loop to copy a filter chain 4456 when it is known to be safe to copy LZMA_FILTERS_MAX + 1 4457 (even if the elements past the terminator might be uninitialized). 4458 4459 src/liblzma/common/stream_encoder.c | 16 ++++------------ 4460 src/liblzma/common/stream_encoder_mt.c | 11 ++--------- 4461 2 files changed, 6 insertions(+), 21 deletions(-) 4462 4463commit cb05dbcf8b868441ec805016222f3fd77f1c5caa 4464Author: Lasse Collin <lasse.collin@tukaani.org> 4465Date: 2022-11-24 01:26:37 +0200 4466 4467 liblzma: Fix another invalid free() after memory allocation failure. 4468 4469 This time it can happen when lzma_stream_encoder_mt() is used 4470 to reinitialize an existing multi-threaded Stream encoder 4471 and one of 1-4 tiny allocations in lzma_filters_copy() fail. 4472 4473 It's very similar to the previous bug 4474 10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with 4475 an array of lzma_filter structures whose old options are freed 4476 but the replacement never arrives due to a memory allocation 4477 failure in lzma_filters_copy(). 4478 4479 src/liblzma/common/stream_encoder_mt.c | 4 ++++ 4480 1 file changed, 4 insertions(+) 4481 4482commit 75f1a6c26df4ce329da0882786403e3ccf5cd898 4483Author: Jia Tan <jiat0218@gmail.com> 4484Date: 2022-05-05 20:53:42 +0800 4485 4486 liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder. 4487 4488 The documentation mentions that lzma_block_encoder() supports 4489 LZMA_SYNC_FLUSH but it was never added to supported_actions[] 4490 in the internal structure. Because of this, LZMA_SYNC_FLUSH could 4491 not be used with the Block encoder unless it was the next coder 4492 after something like stream_encoder() or stream_encoder_mt(). 4493 4494 src/liblzma/common/block_encoder.c | 1 + 4495 1 file changed, 1 insertion(+) 4496 4497commit d0901645170b638c517f5c50866b6ef48f491c65 4498Author: Lasse Collin <lasse.collin@tukaani.org> 4499Date: 2022-11-24 01:02:50 +0200 4500 4501 liblzma: Add new API function lzma_filters_free(). 4502 4503 This is small but convenient and should have been added 4504 a long time ago. 4505 4506 src/liblzma/api/lzma/filter.h | 21 +++++++++++++++++++++ 4507 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++ 4508 src/liblzma/liblzma_generic.map | 1 + 4509 src/liblzma/liblzma_linux.map | 1 + 4510 4 files changed, 49 insertions(+) 4511 4512commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5 4513Author: Lasse Collin <lasse.collin@tukaani.org> 4514Date: 2022-11-24 00:02:31 +0200 4515 4516 CMake: Don't use symbol versioning with static library. 4517 4518 CMakeLists.txt | 10 +++++++--- 4519 1 file changed, 7 insertions(+), 3 deletions(-) 4520 4521commit 48c1b99dc537a27e1ca929d8837e778e5ba32191 4522Author: Lasse Collin <lasse.collin@tukaani.org> 4523Date: 2022-11-23 21:55:22 +0200 4524 4525 liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy(). 4526 4527 src/liblzma/api/lzma/filter.h | 3 ++- 4528 1 file changed, 2 insertions(+), 1 deletion(-) 4529 4530commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b 4531Author: Lasse Collin <lasse.collin@tukaani.org> 4532Date: 2022-11-23 21:26:21 +0200 4533 4534 liblzma: Fix invalid free() after memory allocation failure. 4535 4536 The bug was in the single-threaded .xz Stream encoder 4537 in the code that is used for both re-initialization and for 4538 lzma_filters_update(). To trigger it, an application had 4539 to either re-initialize an existing encoder instance with 4540 lzma_stream_encoder() or use lzma_filters_update(), and 4541 then one of the 1-4 tiny allocations in lzma_filters_copy() 4542 (called from stream_encoder_update()) must fail. An error 4543 was correctly reported but the encoder state was corrupted. 4544 4545 This is related to the recent fix in 4546 f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but 4547 it wasn't enough to fix the main problem in stream_encoder.c. 4548 4549 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++-------- 4550 1 file changed, 31 insertions(+), 8 deletions(-) 4551 4552commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70 4553Author: Lasse Collin <lasse.collin@tukaani.org> 4554Date: 2022-11-22 16:37:15 +0200 4555 4556 liblzma: Fix language in a comment. 4557 4558 src/liblzma/common/stream_encoder.c | 2 +- 4559 1 file changed, 1 insertion(+), 1 deletion(-) 4560 4561commit c392bf8ccba857baaf50399c4b460119befacd54 4562Author: Lasse Collin <lasse.collin@tukaani.org> 4563Date: 2022-11-22 11:20:17 +0200 4564 4565 liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB. 4566 4567 The encoder doesn't support dictionary sizes larger than 1536 MiB. 4568 This is validated, for example, when calculating the memory usage 4569 via lzma_raw_encoder_memusage(). It is also enforced by the LZ 4570 part of the encoder initialization. However, LZMA encoder with 4571 LZMA_MODE_NORMAL did an unsafe calculation with dict_size before 4572 such validation and that results in an infinite loop if dict_size 4573 was 2 << 30 or greater. 4574 4575 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++---- 4576 1 file changed, 15 insertions(+), 4 deletions(-) 4577 4578commit f50534c973a591ccf65485adfc827a8a7126ca6c 4579Author: Lasse Collin <lasse.collin@tukaani.org> 4580Date: 2022-11-21 13:02:33 +0200 4581 4582 liblzma: Fix two Doxygen commands in the API headers. 4583 4584 These were caught by clang -Wdocumentation. 4585 4586 src/liblzma/api/lzma/hardware.h | 2 +- 4587 src/liblzma/api/lzma/index_hash.h | 2 +- 4588 2 files changed, 2 insertions(+), 2 deletions(-) 4589 4590commit 649d4872ed2f55196114a061d45b416fc4353569 4591Author: Lasse Collin <lasse.collin@tukaani.org> 4592Date: 2022-11-19 19:09:55 +0200 4593 4594 xz: Refactor duplicate code from hardware_memlimit_mtenc_get(). 4595 4596 src/xz/hardware.c | 2 +- 4597 1 file changed, 1 insertion(+), 1 deletion(-) 4598 4599commit d327743bb547a53364e5951a16e5f1663fe4b9ff 4600Author: Lasse Collin <lasse.collin@tukaani.org> 4601Date: 2022-11-19 19:06:13 +0200 4602 4603 xz: Add support --threads=+N so that -T+1 gives threaded mode. 4604 4605 src/xz/args.c | 18 +++++++++++++++--- 4606 src/xz/hardware.c | 17 +++++++++++++++-- 4607 src/xz/hardware.h | 1 + 4608 src/xz/xz.1 | 21 ++++++++++++++++++++- 4609 4 files changed, 51 insertions(+), 6 deletions(-) 4610 4611commit a11a2b8b5e830ba682c1d81aaa7078842b296995 4612Author: Jia Tan <jiat0218@gmail.com> 4613Date: 2022-11-19 23:18:04 +0800 4614 4615 CMake: Adds test_memlimit to CMake tests 4616 4617 CMakeLists.txt | 1 + 4618 1 file changed, 1 insertion(+) 4619 4620commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f 4621Author: Lasse Collin <lasse.collin@tukaani.org> 4622Date: 2022-11-15 19:10:21 +0200 4623 4624 Translations: Update the Korean translation. 4625 4626 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++--------------------------- 4627 1 file changed, 371 insertions(+), 281 deletions(-) 4628 4629commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385 4630Author: Lasse Collin <lasse.collin@tukaani.org> 4631Date: 2022-11-15 19:09:28 +0200 4632 4633 Translations: Update the Turkish translation. 4634 4635 po/tr.po | 568 ++++++++++++++++++++++++++++++++++----------------------------- 4636 1 file changed, 310 insertions(+), 258 deletions(-) 4637 4638commit b9a67d9a5fa207062d4aa8a01639234609315d31 4639Author: Lasse Collin <lasse.collin@tukaani.org> 4640Date: 2022-11-15 10:58:39 +0200 4641 4642 Bump version number for 5.3.4alpha. 4643 4644 src/liblzma/api/lzma/version.h | 2 +- 4645 src/liblzma/liblzma_generic.map | 2 +- 4646 src/liblzma/liblzma_linux.map | 2 +- 4647 3 files changed, 3 insertions(+), 3 deletions(-) 4648 4649commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5 4650Author: Lasse Collin <lasse.collin@tukaani.org> 4651Date: 2022-11-15 10:54:40 +0200 4652 4653 Add NEWS for 5.3.4alpha. 4654 4655 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4656 1 file changed, 96 insertions(+) 4657 4658commit ce8db9e37da4f6c87691c5066f51f91f2411c44a 4659Author: Lasse Collin <lasse.collin@tukaani.org> 4660Date: 2022-11-15 10:54:08 +0200 4661 4662 Add NEWS for 5.2.8. 4663 4664 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4665 1 file changed, 79 insertions(+) 4666 4667commit b56bc8251d2736224af6bdaaae734ceb8926a879 4668Author: Lasse Collin <lasse.collin@tukaani.org> 4669Date: 2022-11-14 23:19:57 +0200 4670 4671 Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options." 4672 4673 This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 4674 and also does equivalent change to arm64.c. 4675 4676 Now that ARM64 filter will use lzma_options_bcj, this change 4677 is not needed anymore. 4678 4679 src/liblzma/simple/arm.c | 2 +- 4680 src/liblzma/simple/arm64.c | 2 +- 4681 src/liblzma/simple/armthumb.c | 2 +- 4682 src/liblzma/simple/ia64.c | 2 +- 4683 src/liblzma/simple/powerpc.c | 2 +- 4684 src/liblzma/simple/simple_coder.c | 4 ++-- 4685 src/liblzma/simple/simple_private.h | 2 +- 4686 src/liblzma/simple/sparc.c | 2 +- 4687 src/liblzma/simple/x86.c | 3 +-- 4688 9 files changed, 10 insertions(+), 11 deletions(-) 4689 4690commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35 4691Author: Lasse Collin <lasse.collin@tukaani.org> 4692Date: 2022-11-14 23:14:41 +0200 4693 4694 Replace the experimental ARM64 filter with a new experimental version. 4695 4696 This is incompatible with the previous version. 4697 4698 This has space/tab fixes in filter_*.c and bcj.h too. 4699 4700 src/liblzma/api/lzma/bcj.h | 41 +----- 4701 src/liblzma/common/filter_common.c | 14 +- 4702 src/liblzma/common/filter_decoder.c | 12 +- 4703 src/liblzma/common/filter_encoder.c | 17 +-- 4704 src/liblzma/simple/arm64.c | 283 ++++++++++++++---------------------- 4705 src/liblzma/simple/simple_decoder.h | 4 - 4706 src/liblzma/simple/simple_encoder.h | 2 - 4707 src/xz/args.c | 2 +- 4708 src/xz/message.c | 13 +- 4709 src/xz/options.c | 39 ----- 4710 src/xz/options.h | 7 - 4711 11 files changed, 147 insertions(+), 287 deletions(-) 4712 4713commit f644473a211394447824ea00518d0a214ff3f7f2 4714Author: Lasse Collin <lasse.collin@tukaani.org> 4715Date: 2022-11-14 21:34:57 +0200 4716 4717 liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. 4718 4719 It also works on E2K as it supports these intrinsics. 4720 4721 On x86-64 runtime detection is used so the code keeps working on 4722 older processors too. A CLMUL-only build can be done by using 4723 -msse4.1 -mpclmul in CFLAGS and this will reduce the library 4724 size since the generic implementation and its 8 KiB lookup table 4725 will be omitted. 4726 4727 On 32-bit x86 this isn't used by default for now because by default 4728 on 32-bit x86 the separate assembly file crc64_x86.S is used. 4729 If --disable-assembler is used then this new CLMUL code is used 4730 the same way as on 64-bit x86. However, a CLMUL-only build 4731 (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on 4732 32-bit x86 due to a currently-missing check for disabled 4733 assembler usage. 4734 4735 The configure.ac check should be such that the code won't be 4736 built if something in the toolchain doesn't support it but 4737 --disable-clmul-crc option can be used to unconditionally 4738 disable this feature. 4739 4740 CLMUL speeds up decompression of files that have compressed very 4741 well (assuming CRC64 is used as a check type). It is know that 4742 the CLMUL code is significantly slower than the generic code for 4743 tiny inputs (especially 1-8 bytes but up to 16 bytes). If that 4744 is a real-world problem then there is already a commented-out 4745 variant that uses the generic version for small inputs. 4746 4747 Thanks to Ilya Kurdyukov for the original patch which was 4748 derived from a white paper from Intel [1] (published in 2009) 4749 and public domain code from [2] (released in 2016). 4750 4751 [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf 4752 [2] https://github.com/rawrunprotected/crc 4753 4754 CMakeLists.txt | 26 ++- 4755 INSTALL | 12 ++ 4756 configure.ac | 59 +++++- 4757 src/liblzma/check/crc64_fast.c | 449 +++++++++++++++++++++++++++++++++++++++- 4758 src/liblzma/check/crc64_table.c | 21 +- 4759 5 files changed, 554 insertions(+), 13 deletions(-) 4760 4761commit 3b466bc79672bb2b06d1245a500588e6026e0ba0 4762Author: Lasse Collin <lasse.collin@tukaani.org> 4763Date: 2022-11-14 20:14:34 +0200 4764 4765 Translations: Update the Swedish translation one more time. 4766 4767 po/sv.po | 6 +++--- 4768 1 file changed, 3 insertions(+), 3 deletions(-) 4769 4770commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6 4771Author: Lasse Collin <lasse.collin@tukaani.org> 4772Date: 2022-11-14 19:34:15 +0200 4773 4774 Translations: Update the Swedish translation again. 4775 4776 po/sv.po | 16 ++++++++-------- 4777 1 file changed, 8 insertions(+), 8 deletions(-) 4778 4779commit a4bc689a823a2254f29ac9d233170add5121b307 4780Author: Lasse Collin <lasse.collin@tukaani.org> 4781Date: 2022-11-14 19:07:45 +0200 4782 4783 Translations: Update the Swedish translation. 4784 4785 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++--------------------------- 4786 1 file changed, 382 insertions(+), 289 deletions(-) 4787 4788commit bbf2073d824ab4ba33bed4b77f467435abd333a5 4789Author: Lasse Collin <lasse.collin@tukaani.org> 4790Date: 2022-11-14 18:58:09 +0200 4791 4792 Translations: Update the Ukrainian translation. 4793 4794 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++--------------------------- 4795 1 file changed, 354 insertions(+), 264 deletions(-) 4796 4797commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6 4798Author: Lasse Collin <lasse.collin@tukaani.org> 4799Date: 2022-11-14 17:58:07 +0200 4800 4801 Build: Omit x86_64 from --enable-assembler. 4802 4803 It didn't do anything. There are only 32-bit x86 assembly files 4804 and it feels likely that new files won't be added as intrinsics 4805 in C are more portable across toolchains and OSes. 4806 4807 configure.ac | 6 ++---- 4808 1 file changed, 2 insertions(+), 4 deletions(-) 4809 4810commit eb0f1450ad9f23dac03050d9c8375980240aee21 4811Author: Lasse Collin <lasse.collin@tukaani.org> 4812Date: 2022-11-14 16:00:52 +0200 4813 4814 liblzma: Use __attribute__((__constructor__)) if available. 4815 4816 This uses it for CRC table initializations when using --disable-small. 4817 It avoids mythread_once() overhead. It also means that then 4818 --disable-small --disable-threads is thread-safe if this attribute 4819 is supported. 4820 4821 CMakeLists.txt | 15 +++++++++++++++ 4822 INSTALL | 4 +++- 4823 configure.ac | 31 ++++++++++++++++++++++++++++--- 4824 src/liblzma/check/crc32_small.c | 7 +++++++ 4825 src/liblzma/check/crc64_small.c | 5 +++++ 4826 src/liblzma/lz/lz_encoder.c | 2 +- 4827 6 files changed, 59 insertions(+), 5 deletions(-) 4828 4829commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1 4830Author: Lasse Collin <lasse.collin@tukaani.org> 4831Date: 2022-11-12 21:19:52 +0200 4832 4833 Translations: Update the Romanian translation. 4834 4835 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++-------------------------- 4836 1 file changed, 380 insertions(+), 271 deletions(-) 4837 4838commit db97e69e12393becc29f8febd53133d0d36989bd 4839Author: Lasse Collin <lasse.collin@tukaani.org> 4840Date: 2022-11-12 21:17:45 +0200 4841 4842 Translations: Update the Hungarian translation. 4843 4844 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++--------------------------- 4845 1 file changed, 357 insertions(+), 268 deletions(-) 4846 4847commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4 4848Author: Lasse Collin <lasse.collin@tukaani.org> 4849Date: 2022-11-11 17:58:57 +0200 4850 4851 Translations: Update the Finnish translation. 4852 4853 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++--------------------------- 4854 1 file changed, 348 insertions(+), 262 deletions(-) 4855 4856commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f 4857Author: Lasse Collin <lasse.collin@tukaani.org> 4858Date: 2022-11-11 17:58:18 +0200 4859 4860 Translations: Update the Croatian translation. 4861 4862 po/hr.po | 680 +++++++++++++++++++++++++++++++++++---------------------------- 4863 1 file changed, 381 insertions(+), 299 deletions(-) 4864 4865commit 26c3359eac0988d6f3986735cd1363bec1678e8e 4866Author: Lasse Collin <lasse.collin@tukaani.org> 4867Date: 2022-11-11 17:57:18 +0200 4868 4869 Translations: Update the Polish translation. 4870 4871 po/pl.po | 569 ++++++++++++++++++++++++++++++++++----------------------------- 4872 1 file changed, 309 insertions(+), 260 deletions(-) 4873 4874commit 577e467b137c735afb8de6ae71ac7a73c2960cc4 4875Author: Lasse Collin <lasse.collin@tukaani.org> 4876Date: 2022-11-11 17:56:44 +0200 4877 4878 Translations: Update the Spanish translation. 4879 4880 po/es.po | 598 ++++++++++++++++++++++++++++++++++++--------------------------- 4881 1 file changed, 344 insertions(+), 254 deletions(-) 4882 4883commit f9b4ff6e9a0f1678650775582d3e4fe782abce97 4884Author: Lasse Collin <lasse.collin@tukaani.org> 4885Date: 2022-11-11 17:16:03 +0200 4886 4887 Update THANKS. 4888 4889 THANKS | 1 + 4890 1 file changed, 1 insertion(+) 4891 4892commit a39961ef211e1bf030b17edeea3cff29fe263b67 4893Author: Lasse Collin <lasse.collin@tukaani.org> 4894Date: 2022-11-11 17:15:25 +0200 4895 4896 liblzma: Fix building with Intel ICC (the classic compiler). 4897 4898 It claims __GNUC__ >= 10 but doesn't support __symver__ attribute. 4899 4900 Thanks to Stephen Sachs. 4901 4902 src/liblzma/common/common.h | 2 +- 4903 1 file changed, 1 insertion(+), 1 deletion(-) 4904 4905commit c715f683dcb1a817d565da292cddfbceda643e12 4906Author: Lasse Collin <lasse.collin@tukaani.org> 4907Date: 2022-11-11 14:35:58 +0200 4908 4909 liblzma: Fix incorrect #ifdef for x86 SSE2 support. 4910 4911 __SSE2__ is the correct macro for SSE2 support with GCC, Clang, 4912 and ICC. __SSE2_MATH__ means doing floating point math with SSE2 4913 instead of 387. Often the latter macro is defined if the first 4914 one is but it was still a bug. 4915 4916 src/liblzma/common/memcmplen.h | 3 +-- 4917 1 file changed, 1 insertion(+), 2 deletions(-) 4918 4919commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce 4920Author: Lasse Collin <lasse.collin@tukaani.org> 4921Date: 2022-11-11 13:27:06 +0200 4922 4923 Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2). 4924 4925 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4926 1 file changed, 74 insertions(+) 4927 4928commit 3c7860cf49de6f81046b3a4034a89f3a4803a576 4929Author: Lasse Collin <lasse.collin@tukaani.org> 4930Date: 2022-11-11 13:16:21 +0200 4931 4932 xzdiff: Add support for .lz files. 4933 4934 The other scripts don't need changes for .lz support because 4935 in those scripts it is enough that xz supports .lz. 4936 4937 src/scripts/xzdiff.in | 10 +++++----- 4938 1 file changed, 5 insertions(+), 5 deletions(-) 4939 4940commit d76c752a6d77052e5ad57ade555082585f7ac5d8 4941Author: Lasse Collin <lasse.collin@tukaani.org> 4942Date: 2022-11-11 12:23:58 +0200 4943 4944 Scripts: Ignore warnings from xz. 4945 4946 In practice this means making the scripts work when 4947 the input files have an unsupported check type which 4948 isn't a problem in practice unless support for 4949 some check types has been disabled at build time. 4950 4951 src/scripts/xzdiff.in | 5 +++-- 4952 src/scripts/xzgrep.in | 2 +- 4953 src/scripts/xzless.in | 4 ++-- 4954 src/scripts/xzmore.in | 4 ++-- 4955 4 files changed, 8 insertions(+), 7 deletions(-) 4956 4957commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c 4958Author: Lasse Collin <lasse.collin@tukaani.org> 4959Date: 2022-11-10 12:34:43 +0200 4960 4961 Translations: Rename poa4/fr_FR.po to po4a/fr.po. 4962 4963 That's how it is preferred at the Translation Project. 4964 On my system /usr/share/man/fr_FR doesn't contain any 4965 other man pages than XZ Utils while /usr/share/man/fr 4966 has quite a few, so this will fix that too. 4967 4968 Thanks to Benno Schulenberg from the Translation Project. 4969 4970 po4a/{fr_FR.po => fr.po} | 0 4971 po4a/po4a.conf | 2 +- 4972 2 files changed, 1 insertion(+), 1 deletion(-) 4973 4974commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a 4975Author: Lasse Collin <lasse.collin@tukaani.org> 4976Date: 2022-11-09 18:48:50 +0200 4977 4978 xz: Update the man page about BCJ filters, including upcoming --arm64. 4979 4980 The --arm64 isn't actually implemented yet in the form 4981 described in this commit. 4982 4983 Thanks to Jia Tan. 4984 4985 src/xz/xz.1 | 66 +++++++++++++++++++++++++++---------------------------------- 4986 1 file changed, 29 insertions(+), 37 deletions(-) 4987 4988commit ba2ae3596f6be1587495f33b367488f6e00e56f1 4989Author: Lasse Collin <lasse.collin@tukaani.org> 4990Date: 2022-11-09 18:14:14 +0200 4991 4992 xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb). 4993 4994 Modern 32-bit ARM in big endian mode use little endian for 4995 instruction encoding still, so the filters work on such 4996 executables too. It's likely less confusing for users this way. 4997 4998 The --arm64 option hasn't been implemented yet (there is 4999 --experimental-arm64 but it's different). The --arm64 option 5000 is added now anyway because this is the likely result and the 5001 strings need to be ready for translators. 5002 5003 Thanks to Jia Tan. 5004 5005 src/xz/message.c | 5 +++-- 5006 1 file changed, 3 insertions(+), 2 deletions(-) 5007 5008commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55 5009Author: Lasse Collin <lasse.collin@tukaani.org> 5010Date: 2022-11-09 15:12:13 +0200 5011 5012 Windows: Update the VS project files for ARM64 and .lz support. 5013 5014 windows/vs2013/config.h | 9 +++++++++ 5015 windows/vs2013/liblzma.vcxproj | 5 ++++- 5016 windows/vs2013/liblzma_dll.vcxproj | 5 ++++- 5017 windows/vs2017/config.h | 9 +++++++++ 5018 windows/vs2017/liblzma.vcxproj | 3 +++ 5019 windows/vs2017/liblzma_dll.vcxproj | 3 +++ 5020 windows/vs2019/config.h | 9 +++++++++ 5021 windows/vs2019/liblzma.vcxproj | 5 ++++- 5022 windows/vs2019/liblzma_dll.vcxproj | 5 ++++- 5023 9 files changed, 49 insertions(+), 4 deletions(-) 5024 5025commit 5846aeda05972bc803c6094821ae836229ebe691 5026Author: Lasse Collin <lasse.collin@tukaani.org> 5027Date: 2022-11-09 14:57:48 +0200 5028 5029 DOS: Update Makefile and config.h to include ARM64 and .lz support. 5030 5031 dos/Makefile | 2 ++ 5032 dos/config.h | 9 +++++++++ 5033 2 files changed, 11 insertions(+) 5034 5035commit 781da8d6c44de6aa278c916375250668a0b107f2 5036Author: Lasse Collin <lasse.collin@tukaani.org> 5037Date: 2022-11-09 14:45:05 +0200 5038 5039 CMake: Add lzip decoder files and #define to the build. 5040 5041 CMakeLists.txt | 3 +++ 5042 1 file changed, 3 insertions(+) 5043 5044commit df8ad4af65a9c4846b108550d0083770a69dee64 5045Author: Lasse Collin <lasse.collin@tukaani.org> 5046Date: 2022-11-09 14:41:56 +0200 5047 5048 Docs: Update INSTALL and also add new prohibited options to PACKAGERS. 5049 5050 INSTALL | 49 +++++++++++++++++++++++++++++++++++++++++-------- 5051 PACKAGERS | 2 ++ 5052 2 files changed, 43 insertions(+), 8 deletions(-) 5053 5054commit c8ef089c149afaab413c3a51be827dd1d11afe0e 5055Author: Lasse Collin <lasse.collin@tukaani.org> 5056Date: 2022-10-20 17:39:06 +0300 5057 5058 Tests: Test the .lz files in test_files.sh. 5059 5060 tests/test_files.sh | 25 +++++++++++++++++++++++++ 5061 1 file changed, 25 insertions(+) 5062 5063commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7 5064Author: Lasse Collin <lasse.collin@tukaani.org> 5065Date: 2022-10-20 15:35:59 +0300 5066 5067 Tests: Add .lz (lzip) test files. 5068 5069 tests/files/README | 109 +++++++++++++++++++++++++++++---- 5070 tests/files/bad-1-v0-uncomp-size.lz | Bin 0 -> 42 bytes 5071 tests/files/bad-1-v1-crc32.lz | Bin 0 -> 50 bytes 5072 tests/files/bad-1-v1-dict-1.lz | Bin 0 -> 50 bytes 5073 tests/files/bad-1-v1-dict-2.lz | Bin 0 -> 50 bytes 5074 tests/files/bad-1-v1-magic-1.lz | Bin 0 -> 50 bytes 5075 tests/files/bad-1-v1-magic-2.lz | Bin 0 -> 50 bytes 5076 tests/files/bad-1-v1-member-size.lz | Bin 0 -> 50 bytes 5077 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes 5078 tests/files/bad-1-v1-uncomp-size.lz | Bin 0 -> 50 bytes 5079 tests/files/good-1-v0-trailing-1.lz | Bin 0 -> 59 bytes 5080 tests/files/good-1-v0.lz | Bin 0 -> 42 bytes 5081 tests/files/good-1-v1-trailing-1.lz | Bin 0 -> 67 bytes 5082 tests/files/good-1-v1-trailing-2.lz | Bin 0 -> 70 bytes 5083 tests/files/good-1-v1.lz | Bin 0 -> 50 bytes 5084 tests/files/good-2-v0-v1.lz | Bin 0 -> 78 bytes 5085 tests/files/good-2-v1-v0.lz | Bin 0 -> 78 bytes 5086 tests/files/good-2-v1-v1.lz | Bin 0 -> 86 bytes 5087 tests/files/unsupported-1-v234.lz | Bin 0 -> 50 bytes 5088 19 files changed, 98 insertions(+), 11 deletions(-) 5089 5090commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f 5091Author: Lasse Collin <lasse.collin@tukaani.org> 5092Date: 2022-10-19 22:32:51 +0300 5093 5094 xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz. 5095 5096 src/xz/args.c | 2 -- 5097 src/xz/coder.h | 1 - 5098 src/xz/suffix.c | 9 --------- 5099 3 files changed, 12 deletions(-) 5100 5101commit 3176f992c55b8d788c4633809aaf9447376a5a12 5102Author: Lasse Collin <lasse.collin@tukaani.org> 5103Date: 2022-10-08 21:28:15 +0300 5104 5105 xz: Add .lz (lzip) decompression support. 5106 5107 If configured with --disable-lzip-decoder then --long-help will 5108 still list `lzip' in --format but I left it like that since 5109 due to translations it would be messy to have two help strings. 5110 Features are disabled only in special situations so wrong help 5111 in such a situation shouldn't matter much. 5112 5113 Thanks to Michał Górny for the original patch. 5114 5115 src/xz/args.c | 9 ++++++++ 5116 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 5117 src/xz/coder.h | 3 +++ 5118 src/xz/message.c | 2 +- 5119 src/xz/suffix.c | 26 ++++++++++++++++++---- 5120 src/xz/xz.1 | 46 +++++++++++++++++++++++++++++++++----- 5121 6 files changed, 141 insertions(+), 13 deletions(-) 5122 5123commit 034086e1ae1459210837a24e04878435c86dc41b 5124Author: Lasse Collin <lasse.collin@tukaani.org> 5125Date: 2022-10-08 00:29:20 +0300 5126 5127 liblzma: Add .lz support to lzma_auto_decoder(). 5128 5129 Thanks to Michał Górny for the original patch. 5130 5131 src/liblzma/api/lzma/container.h | 10 ++++++---- 5132 src/liblzma/common/Makefile.inc | 3 ++- 5133 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------ 5134 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++ 5135 4 files changed, 47 insertions(+), 11 deletions(-) 5136 5137commit 0538db038f3cdc352007dacb42454aa1806b8e40 5138Author: Lasse Collin <lasse.collin@tukaani.org> 5139Date: 2022-10-06 15:50:20 +0300 5140 5141 liblzma: Add .lz (lzip) decompression support (format versions 0 and 1). 5142 5143 Support for format version 0 was removed from lzip 1.18 for some 5144 reason. .lz format version 0 files are rare (and old) but some 5145 source packages were released in this format, and some people might 5146 have personal files in this format too. It's very little extra code 5147 to support it along side format version 1 so this commits adds 5148 support for both. 5149 5150 The Sync Flush marker extentension to the original .lz format 5151 version 1 isn't supported. It would require changes to the 5152 LZMA decoder itself. Such files are very rare anyway. 5153 5154 See the API doc for lzma_lzip_decoder() for more details about 5155 the .lz format support. 5156 5157 Thanks to Michał Górny for the original patch. 5158 5159 configure.ac | 21 ++ 5160 src/liblzma/api/lzma/container.h | 62 +++++- 5161 src/liblzma/common/Makefile.inc | 5 + 5162 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++ 5163 src/liblzma/liblzma_generic.map | 1 + 5164 src/liblzma/liblzma_linux.map | 1 + 5165 6 files changed, 501 insertions(+), 2 deletions(-) 5166 5167commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c 5168Author: Lasse Collin <lasse.collin@tukaani.org> 5169Date: 2022-11-09 14:17:23 +0200 5170 5171 liblzma: Add the missing Makefile.inc change for --disable-microlzma. 5172 5173 This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8. 5174 5175 src/liblzma/common/Makefile.inc | 12 ++++++++++-- 5176 1 file changed, 10 insertions(+), 2 deletions(-) 5177 5178commit 724285dadbdc88765c8fb83eab9816575a260966 5179Author: Lasse Collin <lasse.collin@tukaani.org> 5180Date: 2022-11-09 14:10:52 +0200 5181 5182 xz: Add comments about stdin and src_st.st_size. 5183 5184 "xz -v < regular_file > out.xz" doesn't display the percentage 5185 and estimated remaining time because it doesn't even try to 5186 check the input file size when input is read from stdin. 5187 This could be improved but for now there's just a comment 5188 to remind about it. 5189 5190 src/xz/coder.c | 9 +++++++++ 5191 src/xz/file_io.c | 4 ++++ 5192 2 files changed, 13 insertions(+) 5193 5194commit f723eec68b0e44234910f669a29119de33018967 5195Author: Lasse Collin <lasse.collin@tukaani.org> 5196Date: 2022-11-09 12:48:22 +0200 5197 5198 xz: Fix displaying of file sizes in progress indicator in passthru mode. 5199 5200 It worked for one input file since the counters are zero when 5201 xz starts but they weren't reset when starting a new file in 5202 passthru mode. For example, if files A, B, and C are one byte each, 5203 then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes 5204 instead of 1, 1, and 1 byte. 5205 5206 src/xz/coder.c | 6 +++++- 5207 1 file changed, 5 insertions(+), 1 deletion(-) 5208 5209commit 69265d0f223ddf1d66f799b8b047df22923e376f 5210Author: Lasse Collin <lasse.collin@tukaani.org> 5211Date: 2022-11-09 11:27:20 +0200 5212 5213 xz: Add a comment why --to-stdout is not in --help. 5214 5215 It is on the man page still. 5216 5217 src/xz/message.c | 3 +++ 5218 1 file changed, 3 insertions(+) 5219 5220commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7 5221Author: Lasse Collin <lasse.collin@tukaani.org> 5222Date: 2022-11-08 23:05:37 +0200 5223 5224 xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress. 5225 5226 src/xz/list.c | 20 +++++++++++++++----- 5227 1 file changed, 15 insertions(+), 5 deletions(-) 5228 5229commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a 5230Author: Lasse Collin <lasse.collin@tukaani.org> 5231Date: 2022-11-08 22:26:54 +0200 5232 5233 Docs: Update faq.txt a little. 5234 5235 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++--------------------- 5236 1 file changed, 43 insertions(+), 23 deletions(-) 5237 5238commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b 5239Author: Lasse Collin <lasse.collin@tukaani.org> 5240Date: 2022-11-08 16:57:17 +0200 5241 5242 Translations: Update Turkish translation. 5243 5244 po/tr.po | 2 +- 5245 1 file changed, 1 insertion(+), 1 deletion(-) 5246 5247commit ed3a4822963b4940d84e6f44d47277c394fc046d 5248Author: Lasse Collin <lasse.collin@tukaani.org> 5249Date: 2022-11-08 14:55:32 +0200 5250 5251 Translations: Update Croatian translation. 5252 5253 po/hr.po | 190 ++++++++++++++++++++++++++++++++------------------------------- 5254 1 file changed, 96 insertions(+), 94 deletions(-) 5255 5256commit 4746f5ec721316bc4c6fec9905b2902e0360e0af 5257Author: Lasse Collin <lasse.collin@tukaani.org> 5258Date: 2022-11-08 14:13:03 +0200 5259 5260 liblzma: Update API docs about decoder flags. 5261 5262 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 5263 1 file changed, 17 insertions(+), 4 deletions(-) 5264 5265commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d 5266Author: Lasse Collin <lasse.collin@tukaani.org> 5267Date: 2022-11-08 14:01:50 +0200 5268 5269 liblzma: Use the return_if_error() macro in alone_decoder.c. 5270 5271 src/liblzma/common/alone_decoder.c | 6 ++---- 5272 1 file changed, 2 insertions(+), 4 deletions(-) 5273 5274commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc 5275Author: Lasse Collin <lasse.collin@tukaani.org> 5276Date: 2022-11-08 14:00:58 +0200 5277 5278 liblzma: Fix a comment in auto_decoder.c. 5279 5280 src/liblzma/common/auto_decoder.c | 4 ++-- 5281 1 file changed, 2 insertions(+), 2 deletions(-) 5282 5283commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334 5284Author: Lasse Collin <lasse.collin@tukaani.org> 5285Date: 2022-11-08 13:43:19 +0200 5286 5287 xz: Initialize the pledge(2) sandbox at the very beginning of main(). 5288 5289 It feels better that the initializations are sandboxed too. 5290 They don't do anything that the pledge() call wouldn't allow. 5291 5292 src/xz/main.c | 27 ++++++++++++++------------- 5293 1 file changed, 14 insertions(+), 13 deletions(-) 5294 5295commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5 5296Author: Lasse Collin <lasse.collin@tukaani.org> 5297Date: 2022-11-07 22:51:16 +0200 5298 5299 xz: Extend --robot --info-memory output. 5300 5301 Now it includes everything that the human-readable --info-memory shows. 5302 5303 src/xz/hardware.c | 24 +++++++++++++++--------- 5304 src/xz/xz.1 | 47 +++++++++++++++++++++++++++++++++++++++++------ 5305 2 files changed, 56 insertions(+), 15 deletions(-) 5306 5307commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8 5308Author: Lasse Collin <lasse.collin@tukaani.org> 5309Date: 2022-11-07 17:22:04 +0200 5310 5311 liblzma: Include cached memory in reported memusage in threaded decoder. 5312 5313 This affects lzma_memusage() and lzma_memlimit_set() when used 5314 with the threaded decompressor. Now all allocations are reported 5315 by lzma_memusage() (so it's not misleading) and lzma_memlimit_set() 5316 cannot lower the limit below that value. 5317 5318 The alternative would have been to allow lowering the limit if 5319 doing so is possible by freeing the cached memory but since 5320 the primary use case of lzma_memlimit_set() is to increase 5321 memlimit after LZMA_MEMLIMIT_ERROR this simple approach 5322 was selected. 5323 5324 The cached memory was always included when enforcing 5325 the memory usage limit while decoding. 5326 5327 Thanks to Jia Tan. 5328 5329 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++--- 5330 1 file changed, 19 insertions(+), 3 deletions(-) 5331 5332commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1 5333Author: Jia Tan <jiat0218@gmail.com> 5334Date: 2022-11-07 16:24:14 +0200 5335 5336 xz: Avoid a compiler warning in progress_speed() in message.c. 5337 5338 This should be smaller too since it avoids the string constants. 5339 5340 src/xz/message.c | 9 +++------ 5341 1 file changed, 3 insertions(+), 6 deletions(-) 5342 5343commit cf118c014683069b5dbe91898acdc40f2f0a1f5d 5344Author: Lasse Collin <lasse.collin@tukaani.org> 5345Date: 2022-10-31 16:26:05 +0200 5346 5347 Build: Clarify comment in configure.ac about SSE2. 5348 5349 configure.ac | 5 ++++- 5350 1 file changed, 4 insertions(+), 1 deletion(-) 5351 5352commit aad3c609ffb72f581a7a2b67be3ad70b2b327840 5353Author: Lasse Collin <lasse.collin@tukaani.org> 5354Date: 2022-10-31 16:16:37 +0200 5355 5356 Build: Remove obsolete commented-out lines from configure.ac. 5357 5358 configure.ac | 4 ---- 5359 1 file changed, 4 deletions(-) 5360 5361commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba 5362Author: Lasse Collin <lasse.collin@tukaani.org> 5363Date: 2022-10-31 13:31:58 +0200 5364 5365 Windows: Fix mythread_once() macro with Vista threads. 5366 5367 Don't call InitOnceComplete() if initialization was already done. 5368 5369 So far mythread_once() has been needed only when building 5370 with --enable-small. windows/build.bash does this together 5371 with --disable-threads so the Vista-specific mythread_once() 5372 is never needed by those builds. VS project files or 5373 CMake-builds don't support HAVE_SMALL builds at all. 5374 5375 src/common/mythread.h | 7 ++++--- 5376 1 file changed, 4 insertions(+), 3 deletions(-) 5377 5378commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58 5379Author: Lasse Collin <lasse.collin@tukaani.org> 5380Date: 2022-10-31 11:54:44 +0200 5381 5382 liblzma: Silence -Wconversion warning from crc64_fast.c. 5383 5384 src/liblzma/check/crc64_fast.c | 5 +++-- 5385 1 file changed, 3 insertions(+), 2 deletions(-) 5386 5387commit a243c617ff249d915ac123de4f536b80322c1fdb 5388Author: Lasse Collin <lasse.collin@tukaani.org> 5389Date: 2022-10-31 11:49:47 +0200 5390 5391 CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4. 5392 5393 This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43. 5394 5395 cmake/tuklib_cpucores.cmake | 5 +++++ 5396 1 file changed, 5 insertions(+) 5397 5398commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75 5399Author: Lasse Collin <lasse.collin@tukaani.org> 5400Date: 2022-10-27 15:49:18 +0300 5401 5402 Tests: test_files.sh: Make it not fail if features were disabled at build. 5403 5404 It now tries to test as many files as easily possible. 5405 The exit status indicates skipping if any of the files were 5406 skipped. This way it is easy to notice if something is being 5407 skipped when it isn't expected. 5408 5409 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 5410 1 file changed, 46 insertions(+), 4 deletions(-) 5411 5412commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de 5413Author: Lasse Collin <lasse.collin@tukaani.org> 5414Date: 2022-10-27 15:30:13 +0300 5415 5416 Tests: test_files.sh: Suppress an expected warning from the log. 5417 5418 xz (but not xzdec) will normally warn about unsupported check 5419 but since we are testing specifically such a file, it's better 5420 to silence that warning so that it doesn't look suspicious in 5421 test_files.sh.log. 5422 5423 The use of -q and -Q in xzdec is just for consistency and 5424 doesn't affect the result at least for now. 5425 5426 tests/test_files.sh | 4 ++-- 5427 1 file changed, 2 insertions(+), 2 deletions(-) 5428 5429commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce 5430Author: Lasse Collin <lasse.collin@tukaani.org> 5431Date: 2022-10-27 15:27:50 +0300 5432 5433 Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing. 5434 5435 tests/test_files.sh | 1 + 5436 1 file changed, 1 insertion(+) 5437 5438commit c1dd8524e1af07f16b790463899de06a6a5fcc08 5439Author: Lasse Collin <lasse.collin@tukaani.org> 5440Date: 2022-10-27 01:12:40 +0300 5441 5442 Tests: Keep test_compress_* working when some filters are unavailable. 5443 5444 tests/test_compress.sh | 34 ++++++++++++++++++++-------------- 5445 1 file changed, 20 insertions(+), 14 deletions(-) 5446 5447commit ce30ada91951d0746879ae438da11f1ee8a90aa0 5448Author: Jia Tan <jiat0218@gmail.com> 5449Date: 2022-10-23 21:01:08 +0800 5450 5451 Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled. 5452 5453 tests/test_bcj_exact_size.c | 3 +++ 5454 1 file changed, 3 insertions(+) 5455 5456commit 89c5cfcacaca7130509fac836e2f30c46b824502 5457Author: Lasse Collin <lasse.collin@tukaani.org> 5458Date: 2022-10-26 00:05:57 +0300 5459 5460 Tests: Test also unsupported-*.xz. 5461 5462 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++ 5463 1 file changed, 37 insertions(+) 5464 5465commit a4b214b93ac741edef9c41e55865b0b867ca2587 5466Author: Lasse Collin <lasse.collin@tukaani.org> 5467Date: 2022-10-25 23:45:03 +0300 5468 5469 Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER. 5470 5471 We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS. 5472 5473 There is a warning about AC_PROG_CC_C99 being obsolete but 5474 it cannot be removed because it is needed with Autoconf 2.69. 5475 5476 configure.ac | 2 +- 5477 1 file changed, 1 insertion(+), 1 deletion(-) 5478 5479commit 04f299b64e73f50afc188c2590ebebc6b73ed744 5480Author: Lasse Collin <lasse.collin@tukaani.org> 5481Date: 2022-10-25 23:31:44 +0300 5482 5483 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 5484 5485 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++------- 5486 1 file changed, 22 insertions(+), 7 deletions(-) 5487 5488commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8 5489Author: Lasse Collin <lasse.collin@tukaani.org> 5490Date: 2022-10-25 23:28:34 +0300 5491 5492 Build: Add configure option --disable-microlzma. 5493 5494 MicroLZMA was made for EROFS and used by erofs-utils. 5495 It might be used by something else in the future but 5496 those wanting a smaller build for specific situations 5497 can now disable this rarely-needed feature. 5498 5499 configure.ac | 22 ++++++++++++++++++++++ 5500 1 file changed, 22 insertions(+) 5501 5502commit 054ccd6d14b2cc6eddc56897af280d3221414150 5503Author: Lasse Collin <lasse.collin@tukaani.org> 5504Date: 2022-10-25 23:09:11 +0300 5505 5506 xz: Fix --single-stream with an empty .xz Stream. 5507 5508 Example: 5509 5510 $ xz -dc --single-stream good-0-empty.xz 5511 xz: good-0-empty.xz: Internal error (bug) 5512 5513 The code, that is tries to catch some input file issues early, 5514 didn't anticipate LZMA_STREAM_END which is possible in that 5515 code only when --single-stream is used. 5516 5517 src/xz/coder.c | 9 +++++++++ 5518 1 file changed, 9 insertions(+) 5519 5520commit 563288ea705e83ff5cb292adf794650c263bca1d 5521Author: Lasse Collin <lasse.collin@tukaani.org> 5522Date: 2022-10-25 21:11:58 +0300 5523 5524 xz: Add support for OpenBSD's pledge() sandbox. 5525 5526 configure.ac | 12 +++++++++--- 5527 src/xz/file_io.c | 11 +++++++++++ 5528 src/xz/main.c | 13 +++++++++++++ 5529 src/xz/private.h | 2 +- 5530 4 files changed, 34 insertions(+), 4 deletions(-) 5531 5532commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944 5533Author: Lasse Collin <lasse.collin@tukaani.org> 5534Date: 2022-10-25 19:07:17 +0300 5535 5536 xz: Fix decompressor behavior if input uses an unsupported check type. 5537 5538 Now files with unsupported check will make xz display 5539 a warning, set the exit status to 2 (unless --no-warn is used), 5540 and then decompress the file normally. This is how it was 5541 supposed to work since the beginning but this was broken by 5542 the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is, 5543 a little before 5.0.0 was released. The buggy behavior displayed 5544 a message, set exit status 1 (error), and xz didn't attempt to 5545 to decompress the file. 5546 5547 This doesn't matter today except for special builds that disable 5548 CRC64 or SHA-256 at build time (but such builds should be used 5549 in special situations only). The bug matters if new check type 5550 is added in the future and an old xz version is used to decompress 5551 such a file; however, it's likely that such files would use a new 5552 filter too and an old xz wouldn't be able to decompress the file 5553 anyway. 5554 5555 The first hunk in the commit is the actual fix. The second hunk 5556 is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz. 5557 5558 There is a test file for unsupported check type but it wasn't 5559 used by test_files.sh, perhaps due to different behavior between 5560 xz and the simpler xzdec. 5561 5562 src/xz/coder.c | 19 +++++++++++++++---- 5563 1 file changed, 15 insertions(+), 4 deletions(-) 5564 5565commit aa4fe145b9486adc454f44fd3e09be9add808a0f 5566Author: Lasse Collin <lasse.collin@tukaani.org> 5567Date: 2022-10-25 18:36:19 +0300 5568 5569 xz: Clarify the man page: input file isn't removed if an error occurs. 5570 5571 src/xz/xz.1 | 5 +++-- 5572 1 file changed, 3 insertions(+), 2 deletions(-) 5573 5574commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d 5575Author: Lasse Collin <lasse.collin@tukaani.org> 5576Date: 2022-10-25 18:30:55 +0300 5577 5578 xz: Refactor to remove is_empty_filename(). 5579 5580 Long ago it was used in list.c too but nowadays it's needed 5581 only in io_open_src() so it's nicer to avoid a separate function. 5582 5583 src/xz/file_io.c | 4 +++- 5584 src/xz/util.c | 12 ------------ 5585 src/xz/util.h | 4 ---- 5586 3 files changed, 3 insertions(+), 17 deletions(-) 5587 5588commit 85624015978b0de294cff3df79006df987c552b1 5589Author: Lasse Collin <lasse.collin@tukaani.org> 5590Date: 2022-10-25 18:23:54 +0300 5591 5592 xz: If input file cannot be removed, treat it as a warning, not error. 5593 5594 Treating it as a warning (message + exit status 2) matches gzip 5595 and it seems more logical as at that point the output file has 5596 already been successfully closed. When it's a warning it is 5597 possible to suppress it with --no-warn. 5598 5599 src/xz/file_io.c | 4 ++-- 5600 1 file changed, 2 insertions(+), 2 deletions(-) 5601 5602commit fda9f85f52c546f7ca0313cf89481da4707fecb3 5603Author: Lasse Collin <lasse.collin@tukaani.org> 5604Date: 2022-10-24 16:25:09 +0300 5605 5606 liblzma: Threaded decoder: Stop the worker threads on errors. 5607 5608 It's waste of CPU time and electricity to leave the unfinished 5609 worker threads running when it is known that their output will 5610 get ignored. 5611 5612 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++------- 5613 1 file changed, 26 insertions(+), 7 deletions(-) 5614 5615commit 2611c4d90535652d3eb7ef4a026a6691276fab43 5616Author: Lasse Collin <lasse.collin@tukaani.org> 5617Date: 2022-10-20 20:22:50 +0300 5618 5619 tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD. 5620 5621 On OpenBSD the number of cores online is often less 5622 than what HW_NCPU would return because OpenBSD disables 5623 simultaneous multi-threading (SMT) by default. 5624 5625 Thanks to Christian Weisgerber. 5626 5627 m4/tuklib_cpucores.m4 | 5 +++++ 5628 src/common/tuklib_cpucores.c | 9 +++++++++ 5629 2 files changed, 14 insertions(+) 5630 5631commit 424ac91c7e0419393ff2bde4f62e21fa611c776d 5632Author: Lasse Collin <lasse.collin@tukaani.org> 5633Date: 2022-10-19 19:39:35 +0300 5634 5635 Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled. 5636 5637 This isn't perfect as the scripts can still fail if only 5638 certain filters are disabled. This is still an improvement 5639 as now "make check" has better behavior when all encoders 5640 or decoders are disabled. 5641 5642 Grepping ../config.h is simple and fairly clean but it only 5643 works if config.h was created. CMake builds don't create 5644 config.h but they don't use these test scripts either. 5645 5646 Thanks to Sebastian Andrzej Siewior for reporting the problem. 5647 Thanks to Jia Tan for the original patch which grepped xz 5648 error messages instead of config.h. 5649 5650 tests/test_compress.sh | 12 ++++++++++++ 5651 tests/test_files.sh | 11 +++++++++++ 5652 tests/test_scripts.sh | 11 +++++++++++ 5653 3 files changed, 34 insertions(+) 5654 5655commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09 5656Author: Lasse Collin <lasse.collin@tukaani.org> 5657Date: 2022-10-19 18:54:34 +0300 5658 5659 Test: Remove the (exit 1) lines. 5660 5661 I suspect that I used these in the original version because 5662 Autoconf's manual describes that such a trick is needed in 5663 some specific situations for portability reasons. None of those 5664 situations listed on Autoconf 2.71 manual apply to these test 5665 scripts though so this cleans them up. 5666 5667 tests/test_compress.sh | 10 ---------- 5668 tests/test_files.sh | 9 --------- 5669 tests/test_scripts.sh | 6 ------ 5670 3 files changed, 25 deletions(-) 5671 5672commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e 5673Author: Lasse Collin <lasse.collin@tukaani.org> 5674Date: 2022-10-19 17:14:57 +0300 5675 5676 Tests: Fix a warning in test_memlimit.c when decoders are disabled. 5677 5678 tests/test_memlimit.c | 3 +++ 5679 1 file changed, 3 insertions(+) 5680 5681commit b5f8271b45b9b0e59485ffba3640ca3418835ec4 5682Author: Lasse Collin <lasse.collin@tukaani.org> 5683Date: 2022-10-19 17:11:46 +0300 5684 5685 Tests: Add test_memlimit to .gitignore. 5686 5687 Thanks to Jia Tan. 5688 5689 .gitignore | 1 + 5690 1 file changed, 1 insertion(+) 5691 5692commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38 5693Author: Jia Tan <jiat0218@gmail.com> 5694Date: 2022-10-06 21:53:09 +0300 5695 5696 Tests: Refactor test_stream_flags.c. 5697 5698 Converts test_stream_flags to tuktest. Also the test will now 5699 compile and skip properly if encoders or decoders are disabled. 5700 5701 Thanks to Sebastian Andrzej Siewior. 5702 5703 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++---------- 5704 1 file changed, 416 insertions(+), 117 deletions(-) 5705 5706commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66 5707Author: Jia Tan <jiat0218@gmail.com> 5708Date: 2022-10-06 17:00:38 +0800 5709 5710 Tests: Refactor test_block_header.c. 5711 5712 test_block_header now achieves higher test coverage. Also the 5713 test will now compile and skip properly if encoders or decoders 5714 are disabled. 5715 5716 Thanks to Sebastian Andrzej Siewior. 5717 5718 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++----------- 5719 1 file changed, 370 insertions(+), 116 deletions(-) 5720 5721commit 84963318952064a93bfc52edd6b0ef70593384ee 5722Author: Jia Tan <jiat0218@gmail.com> 5723Date: 2022-10-05 23:54:12 +0800 5724 5725 Tests: Fix compilation issues. 5726 5727 test_bcj_exact_size, test_check, test_hardware, and test_index will 5728 all now compile and skip properly if encoders or decoders are disabled. 5729 5730 Also fixed a small typo (disabed -> disabled). 5731 5732 Thanks to Sebastian Andrzej Siewior. 5733 5734 tests/test_bcj_exact_size.c | 20 ++++++++++++++------ 5735 tests/test_check.c | 8 +++++++- 5736 tests/test_hardware.c | 2 +- 5737 tests/test_index.c | 6 ++++++ 5738 tests/test_memlimit.c | 16 +++++++++++++++- 5739 tests/test_vli.c | 13 +++++++++++++ 5740 6 files changed, 56 insertions(+), 9 deletions(-) 5741 5742commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16 5743Author: Lasse Collin <lasse.collin@tukaani.org> 5744Date: 2022-10-05 16:20:47 +0300 5745 5746 Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED. 5747 5748 tests/test_check.c | 1 + 5749 tests/test_hardware.c | 1 + 5750 tests/test_memlimit.c | 1 + 5751 3 files changed, 3 insertions(+) 5752 5753commit 14af758a770c7781af18fb66d6d21ee5b1c27f04 5754Author: Jia Tan <jiat0218@gmail.com> 5755Date: 2022-10-05 20:57:16 +0800 5756 5757 liblzma: Fix a compilation issue when encoders are disabled. 5758 5759 When encoders were disabled and threading enabled, outqueue.c and 5760 outqueue.h were not compiled. The multi threaded decoder required 5761 these files, so compilation failed. 5762 5763 src/liblzma/common/Makefile.inc | 7 ++++--- 5764 1 file changed, 4 insertions(+), 3 deletions(-) 5765 5766commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f 5767Author: Jia Tan <jiat0218@gmail.com> 5768Date: 2022-10-05 16:41:38 +0800 5769 5770 Tests: Fix compilation error when threading support has been disabled. 5771 5772 Now tests that require threading are skipped when threading 5773 support has been disabled. 5774 5775 Thanks to Sebastian Andrzej Siewior. 5776 5777 tests/test_check.c | 4 ++++ 5778 tests/test_hardware.c | 4 ++++ 5779 tests/test_memlimit.c | 4 ++++ 5780 3 files changed, 12 insertions(+) 5781 5782commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58 5783Author: Lasse Collin <lasse.collin@tukaani.org> 5784Date: 2022-10-05 14:26:00 +0300 5785 5786 tuklib_integer: Add 64-bit endianness-converting reads and writes. 5787 5788 Also update the comment in liblzma's memcmplen.h. 5789 5790 Thanks to Michał Górny for the original patch for the reads. 5791 5792 m4/tuklib_integer.m4 | 8 ++++---- 5793 src/common/tuklib_integer.h | 46 ++++++++++++++++++++++++++++++++++++++++-- 5794 src/liblzma/common/memcmplen.h | 9 +++------ 5795 3 files changed, 51 insertions(+), 12 deletions(-) 5796 5797commit 508a44372c5b0dede8863fd0d358d4a9d8645c95 5798Author: Lasse Collin <lasse.collin@tukaani.org> 5799Date: 2022-09-30 12:06:13 +0300 5800 5801 liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug. 5802 5803 The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98. 5804 5805 src/liblzma/api/lzma/base.h | 11 +++++++++++ 5806 1 file changed, 11 insertions(+) 5807 5808commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed 5809Author: Jia Tan <jiat0218@gmail.com> 5810Date: 2022-09-21 16:15:50 +0800 5811 5812 liblzma: Add dest and src NULL checks to lzma_index_cat. 5813 5814 The documentation states LZMA_PROG_ERROR can be returned from 5815 lzma_index_cat. Previously, lzma_index_cat could not return 5816 LZMA_PROG_ERROR. Now, the validation is similar to 5817 lzma_index_append, which does a NULL check on the index 5818 parameter. 5819 5820 src/liblzma/common/index.c | 3 +++ 5821 1 file changed, 3 insertions(+) 5822 5823commit afd5a8bf5374eba82804a999e1ea7af680784086 5824Author: Jia Tan <jiat0218@gmail.com> 5825Date: 2022-09-21 20:29:28 +0800 5826 5827 Tests: Create a test for the lzma_index_cat bug. 5828 5829 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 5830 1 file changed, 42 insertions(+), 1 deletion(-) 5831 5832commit 3d5a99ca373a4e86faf671226ca6487febb9eeac 5833Author: Jia Tan <jiat0218@gmail.com> 5834Date: 2022-09-21 19:28:53 +0800 5835 5836 liblzma: Fix copying of check type statistics in lzma_index_cat(). 5837 5838 The check type of the last Stream in dest was never copied to 5839 dest->checks (the code tried to copy it but it was done too late). 5840 This meant that the value returned by lzma_index_checks() would 5841 only include the check type of the last Stream when multiple 5842 lzma_indexes had been concatenated. 5843 5844 In xz --list this meant that the summary would only list the 5845 check type of the last Stream, so in this sense this was only 5846 a visual bug. However, it's possible that some applications 5847 use this information for purposes other than merely showing 5848 it to the users in an informational message. I'm not aware of 5849 such applications though and it's quite possible that such 5850 applications don't exist. 5851 5852 Regular streamed decompression in xz or any other application 5853 doesn't use lzma_index_cat() and so this bug cannot affect them. 5854 5855 src/liblzma/common/index.c | 7 ++++++- 5856 1 file changed, 6 insertions(+), 1 deletion(-) 5857 5858commit a61d32172789735350a941e23baf6b587c49e5d9 5859Author: Lasse Collin <lasse.collin@tukaani.org> 5860Date: 2022-09-28 12:20:41 +0300 5861 5862 tuklib_physmem: Fix Unicode builds on Windows. 5863 5864 Thanks to ArSaCiA Game. 5865 5866 src/common/tuklib_physmem.c | 2 +- 5867 1 file changed, 1 insertion(+), 1 deletion(-) 5868 5869commit 5a4d3548ab214fdca364d5c734baf1d1fab47308 5870Author: Lasse Collin <lasse.collin@tukaani.org> 5871Date: 2022-09-28 11:12:07 +0300 5872 5873 Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR. 5874 5875 tests/Makefile.am | 2 + 5876 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5877 2 files changed, 153 insertions(+) 5878 5879commit 660739f99ab211edec4071de98889fb32ed04e98 5880Author: Lasse Collin <lasse.collin@tukaani.org> 5881Date: 2022-09-28 11:05:15 +0300 5882 5883 liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR. 5884 5885 If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible 5886 to use lzma_memlimit_set() to increase the limit and continue 5887 decoding. This was supposed to work from the beginning but 5888 there was a bug. With other decoders (.lzma or threaded .xz) 5889 this already worked correctly. 5890 5891 src/liblzma/common/stream_decoder.c | 16 +++++++++++++--- 5892 1 file changed, 13 insertions(+), 3 deletions(-) 5893 5894commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b 5895Author: Lasse Collin <lasse.collin@tukaani.org> 5896Date: 2022-09-28 11:00:23 +0300 5897 5898 liblzma: Stream decoder: Fix comments. 5899 5900 src/liblzma/common/stream_decoder.c | 12 +++++------- 5901 1 file changed, 5 insertions(+), 7 deletions(-) 5902 5903commit f664cb25841fc1c478b819034a224a558e2ac6e7 5904Author: Lasse Collin <lasse.collin@tukaani.org> 5905Date: 2022-09-20 16:58:22 +0300 5906 5907 liblzma: ARM64: Add comments. 5908 5909 src/liblzma/simple/arm64.c | 13 +++++++++++++ 5910 1 file changed, 13 insertions(+) 5911 5912commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41 5913Author: Lasse Collin <lasse.collin@tukaani.org> 5914Date: 2022-09-20 16:27:50 +0300 5915 5916 liblzma: ARM64: Fix wrong comment in API doc. 5917 5918 Thanks to Jia Tan. 5919 5920 src/liblzma/api/lzma/bcj.h | 4 ++-- 5921 1 file changed, 2 insertions(+), 2 deletions(-) 5922 5923commit d5b0906fa55157f48c200188a3951d80df9cb308 5924Author: Lasse Collin <lasse.collin@tukaani.org> 5925Date: 2022-09-19 20:24:26 +0300 5926 5927 xz: Add --experimental-arm64[=width=WIDTH]. 5928 5929 It will be renamed to --arm64 once it is stable. 5930 5931 Man page or --long-help weren't updated yet. 5932 5933 src/xz/args.c | 7 +++++++ 5934 src/xz/message.c | 7 +++++++ 5935 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++ 5936 src/xz/options.h | 7 +++++++ 5937 4 files changed, 60 insertions(+) 5938 5939commit ecb966de308c255bb4735a7307ef9901c643a9de 5940Author: Lasse Collin <lasse.collin@tukaani.org> 5941Date: 2022-09-19 19:34:56 +0300 5942 5943 liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID. 5944 5945 That is, the Filter ID will be changed once the design is final. 5946 The current version will be removed. So files created with the 5947 tempoary Filter ID won't be supported in the future. 5948 5949 CMakeLists.txt | 3 + 5950 configure.ac | 4 +- 5951 src/liblzma/api/lzma/bcj.h | 35 +++++- 5952 src/liblzma/common/filter_common.c | 9 ++ 5953 src/liblzma/common/filter_decoder.c | 8 ++ 5954 src/liblzma/common/filter_encoder.c | 11 ++ 5955 src/liblzma/simple/Makefile.inc | 4 + 5956 src/liblzma/simple/arm64.c | 227 ++++++++++++++++++++++++++++++++++++ 5957 src/liblzma/simple/simple_coder.h | 9 ++ 5958 src/liblzma/simple/simple_decoder.h | 4 + 5959 src/liblzma/simple/simple_encoder.h | 2 + 5960 11 files changed, 313 insertions(+), 3 deletions(-) 5961 5962commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 5963Author: Lasse Collin <lasse.collin@tukaani.org> 5964Date: 2022-09-17 22:42:18 +0300 5965 5966 liblzma: Simple/BCJ filters: Allow disabling generic BCJ options. 5967 5968 This will be needed for the ARM64 BCJ filter as it will use 5969 its own options struct. 5970 5971 src/liblzma/simple/arm.c | 2 +- 5972 src/liblzma/simple/armthumb.c | 2 +- 5973 src/liblzma/simple/ia64.c | 2 +- 5974 src/liblzma/simple/powerpc.c | 2 +- 5975 src/liblzma/simple/simple_coder.c | 4 ++-- 5976 src/liblzma/simple/simple_private.h | 2 +- 5977 src/liblzma/simple/sparc.c | 2 +- 5978 src/liblzma/simple/x86.c | 3 ++- 5979 8 files changed, 10 insertions(+), 9 deletions(-) 5980 5981commit c3592d0a55114144686ecf960cb516d6b31c98e9 5982Author: Lasse Collin <lasse.collin@tukaani.org> 5983Date: 2022-09-16 17:08:53 +0300 5984 5985 Tests: Add a test file for lzma_index_append() integer overflow bug. 5986 5987 This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136. 5988 5989 test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz 5990 because only then the previously-buggy code path gets tested. 5991 Normal decompression doesn't use lzma_index_append() at all. 5992 Instead, lzma_index_hash functions are used and those already 5993 did the overflow check. 5994 5995 tests/files/README | 10 ++++++++++ 5996 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes 5997 tests/test_files.sh | 8 ++++++++ 5998 3 files changed, 18 insertions(+) 5999 6000commit 982b29f828079a2a26253a40e975127a40a7d2bd 6001Author: Lasse Collin <lasse.collin@tukaani.org> 6002Date: 2022-09-16 15:10:07 +0300 6003 6004 Translations: Add Turkish translation. 6005 6006 po/LINGUAS | 1 + 6007 po/tr.po | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6008 2 files changed, 978 insertions(+) 6009 6010commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2 6011Author: Lasse Collin <lasse.collin@tukaani.org> 6012Date: 2022-09-16 14:09:07 +0300 6013 6014 Update THANKS. 6015 6016 THANKS | 1 + 6017 1 file changed, 1 insertion(+) 6018 6019commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420 6020Author: Lasse Collin <lasse.collin@tukaani.org> 6021Date: 2022-09-16 14:07:03 +0300 6022 6023 xzgrep: Fix compatibility with old shells. 6024 6025 Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15: 6026 6027 xzgrep: line 231: syntax error near unexpected token `;;' 6028 6029 On SCO OpenServer 5.0.7 with Korn Shell 93r: 6030 6031 syntax error at line 231 : `;;' unexpected 6032 6033 Turns out that some old shells don't like apostrophes (') inside 6034 command substitutions. For example, the following fails: 6035 6036 x=$(echo foo 6037 # asdf'zxcv 6038 echo bar) 6039 printf '%s\n' "$x" 6040 6041 The problem was introduced by commits 6042 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29), 6043 bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and 6044 a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19). 6045 5.2.6 is the only stable release that included 6046 this problem. 6047 6048 Thanks to Kevin R. Bulgrien for reporting the problem 6049 on SCO OpenServer 5.0.7 and for providing the fix. 6050 6051 src/scripts/xzgrep.in | 6 +++--- 6052 1 file changed, 3 insertions(+), 3 deletions(-) 6053 6054commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99 6055Author: Lasse Collin <lasse.collin@tukaani.org> 6056Date: 2022-09-09 14:12:30 +0300 6057 6058 Tests: Silence warnings about unused functions from tuktest.h. 6059 6060 Warnings about unused tuktest_run_test conveniently tell which 6061 test programs haven't been converted to tuktest.h yet but I 6062 silenced that warning too for now anyway. 6063 6064 It is fine to use __attribute__((__unused__)) even when the 6065 function is actually used because the attribute only means 6066 that the function might be unused. 6067 6068 tests/tuktest.h | 10 ++++++++++ 6069 1 file changed, 10 insertions(+) 6070 6071commit f8ee61e74eb40600445fdb601c374d582e1e9c8a 6072Author: Lasse Collin <lasse.collin@tukaani.org> 6073Date: 2022-09-09 13:51:57 +0300 6074 6075 liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs. 6076 6077 lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed 6078 this. Before this patch, failing lzma_filters_copy() could result 6079 in free(invalid_pointer) or invalid memory reads in stream_encoder.c 6080 or stream_encoder_mt.c. 6081 6082 To trigger this, allocating memory for a filter options structure 6083 has to fail. These are tiny allocations so in practice they very 6084 rarely fail. 6085 6086 Certain badness in the filter chain array could also make 6087 lzma_filters_copy() fail but both stream_encoder.c and 6088 stream_encoder_mt.c validate the filter chain before 6089 trying to copy it, so the crash cannot occur this way. 6090 6091 src/liblzma/api/lzma/filter.h | 4 +++- 6092 src/liblzma/common/filter_common.c | 18 ++++++++++++------ 6093 2 files changed, 15 insertions(+), 7 deletions(-) 6094 6095commit 18d7facd3802b55c287581405c4d49c98708c136 6096Author: Jia Tan <jiat0218@gmail.com> 6097Date: 2022-09-02 20:18:55 +0800 6098 6099 liblzma: lzma_index_append: Add missing integer overflow check. 6100 6101 The documentation in src/liblzma/api/lzma/index.h suggests that 6102 both the unpadded (compressed) size and the uncompressed size 6103 are checked for overflow, but only the unpadded size was checked. 6104 The uncompressed check is done first since that is more likely to 6105 occur than the unpadded or index field size overflows. 6106 6107 src/liblzma/common/index.c | 4 ++++ 6108 1 file changed, 4 insertions(+) 6109 6110commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4 6111Author: Lasse Collin <lasse.collin@tukaani.org> 6112Date: 2022-09-08 15:11:08 +0300 6113 6114 Update THANKS. 6115 6116 THANKS | 1 + 6117 1 file changed, 1 insertion(+) 6118 6119commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc 6120Author: Jia Tan <jiat0218@gmail.com> 6121Date: 2022-09-08 15:07:00 +0300 6122 6123 CMake: Clarify a comment about Windows symlinks without file extension. 6124 6125 CMakeLists.txt | 7 +++---- 6126 1 file changed, 3 insertions(+), 4 deletions(-) 6127 6128commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d 6129Author: Lasse Collin <lasse.collin@tukaani.org> 6130Date: 2022-09-08 15:02:41 +0300 6131 6132 CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep. 6133 6134 The previous commit split liblzma.map into liblzma_linux.map and 6135 liblzma_generic.map. This commit updates the CMake build for those. 6136 6137 common_w32res.rc dependency was listed under Linux/FreeBSD while 6138 obviously it belongs to Windows when building a DLL. 6139 6140 CMakeLists.txt | 24 +++++++++++++++++++----- 6141 1 file changed, 19 insertions(+), 5 deletions(-) 6142 6143commit 913ddc5572b9455fa0cf299be2e35c708840e922 6144Author: Lasse Collin <lasse.collin@tukaani.org> 6145Date: 2022-09-04 23:23:00 +0300 6146 6147 liblzma: Vaccinate against an ill patch from RHEL/CentOS 7. 6148 6149 RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded 6150 encoder that is behind #ifdef LZMA_UNSTABLE in the API headers. 6151 In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map. 6152 API/ABI compatibility tracking isn't done between development 6153 releases so newer releases didn't have XZ_5.1.2alpha anymore. 6154 6155 Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep 6156 the exported symbols compatible with 5.1.2alpha. After checking 6157 the ABI changes it turned out that >= 5.2.0 ABI is backward 6158 compatible with the threaded encoder functions from 5.1.2alpha 6159 (but not vice versa as fixes and extensions to these functions 6160 were made between 5.1.2alpha and 5.2.0). 6161 6162 In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with 6163 xz-5.2.2-compat-libs.patch to modify liblzma.map: 6164 6165 - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and 6166 lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha. 6167 6168 - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was 6169 an error; the intention was to keep using XZ_5.2 (XZ_5.2.2 6170 has never been used in XZ Utils). So XZ_5.2.2 lists all 6171 symbols that were listed under XZ_5.2 before the patch. 6172 lzma_stream_encoder_mt and _mt_memusage are included too so 6173 they are listed both here and under XZ_5.1.2alpha. 6174 6175 The patch didn't add any __asm__(".symver ...") lines to the .c 6176 files. Thus the resulting liblzma.so exports the threaded encoder 6177 functions under XZ_5.1.2alpha only. Listing the two functions 6178 also under XZ_5.2.2 in liblzma.map has no effect without 6179 matching .symver lines. 6180 6181 The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked 6182 against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7. 6183 This is unfortunate but this alone isn't too bad as the problem 6184 is contained within RHEL/CentOS 7 and doesn't affect users 6185 of other distributions. It could also be fixed internally in 6186 RHEL/CentOS 7. 6187 6188 The second problem is more serious: In XZ Utils 5.2.2 the API 6189 headers don't have #ifdef LZMA_UNSTABLE for obvious reasons. 6190 This is true in RHEL/CentOS 7 version too. Thus now programs 6191 using new APIs can be compiled without an extra #define. However, 6192 the programs end up depending on symbol version XZ_5.1.2alpha 6193 (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would 6194 with an unpatched XZ Utils 5.2.2. This means that such binaries 6195 won't run on other distributions shipping XZ Utils >= 5.2.0 as 6196 they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide 6197 XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch 6198 luckily isn't included there anymore with XZ Utils 5.2.4.) 6199 6200 Binaries built by RHEL/CentOS 7 users get distributed and then 6201 people wonder why they don't run on some other distribution. 6202 Seems that people have found out about the patch and been copying 6203 it to some build scripts, seemingly curing the symptoms but 6204 actually spreading the illness further and outside RHEL/CentOS 7. 6205 6206 The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it 6207 had spread at least to EasyBuild. I heard about the events only 6208 recently. :-( 6209 6210 This commit splits liblzma.map into two versions: one for 6211 GNU/Linux and another for other OSes that can use symbol versioning 6212 (FreeBSD, Solaris, maybe others). The Linux-specific file and the 6213 matching additions to .c files add full compatibility with binaries 6214 that have been built against a RHEL/CentOS-patched liblzma. Builds 6215 for OSes other than GNU/Linux won't get the vaccine as they should 6216 be immune to the problem (I really hope that no build script uses 6217 the RHEL/CentOS 7 patch outside GNU/Linux). 6218 6219 The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2 6220 are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way 6221 if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building, 6222 the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2 6223 since XZ_5.2 {...} is the first one that lists that function. 6224 Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2 6225 will be missing but that's still a minor problem compared to 6226 only having lzma_stream_encoder_mt@@XZ_5.1.2alpha! 6227 6228 The "local: *;" line was moved to XZ_5.0 so that it doesn't need 6229 to be moved around. It doesn't matter where it is put. 6230 6231 Having two similar liblzma_*.map files is a bit silly as it is, 6232 at least for now, easily possible to generate the generic one 6233 from the Linux-specific file. But that adds extra steps and 6234 increases the risk of mistakes when supporting more than one 6235 build system. So I rather maintain two files in parallel and let 6236 validate_map.sh check that they are in sync when "make mydist" 6237 is run. 6238 6239 This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and 6240 lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these 6241 weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was 6242 for these two). I added these anyway because someone might 6243 misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2 6244 (@@XZ_5.2.2) versions were exported too. 6245 6246 At glance one could suggest using __typeof__ to copy the function 6247 prototypes when making aliases. However, this doesn't work trivially 6248 because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure) 6249 and it won't change symbol visibility from hidden to default (done 6250 by LZMA_API()). Attributes could be copied with __copy__ attribute 6251 but that needs GCC 9 and a fallback method would be needed anyway. 6252 6253 This uses __symver__ attribute with GCC >= 10 and 6254 __asm__(".symver ...") with everything else. The attribute method 6255 is required for LTO (-flto) support with GCC. Using -flto with 6256 GCC older than 10 is now broken on GNU/Linux and will not be fixed 6257 (can silently result in a broken liblzma build that has dangerously 6258 incorrect symbol versions). LTO builds with Clang seem to work 6259 with the traditional __asm__(".symver ...") method. 6260 6261 Thanks to Boud Roukema for reporting the problem and discussing 6262 the details and testing the fix. 6263 6264 configure.ac | 23 +++- 6265 src/liblzma/Makefile.am | 10 +- 6266 src/liblzma/common/block_buffer_encoder.c | 18 ++++ 6267 src/liblzma/common/common.c | 14 +++ 6268 src/liblzma/common/common.h | 28 +++++ 6269 src/liblzma/common/hardware_cputhreads.c | 12 +++ 6270 src/liblzma/common/stream_encoder_mt.c | 42 ++++++++ 6271 src/liblzma/{liblzma.map => liblzma_generic.map} | 6 +- 6272 src/liblzma/liblzma_linux.map | 131 +++++++++++++++++++++++ 6273 src/liblzma/validate_map.sh | 113 +++++++++++++++++-- 6274 10 files changed, 382 insertions(+), 15 deletions(-) 6275 6276commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9 6277Author: Lasse Collin <lasse.collin@tukaani.org> 6278Date: 2022-08-31 16:42:04 +0300 6279 6280 CMake: Add xz symlinks. 6281 6282 These are a minor thing especially since the xz build has 6283 some real problems still like lack of large file support 6284 on 32-bit systems but I'll commit this since the code exists. 6285 6286 Thanks to Jia Tan. 6287 6288 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++- 6289 1 file changed, 37 insertions(+), 1 deletion(-) 6290 6291commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9 6292Author: Lasse Collin <lasse.collin@tukaani.org> 6293Date: 2022-08-31 16:29:38 +0300 6294 6295 CMake: Put xz man page install under if(UNIX) like is for xzdec. 6296 6297 Thanks to Jia Tan. 6298 6299 CMakeLists.txt | 8 +++++--- 6300 1 file changed, 5 insertions(+), 3 deletions(-) 6301 6302commit c1555b1a221a1427d4d650647531016d754bc4da 6303Author: Lasse Collin <lasse.collin@tukaani.org> 6304Date: 2022-08-22 18:16:40 +0300 6305 6306 Bump version number for 5.3.3alpha. 6307 6308 src/liblzma/api/lzma/version.h | 2 +- 6309 src/liblzma/liblzma.map | 2 +- 6310 2 files changed, 2 insertions(+), 2 deletions(-) 6311 6312commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb 6313Author: Lasse Collin <lasse.collin@tukaani.org> 6314Date: 2022-08-22 18:13:56 +0300 6315 6316 Add NEWS for 5.3.3alpha. 6317 6318 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6319 1 file changed, 119 insertions(+) 6320 6321commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa 6322Author: Lasse Collin <lasse.collin@tukaani.org> 6323Date: 2022-07-12 17:59:41 +0300 6324 6325 Translations: Add Portuguese translation. 6326 6327 Jia Tan made white-space changes and also changed "Language: pt_BR\n" 6328 to pt. The translator wasn't reached so I'm hoping these changes 6329 are OK and will commit it without translator's approval. 6330 6331 Thanks to Pedro Albuquerque and Jia Tan. 6332 6333 po/LINGUAS | 1 + 6334 po/pt.po | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6335 2 files changed, 1002 insertions(+) 6336 6337commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae 6338Author: Lasse Collin <lasse.collin@tukaani.org> 6339Date: 2022-07-10 21:16:40 +0300 6340 6341 Translations: Add Serbian translation. 6342 6343 Quite a few white-space changes were made by Jia Tan to make 6344 this look good. Contacting the translator didn't succeed so 6345 I'm committing this without getting translator's approval. 6346 6347 Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan. 6348 6349 po/LINGUAS | 1 + 6350 po/sr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6351 2 files changed, 988 insertions(+) 6352 6353commit cc8617ab53b1f2a4da212fa76c92fe538269c5de 6354Author: Lasse Collin <lasse.collin@tukaani.org> 6355Date: 2022-07-04 23:51:36 +0300 6356 6357 Translations: Add Swedish translation. 6358 6359 Thanks to Sebastian Rasmussen and Jia Tan. 6360 6361 po/LINGUAS | 1 + 6362 po/sv.po | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6363 2 files changed, 984 insertions(+) 6364 6365commit c613598c358b640682d0ca2aed38fa7df763e8c7 6366Author: Lasse Collin <lasse.collin@tukaani.org> 6367Date: 2022-07-04 23:40:27 +0300 6368 6369 Translations: Add Esperanto translation. 6370 6371 Thanks to Keith Bowes and Jia Tan. 6372 6373 po/LINGUAS | 1 + 6374 po/eo.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6375 2 files changed, 985 insertions(+) 6376 6377commit 659a587d678f21e98e91d2751c31d4ce050c081a 6378Author: Lasse Collin <lasse.collin@tukaani.org> 6379Date: 2022-07-01 00:22:33 +0300 6380 6381 Translations: Add Catalan translation. 6382 6383 Thanks to Jordi Mas and Jia Tan. 6384 6385 po/LINGUAS | 1 + 6386 po/ca.po | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6387 2 files changed, 1077 insertions(+) 6388 6389commit 739fd8c9bdf1d85f57d56642aad87148d4779530 6390Author: Lasse Collin <lasse.collin@tukaani.org> 6391Date: 2022-06-30 17:47:08 +0300 6392 6393 Translations: Add Ukrainian translation. 6394 6395 Thanks to Yuri Chornoivan and Jia Tan. 6396 6397 po/LINGUAS | 1 + 6398 po/uk.po | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6399 2 files changed, 997 insertions(+) 6400 6401commit 73280550b111930c62a667e56add8fd574f80bc8 6402Author: Lasse Collin <lasse.collin@tukaani.org> 6403Date: 2022-06-30 17:45:26 +0300 6404 6405 Translators: Add Romanian translation. 6406 6407 Thanks to Remus-Gabriel Chelu and Jia Tan. 6408 6409 po/LINGUAS | 1 + 6410 po/ro.po | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6411 2 files changed, 1017 insertions(+) 6412 6413commit 2465f5b825152714b2c357d96c2422c31109d320 6414Author: Lasse Collin <lasse.collin@tukaani.org> 6415Date: 2022-06-29 18:33:32 +0300 6416 6417 Translations: Update Brazilian Portuguese translation. 6418 6419 One msgstr was changed. The diff is long due to changes 6420 in the source code line numbers in the comments. 6421 6422 Thanks to Rafael Fontenelle. 6423 6424 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------ 6425 1 file changed, 92 insertions(+), 94 deletions(-) 6426 6427commit 434e1ffd3e62719d509da10b646216f5ef53fe4d 6428Author: Lasse Collin <lasse.collin@tukaani.org> 6429Date: 2022-06-29 18:04:44 +0300 6430 6431 Translations: Add Croatian translation. 6432 6433 Thanks to Božidar Putanec and Jia Tan. 6434 6435 po/LINGUAS | 1 + 6436 po/hr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6437 2 files changed, 988 insertions(+) 6438 6439commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499 6440Author: Lasse Collin <lasse.collin@tukaani.org> 6441Date: 2022-06-29 17:58:48 +0300 6442 6443 Translations: Add Spanish translation. 6444 6445 Thanks to Cristian Othón Martínez Vera and Jia Tan. 6446 6447 po/LINGUAS | 1 + 6448 po/es.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6449 2 files changed, 985 insertions(+) 6450 6451commit 9899b0f82bc130998d1f1f618a6ab805b73f2696 6452Author: Lasse Collin <lasse.collin@tukaani.org> 6453Date: 2022-06-29 17:49:43 +0300 6454 6455 Translations: Add Korean translation. 6456 6457 Thanks to Seong-ho Cho and Jia Tan. 6458 6459 po/LINGUAS | 1 + 6460 po/ko.po | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6461 2 files changed, 973 insertions(+) 6462 6463commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f 6464Author: Lasse Collin <lasse.collin@tukaani.org> 6465Date: 2020-03-16 21:57:21 +0200 6466 6467 Translations: Rebuild cs.po to avoid incorrect fuzzy strings. 6468 6469 "make dist" updates the .po files and the fuzzy strings would 6470 result in multiple very wrong translations. 6471 6472 po/cs.po | 592 ++++++++++++++++++++++++++++++++++----------------------------- 6473 1 file changed, 322 insertions(+), 270 deletions(-) 6474 6475commit e56ff423ee7af9e648e16b132f0d835d2cb4db26 6476Author: Lasse Collin <lasse.collin@tukaani.org> 6477Date: 2020-03-16 17:30:39 +0200 6478 6479 Translations: Add partial Danish translation. 6480 6481 I made a few minor white space changes without getting them 6482 approved by the Danish translation team. 6483 6484 po/LINGUAS | 1 + 6485 po/da.po | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6486 2 files changed, 897 insertions(+) 6487 6488commit 43e09c62e77cb8807d932c81de4decbdb956e184 6489Author: Lasse Collin <lasse.collin@tukaani.org> 6490Date: 2020-03-11 22:37:54 +0200 6491 6492 Translations: Add hu, zh_CN, and zh_TW. 6493 6494 I made a few white space changes to these without getting them 6495 approved by the translation teams. (I tried to contact the hu and 6496 zh_TW teams but didn't succeed. I didn't contact the zh_CN team.) 6497 6498 po/LINGUAS | 3 + 6499 po/hu.po | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6500 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6501 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6502 4 files changed, 2907 insertions(+) 6503 6504commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b 6505Author: Lasse Collin <lasse.collin@tukaani.org> 6506Date: 2020-03-11 14:33:30 +0200 6507 6508 Translations: Update vi.po to match the file from the TP. 6509 6510 The translated strings haven't been updated but word wrapping 6511 is different. 6512 6513 po/vi.po | 407 ++++++++++++++++++++++++++++----------------------------------- 6514 1 file changed, 179 insertions(+), 228 deletions(-) 6515 6516commit 801f39691fc4abc6dd33d7653d498781b593f3eb 6517Author: Lasse Collin <lasse.collin@tukaani.org> 6518Date: 2020-03-11 14:18:03 +0200 6519 6520 Translations: Add fi and pt_BR, and update de, fr, it, and pl. 6521 6522 The German translation isn't identical to the file in 6523 the Translation Project but the changes (white space changes 6524 only) were approved by the translator Mario Blättermann. 6525 6526 po/LINGUAS | 2 + 6527 po/de.po | 476 ++++++++++++++-------------- 6528 po/fi.po | 974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6529 po/fr.po | 272 ++++++++-------- 6530 po/it.po | 479 ++++++++++++---------------- 6531 po/pl.po | 239 +++++++------- 6532 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6533 7 files changed, 2697 insertions(+), 746 deletions(-) 6534 6535commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33 6536Author: Lasse Collin <lasse.collin@tukaani.org> 6537Date: 2022-08-22 17:27:19 +0300 6538 6539 xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress. 6540 6541 src/xz/xz.1 | 31 +++++++++++++++++++------------ 6542 1 file changed, 19 insertions(+), 12 deletions(-) 6543 6544commit df23c31000283c00e5ef1ca32a0bc3bb757bd707 6545Author: Lasse Collin <lasse.collin@tukaani.org> 6546Date: 2022-08-22 16:46:18 +0300 6547 6548 CMake: Add liblzma tests. 6549 6550 Thanks to Jia Tan for the patch. 6551 6552 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 6553 1 file changed, 52 insertions(+), 1 deletion(-) 6554 6555commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5 6556Author: Lasse Collin <lasse.collin@tukaani.org> 6557Date: 2022-08-19 23:32:22 +0300 6558 6559 xz: Revise --info-memory output. 6560 6561 The strings could be more descriptive but it's good 6562 to have some version of this committed now. 6563 6564 --robot mode wasn't changed yet. 6565 6566 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------ 6567 src/xz/xz.1 | 1 + 6568 2 files changed, 27 insertions(+), 6 deletions(-) 6569 6570commit f864f6d42eab57ea8ed82cc2dd19a03b51377442 6571Author: Lasse Collin <lasse.collin@tukaani.org> 6572Date: 2022-08-19 23:12:02 +0300 6573 6574 xz: Update the man page for threaded decompression and memlimits. 6575 6576 This documents the changes made in commits 6577 6c6da57ae2aa962aabde6892442227063d87e88c, 6578 cad299008cf73ec566f0662a9cf2b94f86a99659, and 6579 898faa97287a756231c663a3ed5165672b417207. 6580 6581 The --info-memory bit hasn't been finished yet 6582 even though it's already mentioned in this commit 6583 under --memlimit-mt-decompress and --threads. 6584 6585 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 6586 1 file changed, 121 insertions(+), 27 deletions(-) 6587 6588commit d13bfcc0056617dd648f655a01653932fad7067f 6589Author: Lasse Collin <lasse.collin@tukaani.org> 6590Date: 2022-08-18 17:49:16 +0300 6591 6592 Build: Include the CMake files in the distribution. 6593 6594 This was supposed to be done in 2020 with 5.2.5 release 6595 already but it was noticed only today. 5.2.5 and 5.2.6 6596 even mention experiemental CMake support in the NEWS entries. 6597 6598 Thanks to Olivier B. for reporting the problem. 6599 6600 Makefile.am | 2 ++ 6601 1 file changed, 2 insertions(+) 6602 6603commit e66787bcfefdb93f19c974f895f65969a77937b0 6604Author: Lasse Collin <lasse.collin@tukaani.org> 6605Date: 2022-08-18 17:38:05 +0300 6606 6607 Windows: Fix broken liblzma.dll build with Visual Studio project files. 6608 6609 The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616 6610 "Windows: Fix building of resource files when config.h isn't used." 6611 6612 That commit fixed liblzma.dll build with CMake while keeping it 6613 working with Autotools on Windows but the VS project files were 6614 forgotten. 6615 6616 I haven't tested these changes. 6617 6618 Thanks to Olivier B. for reporting the bug and for the initial patch. 6619 6620 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++ 6621 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++ 6622 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++ 6623 3 files changed, 18 insertions(+) 6624 6625commit c4e8e5fb311225b8b48d34157891a640b2535e0c 6626Author: Lasse Collin <lasse.collin@tukaani.org> 6627Date: 2022-08-18 17:16:49 +0300 6628 6629 liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used. 6630 6631 It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR) 6632 if LZMA_FINISH is used and there isn't enough input to finish 6633 decoding the Block Header or the Block. The use of LZMA_DATA_ERROR 6634 is simpler and the less risky than LZMA_BUF_ERROR but this might 6635 be changed before 5.4.0. 6636 6637 src/liblzma/api/lzma/container.h | 6 +++++ 6638 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++ 6639 2 files changed, 48 insertions(+) 6640 6641commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3 6642Author: Lasse Collin <lasse.collin@tukaani.org> 6643Date: 2022-08-12 18:31:47 +0300 6644 6645 Add NEWS for 5.2.6. 6646 6647 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6648 1 file changed, 121 insertions(+) 6649 6650commit 413b86fcf8934fae5a004f378a9483d37d8fcaab 6651Author: Lasse Collin <lasse.collin@tukaani.org> 6652Date: 2022-08-12 14:28:41 +0300 6653 6654 Add Jia Tan to AUTHORS. 6655 6656 AUTHORS | 2 +- 6657 1 file changed, 1 insertion(+), 1 deletion(-) 6658 6659commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7 6660Author: Lasse Collin <lasse.collin@tukaani.org> 6661Date: 2022-07-25 19:28:26 +0300 6662 6663 Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0. 6664 6665 This makes ChangeLog smaller. 6666 6667 Makefile.am | 2 +- 6668 1 file changed, 1 insertion(+), 1 deletion(-) 6669 6670commit 6f6d11225d6016be2bbb55d845b66f6b04d048df 6671Author: Lasse Collin <lasse.collin@tukaani.org> 6672Date: 2022-07-25 19:11:05 +0300 6673 6674 Translations: Change the copyright comment string to use with po4a. 6675 6676 This affects the second line in po4a/xz-man.pot. The man pages of 6677 xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+ 6678 while the rest of the man pages are in the public domain. 6679 6680 po4a/update-po | 2 +- 6681 1 file changed, 1 insertion(+), 1 deletion(-) 6682 6683commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24 6684Author: Jia Tan <jiat0218@gmail.com> 6685Date: 2022-07-25 18:30:05 +0300 6686 6687 liblzma: Refactor lzma_mf_is_supported() to use a switch-statement. 6688 6689 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------ 6690 1 file changed, 14 insertions(+), 18 deletions(-) 6691 6692commit 4d80b463a1251aa22eabc87d2732fec13b1adda6 6693Author: Jia Tan <jiat0218@gmail.com> 6694Date: 2022-07-25 18:20:01 +0300 6695 6696 Build: Don't allow empty LIST in --enable-match-finders=LIST. 6697 6698 It's enforced only when a match finder is needed, that is, 6699 when LZMA1 or LZMA2 encoder is enabled. 6700 6701 configure.ac | 4 ++++ 6702 1 file changed, 4 insertions(+) 6703 6704commit 9cc721af5436908f2d5a828aebbc4050a32a3487 6705Author: Lasse Collin <lasse.collin@tukaani.org> 6706Date: 2022-07-24 13:27:48 +0300 6707 6708 xz: Update the man page that change to --keep will be in 5.2.6. 6709 6710 src/xz/xz.1 | 4 ++-- 6711 1 file changed, 2 insertions(+), 2 deletions(-) 6712 6713commit b81bf0c7d1873e52a4086a9abb494471d652cb55 6714Author: Lasse Collin <lasse.collin@tukaani.org> 6715Date: 2022-07-19 23:23:54 +0300 6716 6717 Update THANKS. 6718 6719 THANKS | 1 + 6720 1 file changed, 1 insertion(+) 6721 6722commit 340cf1ec3927767046b8293a49da3db4e393f426 6723Author: Nicholas Jackson <nickajacks1@gmail.com> 6724Date: 2022-07-17 17:39:23 -0700 6725 6726 CMake: Add missing source file to liblzma build 6727 6728 CMakeLists.txt | 1 + 6729 1 file changed, 1 insertion(+) 6730 6731commit d796b6d7fdb8b7238b277056cf9146cce25db604 6732Author: Lasse Collin <lasse.collin@tukaani.org> 6733Date: 2022-07-19 23:19:49 +0300 6734 6735 xzgrep man page: Document exit statuses. 6736 6737 src/scripts/xzgrep.1 | 15 ++++++++++++++- 6738 1 file changed, 14 insertions(+), 1 deletion(-) 6739 6740commit 923bf96b55e5216a6c8df9d8331934f54784390e 6741Author: Lasse Collin <lasse.collin@tukaani.org> 6742Date: 2022-07-19 23:13:24 +0300 6743 6744 xzgrep: Improve error handling, especially signals. 6745 6746 xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly 6747 should have. It's quite possible that it's not perfect still 6748 but at least it's much better. 6749 6750 If multiple exit statuses compete, now it tries to pick 6751 the largest of value. 6752 6753 Some comments were added. 6754 6755 The exit status handling of signals is still broken if the shell 6756 uses values larger than 255 in $? to indicate that a process 6757 died due to a signal ***and*** their "exit" command doesn't take 6758 this into account. This seems to work well with the ksh and yash 6759 versions I tried. However, there is a report in gzip/zgrep that 6760 OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating 6761 the argument to 8 bits: 6762 6763 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25 6764 6765 Such a bug would break xzgrep but I didn't add a workaround 6766 at least for now. 5.11 is old and I don't know if the problem 6767 exists in modern descendants, or if the problem exists in other 6768 ksh implementations in use. 6769 6770 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++-------------- 6771 1 file changed, 53 insertions(+), 19 deletions(-) 6772 6773commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff 6774Author: Lasse Collin <lasse.collin@tukaani.org> 6775Date: 2022-07-19 00:10:55 +0300 6776 6777 xzgrep: Make the fix for ZDI-CAN-16587 more robust. 6778 6779 I don't know if this can make a difference in the real world 6780 but it looked kind of suspicious (what happens with sed 6781 implementations that cannot process very long lines?). 6782 At least this commit shouldn't make it worse. 6783 6784 src/scripts/xzgrep.in | 5 ++++- 6785 1 file changed, 4 insertions(+), 1 deletion(-) 6786 6787commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 6788Author: Lasse Collin <lasse.collin@tukaani.org> 6789Date: 2022-07-18 21:52:31 +0300 6790 6791 xzgrep: Use grep -H --label when available (GNU, *BSDs). 6792 6793 It avoids the use of sed for prefixing filenames to output lines. 6794 Using sed for that is slower and prone to security bugs so now 6795 the sed method is only used as a fallback. 6796 6797 This also fixes an actual bug: When grepping a binary file, 6798 GNU grep nowadays prints its diagnostics to stderr instead of 6799 stdout and thus the sed-method for prefixing the filename doesn't 6800 work. So with this commit grepping binary files gives reasonable 6801 output with GNU grep now. 6802 6803 This was inspired by zgrep but the implementation is different. 6804 6805 src/scripts/xzgrep.in | 21 +++++++++++++++++++++ 6806 1 file changed, 21 insertions(+) 6807 6808commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52 6809Author: Lasse Collin <lasse.collin@tukaani.org> 6810Date: 2022-07-18 21:10:25 +0300 6811 6812 xzgrep: Use -e to specify the pattern to grep. 6813 6814 Now we don't need the separate test for adding the -q option 6815 as it can be added directly in the two places where it's needed. 6816 6817 src/scripts/xzgrep.in | 12 ++++-------- 6818 1 file changed, 4 insertions(+), 8 deletions(-) 6819 6820commit bad61b5997e6647911974022bfb72f3d4818a594 6821Author: Lasse Collin <lasse.collin@tukaani.org> 6822Date: 2022-07-18 19:18:48 +0300 6823 6824 Scripts: Use printf instead of echo in a few places. 6825 6826 It's a good habbit as echo has some portability corner cases 6827 when the string contents can be anything. 6828 6829 src/scripts/xzdiff.in | 6 +++--- 6830 src/scripts/xzgrep.in | 4 ++-- 6831 src/scripts/xzless.in | 4 ++-- 6832 src/scripts/xzmore.in | 8 ++++---- 6833 4 files changed, 11 insertions(+), 11 deletions(-) 6834 6835commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645 6836Author: Lasse Collin <lasse.collin@tukaani.org> 6837Date: 2022-07-17 21:36:25 +0300 6838 6839 xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters. 6840 6841 Also replace one use of expr with printf. 6842 6843 The rationale for LC_ALL=C was already mentioned in 6844 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security 6845 issue. However, unrelated uses weren't changed in that commit yet. 6846 6847 POSIX says that with sed and such tools one should use LC_ALL=C 6848 to ensure predictable behavior when strings contain byte sequences 6849 that aren't valid multibyte characters in the current locale. See 6850 under "Application usage" in here: 6851 6852 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html 6853 6854 With GNU sed invalid multibyte strings would work without this; 6855 it's documented in its Texinfo manual. Some other implementations 6856 aren't so forgiving. 6857 6858 src/scripts/xzgrep.in | 14 ++++++++------ 6859 1 file changed, 8 insertions(+), 6 deletions(-) 6860 6861commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68 6862Author: Lasse Collin <lasse.collin@tukaani.org> 6863Date: 2022-07-17 20:55:16 +0300 6864 6865 xzgrep: Fix parsing of certain options. 6866 6867 Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is 6868 an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename 6869 instead of as a pattern. This bug was fixed in zgrep in gzip in 2012. 6870 6871 Add -E, -F, -G, and -P to the "no argument required" list. 6872 6873 Add -X to "argument required" list. It is an 6874 intentionally-undocumented GNU grep option so this isn't 6875 an important option for xzgrep but it seems that other grep 6876 implementations (well, those that I checked) don't support -X 6877 so I hope this change is an improvement still. 6878 6879 grep -d (grep --directories=ACTION) requires an argument. In 6880 contrast to zgrep, I kept -d in the "no argument required" list 6881 because it's not supported in xzgrep (or zgrep). This way 6882 "xzgrep -d" gives an error about option being unsupported instead 6883 of telling that it requires an argument. Both zgrep and xzgrep 6884 tell that it's unsupported if an argument is specified. 6885 6886 Add comments. 6887 6888 src/scripts/xzgrep.in | 19 +++++++++++++++++-- 6889 1 file changed, 17 insertions(+), 2 deletions(-) 6890 6891commit 2d2201bc6315deda4d43625aa510972467bd51d4 6892Author: Lasse Collin <lasse.collin@tukaani.org> 6893Date: 2022-07-14 20:33:05 +0300 6894 6895 Tests: Add the .lzma files to test_files.sh. 6896 6897 tests/test_files.sh | 20 ++++++++++++++++++++ 6898 1 file changed, 20 insertions(+) 6899 6900commit ce5549a591bf126300618879f5b24023351baff6 6901Author: Lasse Collin <lasse.collin@tukaani.org> 6902Date: 2022-07-14 19:37:42 +0300 6903 6904 Tests: Add .lzma test files. 6905 6906 tests/files/README | 63 ++++++++++++++++----- 6907 tests/files/bad-too_big_size-with_eopm.lzma | Bin 0 -> 37 bytes 6908 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes 6909 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes 6910 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes 6911 tests/files/bad-unknown_size-without_eopm.lzma | Bin 0 -> 31 bytes 6912 tests/files/good-known_size-with_eopm.lzma | Bin 0 -> 37 bytes 6913 tests/files/good-known_size-without_eopm.lzma | Bin 0 -> 31 bytes 6914 tests/files/good-unknown_size-with_eopm.lzma | Bin 0 -> 37 bytes 6915 9 files changed, 50 insertions(+), 13 deletions(-) 6916 6917commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3 6918Author: Lasse Collin <lasse.collin@tukaani.org> 6919Date: 2022-07-14 18:12:38 +0300 6920 6921 liblzma: Rename a variable and improve a comment. 6922 6923 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++---- 6924 1 file changed, 9 insertions(+), 4 deletions(-) 6925 6926commit 511feb5eadb988d641b025d597f4fac7502003b8 6927Author: Lasse Collin <lasse.collin@tukaani.org> 6928Date: 2022-07-13 22:24:41 +0300 6929 6930 Update THANKS. 6931 6932 THANKS | 1 + 6933 1 file changed, 1 insertion(+) 6934 6935commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2 6936Author: Lasse Collin <lasse.collin@tukaani.org> 6937Date: 2022-07-13 22:24:07 +0300 6938 6939 liblzma: Add optional autodetection of LZMA end marker. 6940 6941 Turns out that this is needed for .lzma files as the spec in 6942 LZMA SDK says that end marker may be present even if the size 6943 is stored in the header. Such files are rare but exist in the 6944 real world. The code in liblzma is so old that the spec didn't 6945 exist in LZMA SDK back then and I had understood that such 6946 files weren't possible (the lzma tool in LZMA SDK didn't 6947 create such files). 6948 6949 This modifies the internal API so that LZMA decoder can be told 6950 if EOPM is allowed even when the uncompressed size is known. 6951 It's allowed with .lzma and not with other uses. 6952 6953 Thanks to Karl Beldan for reporting the problem. 6954 6955 doc/lzma-file-format.txt | 11 +++- 6956 src/liblzma/common/alone_decoder.c | 2 +- 6957 src/liblzma/common/microlzma_decoder.c | 2 +- 6958 src/liblzma/lz/lz_decoder.c | 10 +++- 6959 src/liblzma/lz/lz_decoder.h | 8 +-- 6960 src/liblzma/lzma/lzma2_decoder.c | 2 +- 6961 src/liblzma/lzma/lzma_decoder.c | 99 ++++++++++++++++++++++++---------- 6962 7 files changed, 95 insertions(+), 39 deletions(-) 6963 6964commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2 6965Author: Lasse Collin <lasse.collin@tukaani.org> 6966Date: 2022-07-12 18:53:04 +0300 6967 6968 xz: Document the special memlimit case of 2000 MiB on MIPS32. 6969 6970 See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7. 6971 6972 src/xz/xz.1 | 8 ++++++-- 6973 1 file changed, 6 insertions(+), 2 deletions(-) 6974 6975commit d1bfa3dc703325ecd974167e864a8712fdfe936e 6976Author: Jia Tan <jiat0218@gmail.com> 6977Date: 2022-07-01 21:19:26 +0800 6978 6979 Created script to generate code coverage reports. 6980 6981 The script uses lcov and genhtml after running the tests 6982 to show the code coverage statistics. The script will create 6983 a coverage directory where it is run. It can be run both in 6984 and out of the source directory. 6985 6986 .gitignore | 4 +++ 6987 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6988 2 files changed, 83 insertions(+) 6989 6990commit 86a30b0255d8064169fabfd213d907016d2f9f2a 6991Author: Jia Tan <jiat0218@gmail.com> 6992Date: 2022-06-16 17:32:19 +0300 6993 6994 Tests: Add more tests into test_check. 6995 6996 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 6997 tests/tests.h | 23 +++++ 6998 2 files changed, 295 insertions(+), 7 deletions(-) 6999 7000commit 82e30fed66a89706388a8c15dc954d84e63f38fa 7001Author: Lasse Collin <lasse.collin@tukaani.org> 7002Date: 2022-06-16 15:02:57 +0300 7003 7004 Tests: Use char[][24] array for enum_strings_lzma_ret. 7005 7006 Array of pointers to short strings is a bit pointless here 7007 and now it's fully const. 7008 7009 tests/tests.h | 2 +- 7010 1 file changed, 1 insertion(+), 1 deletion(-) 7011 7012commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e 7013Author: Lasse Collin <lasse.collin@tukaani.org> 7014Date: 2022-06-16 14:12:14 +0300 7015 7016 Tests: tuktest.h: Add tuktest_error_impl to help with error conditions. 7017 7018 tests/tuktest.h | 72 +++++++++++++++++++++++++-------------------------------- 7019 1 file changed, 32 insertions(+), 40 deletions(-) 7020 7021commit b339892668da20aea22a93668c82b87a38e4a97f 7022Author: Lasse Collin <lasse.collin@tukaani.org> 7023Date: 2022-06-16 13:29:59 +0300 7024 7025 Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there. 7026 7027 tests/test_bcj_exact_size.c | 4 +--- 7028 tests/tuktest.h | 52 +++++++++++++++++++++------------------------ 7029 2 files changed, 25 insertions(+), 31 deletions(-) 7030 7031commit d8b63a0ad68d1c461eb373466679ebc41fbc207d 7032Author: Lasse Collin <lasse.collin@tukaani.org> 7033Date: 2022-06-16 13:08:19 +0300 7034 7035 Tests: tuktest.h: Add malloc wrapper with automatic freeing. 7036 7037 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7038 1 file changed, 124 insertions(+) 7039 7040commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53 7041Author: Lasse Collin <lasse.collin@tukaani.org> 7042Date: 2022-06-16 11:47:37 +0300 7043 7044 Tests: tuktest.h: Move a function. 7045 7046 tests/tuktest.h | 44 ++++++++++++++++++++++---------------------- 7047 1 file changed, 22 insertions(+), 22 deletions(-) 7048 7049commit 70c7555f6403553ee35539e869de0025592d8564 7050Author: Lasse Collin <lasse.collin@tukaani.org> 7051Date: 2022-06-14 22:21:15 +0300 7052 7053 Tests: test_vli: Remove an invalid test-assertion. 7054 7055 lzma_vli is unsigned so trying a signed value results in 7056 a compiler warning from -Wsign-conversion. (lzma_vli)-1 7057 equals to LZMA_VLI_UNKNOWN anyway which is the next assertion. 7058 7059 tests/test_vli.c | 2 -- 7060 1 file changed, 2 deletions(-) 7061 7062commit 154b73c5a1092c3f785e01666b564ad7ff1be555 7063Author: Lasse Collin <lasse.collin@tukaani.org> 7064Date: 2022-06-14 22:10:10 +0300 7065 7066 Tests: test_vli: Add const where appropriate. 7067 7068 tests/test_vli.c | 53 ++++++++++++++++++++++++++++------------------------- 7069 1 file changed, 28 insertions(+), 25 deletions(-) 7070 7071commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb 7072Author: Jia Tan <jiat75@gmail.com> 7073Date: 2022-06-13 20:27:03 +0800 7074 7075 Added vli tests to .gitignore 7076 7077 .gitignore | 1 + 7078 1 file changed, 1 insertion(+) 7079 7080commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e 7081Author: Jia Tan <jiat0218@gmail.com> 7082Date: 2022-06-12 11:31:40 +0800 7083 7084 Created tests for all functions exported in vli.h 7085 7086 Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c 7087 7088 tests/Makefile.am | 4 +- 7089 tests/test_vli.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7090 2 files changed, 311 insertions(+), 1 deletion(-) 7091 7092commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f 7093Author: jiat75 <jiat0218@gmail.com> 7094Date: 2022-06-03 21:24:54 +0800 7095 7096 Added parallel test artifacts to .gitignore 7097 7098 .gitignore | 2 ++ 7099 1 file changed, 2 insertions(+) 7100 7101commit 00e3613f1212eaa84e721585fdb4de6967cf2476 7102Author: Lasse Collin <lasse.collin@tukaani.org> 7103Date: 2022-06-14 21:29:21 +0300 7104 7105 Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size. 7106 7107 It's much nicer this way so that the test data isn't a hardcoded 7108 table inside the C file. 7109 7110 tests/test_bcj_exact_size.c | 19 +++++++------------ 7111 1 file changed, 7 insertions(+), 12 deletions(-) 7112 7113commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0 7114Author: Lasse Collin <lasse.collin@tukaani.org> 7115Date: 2022-06-14 21:26:13 +0300 7116 7117 Tests: Add file reading helpers to tuktest.h. 7118 7119 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 7120 1 file changed, 176 insertions(+), 7 deletions(-) 7121 7122commit 83d2337b72dbf391c6f3b41889eea99e51679105 7123Author: Lasse Collin <lasse.collin@tukaani.org> 7124Date: 2022-06-14 18:21:57 +0300 7125 7126 Tests: tuktest.h: Move a printf from a macro to a helper function. 7127 7128 tests/tuktest.h | 26 ++++++++++++++++++-------- 7129 1 file changed, 18 insertions(+), 8 deletions(-) 7130 7131commit f9e8176ea7d520797a2db2d49a5a632c285674a8 7132Author: Lasse Collin <lasse.collin@tukaani.org> 7133Date: 2022-06-14 17:20:49 +0300 7134 7135 Tests: Add test file good-1-empty-bcj-lzma2.xz. 7136 7137 This is from test_bcj_exact_size.c. 7138 It's good to have it as a standalone file. 7139 7140 tests/files/README | 5 +++++ 7141 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes 7142 2 files changed, 5 insertions(+) 7143 7144commit aa75c5563a760aea3aa23d997d519e702e82726b 7145Author: Jia Tan <jiat0218@gmail.com> 7146Date: 2022-06-10 21:35:18 +0800 7147 7148 Tests: Created tests for hardware functions. 7149 7150 Created tests for all API functions exported in 7151 src/liblzma/api/lzma/hardware.h. The tests are fairly trivial 7152 but are helpful because they will inform users if their machines 7153 cannot support these functions. They also improve the code 7154 coverage metrics. 7155 7156 .gitignore | 1 + 7157 tests/Makefile.am | 2 ++ 7158 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 7159 3 files changed, 48 insertions(+) 7160 7161commit 5c8ffdca20813939818843476fb212dfae8838a3 7162Author: Lasse Collin <lasse.collin@tukaani.org> 7163Date: 2022-06-02 21:01:45 +0300 7164 7165 Tests: Convert test_check to tuktest. 7166 7167 Thanks to Jia Tan for help with all the tests. 7168 7169 tests/test_check.c | 67 +++++++++++++++++++++++++++--------------------------- 7170 1 file changed, 33 insertions(+), 34 deletions(-) 7171 7172commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86 7173Author: Lasse Collin <lasse.collin@tukaani.org> 7174Date: 2022-06-02 20:31:03 +0300 7175 7176 Tests: Convert test_block_header to tuktest. 7177 7178 tests/test_block_header.c | 89 +++++++++++++++++++++++++++-------------------- 7179 1 file changed, 52 insertions(+), 37 deletions(-) 7180 7181commit 754d39fbebee3782258d42f154a223d3c5770ec7 7182Author: Lasse Collin <lasse.collin@tukaani.org> 7183Date: 2022-06-02 20:28:23 +0300 7184 7185 Tests: Convert test_bcj_exact_size to tuktest. 7186 7187 The compress() and decompress() functions were merged because 7188 the later depends on the former so they need to be a single 7189 test case. 7190 7191 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++-------------------- 7192 1 file changed, 41 insertions(+), 34 deletions(-) 7193 7194commit 96da21470f9570cd08286906a050a7c22631775b 7195Author: Lasse Collin <lasse.collin@tukaani.org> 7196Date: 2022-06-02 20:27:00 +0300 7197 7198 Tests: Include tuktest.h in tests.h. 7199 7200 This breaks -Werror because none of the tests so far use 7201 tuktest.h and thus there are warnings about unused variables 7202 and functions. 7203 7204 tests/tests.h | 47 +++++++++++++++++++++++------------------------ 7205 1 file changed, 23 insertions(+), 24 deletions(-) 7206 7207commit df71ba1c991f60c3269aaadd398247e632714626 7208Author: Lasse Collin <lasse.collin@tukaani.org> 7209Date: 2022-06-02 20:25:21 +0300 7210 7211 Tests: Add tuktest.h mini-test-framework. 7212 7213 tests/Makefile.am | 1 + 7214 tests/tuktest.h | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7215 2 files changed, 753 insertions(+) 7216 7217commit 4773608554d1b684a05ff9c1d879cf5c42266d33 7218Author: Lasse Collin <lasse.collin@tukaani.org> 7219Date: 2022-05-23 21:31:36 +0300 7220 7221 Build: Enable Automake's parallel test harness. 7222 7223 It has been the default for quite some time already and 7224 the old serial harness isn't discouraged. The downside is 7225 that with parallel tests one cannot print progress info or 7226 other diagnostics to the terminal; all output from the tests 7227 will be in the log files only. But now that the compression 7228 tests are separated the parallel tests will speed things up. 7229 7230 configure.ac | 2 +- 7231 1 file changed, 1 insertion(+), 1 deletion(-) 7232 7233commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05 7234Author: Lasse Collin <lasse.collin@tukaani.org> 7235Date: 2022-05-23 21:17:47 +0300 7236 7237 Tests: Split test_compress.sh into separate test unit for each file. 7238 7239 test_compress.sh now takes one command line argument: 7240 a filename to be tested. If it begins with "compress_generated_" 7241 the file will be created with create_compress_files. 7242 7243 This will allow parallel execution of the slow tests. 7244 7245 tests/Makefile.am | 11 +++- 7246 tests/test_compress.sh | 91 +++++++++++++++++++--------------- 7247 tests/test_compress_generated_abc | 3 ++ 7248 tests/test_compress_generated_random | 3 ++ 7249 tests/test_compress_generated_text | 3 ++ 7250 tests/test_compress_prepared_bcj_sparc | 3 ++ 7251 tests/test_compress_prepared_bcj_x86 | 3 ++ 7252 7 files changed, 77 insertions(+), 40 deletions(-) 7253 7254commit c7758ac9c734707514dd34f254173ebac5eea7f8 7255Author: Lasse Collin <lasse.collin@tukaani.org> 7256Date: 2022-05-23 20:32:49 +0300 7257 7258 Test: Make create_compress_files.c a little more flexible. 7259 7260 If a command line argument is given, then only the test file 7261 of that type is created. It's quite dumb in sense that unknown 7262 names don't give an error but it's good enough here. 7263 7264 Also use EXIT_FAILURE instead of 1 as exit status for errors. 7265 7266 tests/create_compress_files.c | 25 +++++++++++++++---------- 7267 1 file changed, 15 insertions(+), 10 deletions(-) 7268 7269commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c 7270Author: Lasse Collin <lasse.collin@tukaani.org> 7271Date: 2022-05-23 20:17:42 +0300 7272 7273 Tests: Remove unneeded commented lines from test_compress.sh. 7274 7275 tests/test_compress.sh | 13 ------------- 7276 1 file changed, 13 deletions(-) 7277 7278commit 2ee50d150ee009f36135540b459e6ff328549725 7279Author: Lasse Collin <lasse.collin@tukaani.org> 7280Date: 2022-05-23 20:16:00 +0300 7281 7282 Tests: Remove progress indicator from test_compress.sh. 7283 7284 It will be useless with Automake's parallel tests. 7285 7286 tests/test_compress.sh | 9 --------- 7287 1 file changed, 9 deletions(-) 7288 7289commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0 7290Author: Lasse Collin <lasse.collin@tukaani.org> 7291Date: 2022-05-23 19:37:18 +0300 7292 7293 liblzma: Silence a warning. 7294 7295 The actual initialization is done via mythread_sync and seems 7296 that GCC doesn't necessarily see that it gets initialized there. 7297 7298 src/liblzma/common/stream_decoder_mt.c | 2 +- 7299 1 file changed, 1 insertion(+), 1 deletion(-) 7300 7301commit 5d8f3764ef43c35910e6d7003c0900a961ef6544 7302Author: Lasse Collin <lasse.collin@tukaani.org> 7303Date: 2022-04-14 20:53:16 +0300 7304 7305 xz: Fix build with --disable-threads. 7306 7307 src/xz/hardware.c | 4 ++++ 7308 1 file changed, 4 insertions(+) 7309 7310commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9 7311Author: Lasse Collin <lasse.collin@tukaani.org> 7312Date: 2022-04-14 14:50:17 +0300 7313 7314 xz: Change the cap of the default -T0 memlimit for 32-bit xz. 7315 7316 The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room 7317 and it looks like a round (artificial) number in --info-memory 7318 once --info-memory is made to display it. 7319 7320 Also, using #if avoids useless code on 64-bit builds. 7321 7322 src/xz/hardware.c | 4 +++- 7323 1 file changed, 3 insertions(+), 1 deletion(-) 7324 7325commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c 7326Author: Lasse Collin <lasse.collin@tukaani.org> 7327Date: 2022-04-14 14:20:46 +0300 7328 7329 xz: Add a default soft memory usage limit for --threads=0. 7330 7331 This is a soft limit in sense that it only affects the number of 7332 threads. It never makes xz fail and it never makes xz change 7333 settings that would affect the compressed output. 7334 7335 The idea is to make -T0 have more reasonable behavior when 7336 the system has very many cores or when a memory-hungry 7337 compression options are used. This also helps with 32-bit xz, 7338 preventing it from running out of address space. 7339 7340 The downside of this commit is that now the number of threads 7341 might become too low compared to what the user expected. I 7342 hope this to be an acceptable compromise as the old behavior 7343 has been a source of well-argued complaints for a long time. 7344 7345 src/xz/coder.c | 28 ++++++++++++++++++++++++++-- 7346 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++--------- 7347 src/xz/hardware.h | 27 +++++++++++++++++++++++++++ 7348 3 files changed, 82 insertions(+), 11 deletions(-) 7349 7350commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4 7351Author: Lasse Collin <lasse.collin@tukaani.org> 7352Date: 2022-04-14 12:59:09 +0300 7353 7354 xz: Make -T0 use multithreaded mode on single-core systems. 7355 7356 The main problem withi the old behavior is that the compressed 7357 output is different on single-core systems vs. multicore systems. 7358 This commit fixes it by making -T0 one thread in multithreaded mode 7359 on single-core systems. 7360 7361 The downside of this is that it uses more memory. However, if 7362 --memlimit-compress is used, xz can (thanks to the previous commit) 7363 drop to the single-threaded mode still. 7364 7365 src/xz/coder.c | 18 +++++++++--------- 7366 src/xz/hardware.c | 14 ++++++++++++++ 7367 src/xz/hardware.h | 4 ++++ 7368 3 files changed, 27 insertions(+), 9 deletions(-) 7369 7370commit 898faa97287a756231c663a3ed5165672b417207 7371Author: Lasse Collin <lasse.collin@tukaani.org> 7372Date: 2022-04-14 12:38:00 +0300 7373 7374 xz: Changes to --memlimit-compress and --no-adjust. 7375 7376 In single-threaded mode, --memlimit-compress can make xz scale down 7377 the LZMA2 dictionary size to meet the memory usage limit. This 7378 obviously affects the compressed output. However, if xz was in 7379 threaded mode, --memlimit-compress could make xz reduce the number 7380 of threads but it wouldn't make xz switch from multithreaded mode 7381 to single-threaded mode or scale down the LZMA2 dictionary size. 7382 This seemed illogical and there was even a "FIXME?" about it. 7383 7384 Now --memlimit-compress can make xz switch to single-threaded 7385 mode if one thread in multithreaded mode uses too much memory. 7386 If memory usage is still too high, then the LZMA2 dictionary 7387 size can be scaled down too. 7388 7389 The option --no-adjust was also changed so that it no longer 7390 prevents xz from scaling down the number of threads as that 7391 doesn't affect compressed output (only performance). After 7392 this commit --no-adjust only prevents adjustments that affect 7393 compressed output, that is, with --no-adjust xz won't switch 7394 from multithreaded mode to single-threaded mode and won't 7395 scale down the LZMA2 dictionary size. 7396 7397 The man page wasn't updated yet. 7398 7399 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++------------------- 7400 1 file changed, 43 insertions(+), 20 deletions(-) 7401 7402commit cad299008cf73ec566f0662a9cf2b94f86a99659 7403Author: Lasse Collin <lasse.collin@tukaani.org> 7404Date: 2022-04-11 22:20:49 +0300 7405 7406 xz: Add --memlimit-mt-decompress along with a default limit value. 7407 7408 --memlimit-mt-decompress allows specifying the limit for 7409 multithreaded decompression. This matches memlimit_threading in 7410 liblzma. This limit can only affect the number of threads being 7411 used; it will never prevent xz from decompressing a file. The 7412 old --memlimit-decompress option is still used at the same time. 7413 7414 If the value of --memlimit-decompress (the default value or 7415 one specified by the user) is less than the value of 7416 --memlimit-mt-decompress , then --memlimit-mt-decompress is 7417 reduced to match --memlimit-decompress. 7418 7419 Man page wasn't updated yet. 7420 7421 src/xz/args.c | 24 +++++++++++++++------- 7422 src/xz/coder.c | 34 ++++++++++--------------------- 7423 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 7424 src/xz/hardware.h | 17 ++++++++++------ 7425 src/xz/message.c | 4 +++- 7426 5 files changed, 97 insertions(+), 42 deletions(-) 7427 7428commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a 7429Author: Lasse Collin <lasse.collin@tukaani.org> 7430Date: 2022-04-06 23:11:59 +0300 7431 7432 liblzma: Threaded decoder: Improve setting of pending_error. 7433 7434 It doesn't need to be done conditionally. The comments try 7435 to explain it. 7436 7437 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++----------- 7438 1 file changed, 35 insertions(+), 16 deletions(-) 7439 7440commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2 7441Author: Lasse Collin <lasse.collin@tukaani.org> 7442Date: 2022-04-06 12:39:49 +0300 7443 7444 liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder. 7445 7446 In most cases if the input file is corrupt the application won't 7447 care about the uncompressed content at all. With this new flag 7448 the threaded decoder will return an error as soon as any thread 7449 has detected an error; it won't wait to copy out the data before 7450 the location of the error. 7451 7452 I don't plan to use this in xz to keep the behavior consistent 7453 between single-threaded and multi-threaded modes. 7454 7455 src/liblzma/api/lzma/container.h | 25 ++++++++++++++++- 7456 src/liblzma/common/common.h | 7 +++-- 7457 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++--------------- 7458 3 files changed, 56 insertions(+), 26 deletions(-) 7459 7460commit 64b6d496dc815a176d8307f418f6834a26783484 7461Author: Lasse Collin <lasse.collin@tukaani.org> 7462Date: 2022-04-05 12:24:57 +0300 7463 7464 liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used. 7465 7466 This makes the behavior consistent with the single-threaded 7467 decoder when handling truncated .xz files. 7468 7469 Thanks to Jia Tan for finding this issue. 7470 7471 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++-- 7472 1 file changed, 24 insertions(+), 2 deletions(-) 7473 7474commit e671bc8828b9c0c5406c3a22c541301d0eb54518 7475Author: Lasse Collin <lasse.collin@tukaani.org> 7476Date: 2022-04-02 21:49:59 +0300 7477 7478 liblzma: Threaded decoder: Support zpipe.c-style decoding loop. 7479 7480 This makes it possible to call lzma_code() in a loop that only 7481 reads new input when lzma_code() didn't fill the output buffer 7482 completely. That isn't the calling style suggested by the 7483 liblzma example program 02_decompress.c so perhaps the usefulness 7484 of this feature is limited. 7485 7486 Also, it is possible to write such a loop so that it works 7487 with the single-threaded decoder but not with the threaded 7488 decoder even after this commit, or so that it works only if 7489 lzma_mt.timeout = 0. 7490 7491 The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known 7492 example of a loop where more input is read only when output isn't 7493 full. Porting this as is to liblzma would work with the 7494 single-threaded decoder (if LZMA_CONCATENATED isn't used) but it 7495 wouldn't work with threaded decoder even after this commit because 7496 the loop assumes that no more output is possible when it cannot 7497 read more input ("if (strm.avail_in == 0) break;"). This cannot 7498 be fixed at liblzma side; the loop has to be modified at least 7499 a little. 7500 7501 I'm adding this in any case because the actual code is simple 7502 and short and should have no harmful side-effects in other 7503 situations. 7504 7505 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++----- 7506 1 file changed, 67 insertions(+), 10 deletions(-) 7507 7508commit 2ba8173e27be4793edb46497e499ac2ae753a316 7509Author: Lasse Collin <lasse.collin@tukaani.org> 7510Date: 2022-03-31 00:05:07 +0300 7511 7512 Update THANKS. 7513 7514 THANKS | 1 + 7515 1 file changed, 1 insertion(+) 7516 7517commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 7518Author: Lasse Collin <lasse.collin@tukaani.org> 7519Date: 2022-03-29 19:19:12 +0300 7520 7521 xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587). 7522 7523 Malicious filenames can make xzgrep to write to arbitrary files 7524 or (with a GNU sed extension) lead to arbitrary code execution. 7525 7526 xzgrep from XZ Utils versions up to and including 5.2.5 are 7527 affected. 5.3.1alpha and 5.3.2alpha are affected as well. 7528 This patch works for all of them. 7529 7530 This bug was inherited from gzip's zgrep. gzip 1.12 includes 7531 a fix for zgrep. 7532 7533 The issue with the old sed script is that with multiple newlines, 7534 the N-command will read the second line of input, then the 7535 s-commands will be skipped because it's not the end of the 7536 file yet, then a new sed cycle starts and the pattern space 7537 is printed and emptied. So only the last line or two get escaped. 7538 7539 One way to fix this would be to read all lines into the pattern 7540 space first. However, the included fix is even simpler: All lines 7541 except the last line get a backslash appended at the end. To ensure 7542 that shell command substitution doesn't eat a possible trailing 7543 newline, a colon is appended to the filename before escaping. 7544 The colon is later used to separate the filename from the grep 7545 output so it is fine to add it here instead of a few lines later. 7546 7547 The old code also wasn't POSIX compliant as it used \n in the 7548 replacement section of the s-command. Using \<newline> is the 7549 POSIX compatible method. 7550 7551 LC_ALL=C was added to the two critical sed commands. POSIX sed 7552 manual recommends it when using sed to manipulate pathnames 7553 because in other locales invalid multibyte sequences might 7554 cause issues with some sed implementations. In case of GNU sed, 7555 these particular sed scripts wouldn't have such problems but some 7556 other scripts could have, see: 7557 7558 info '(sed)Locale Considerations' 7559 7560 This vulnerability was discovered by: 7561 cleemy desu wayo working with Trend Micro Zero Day Initiative 7562 7563 Thanks to Jim Meyering and Paul Eggert discussing the different 7564 ways to fix this and for coordinating the patch release schedule 7565 with gzip. 7566 7567 src/scripts/xzgrep.in | 20 ++++++++++++-------- 7568 1 file changed, 12 insertions(+), 8 deletions(-) 7569 7570commit bd93b776c1bd15e90661033c918cdeb354dbcc38 7571Author: Lasse Collin <lasse.collin@tukaani.org> 7572Date: 2022-03-26 01:02:44 +0200 7573 7574 liblzma: Fix a deadlock in threaded decoder. 7575 7576 If a worker thread has consumed all input so far and it's 7577 waiting on thr->cond and then the main thread enables 7578 partial update for that thread, the code used to deadlock. 7579 This commit allows one dummy decoding pass to occur in this 7580 situation which then also does the partial update. 7581 7582 As part of the fix, this moves thr->progress_* updates to 7583 avoid the second thr->mutex locking. 7584 7585 Thanks to Jia Tan for finding, debugging, and reporting the bug. 7586 7587 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++--------- 7588 1 file changed, 52 insertions(+), 19 deletions(-) 7589 7590commit e0394e94230f208682ac1e1f4c41f22f9ad79916 7591Author: Lasse Collin <lasse.collin@tukaani.org> 7592Date: 2022-03-23 16:34:00 +0200 7593 7594 Update THANKS. 7595 7596 THANKS | 1 + 7597 1 file changed, 1 insertion(+) 7598 7599commit 487c77d48760564b1949c5067630b675b87be4de 7600Author: Lasse Collin <lasse.collin@tukaani.org> 7601Date: 2022-03-23 16:28:55 +0200 7602 7603 liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT. 7604 7605 LZMA_TIMED_OUT is not an error and thus stopping threads on 7606 LZMA_TIMED_OUT breaks the decoder badly. 7607 7608 Thanks to Jia Tan for finding the bug and for the patch. 7609 7610 src/liblzma/common/stream_decoder_mt.c | 2 +- 7611 1 file changed, 1 insertion(+), 1 deletion(-) 7612 7613commit 6c6da57ae2aa962aabde6892442227063d87e88c 7614Author: Lasse Collin <lasse.collin@tukaani.org> 7615Date: 2022-03-07 00:36:16 +0200 7616 7617 xz: Add initial support for threaded decompression. 7618 7619 If threading support is enabled at build time, this will 7620 use lzma_stream_decoder_mt() even for single-threaded mode. 7621 With memlimit_threading=0 the behavior should be identical. 7622 7623 This needs some work like adding --memlimit-threading=LIMIT. 7624 7625 The original patch from Sebastian Andrzej Siewior included 7626 a method to get currently available RAM on Linux. It might 7627 be one way to go but as it is Linux-only, the available-RAM 7628 approach needs work for portability or using a fallback method 7629 on other OSes. 7630 7631 The man page wasn't updated yet. 7632 7633 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++- 7634 1 file changed, 35 insertions(+), 1 deletion(-) 7635 7636commit 4cce3e27f529af33e0e7749a8cbcec59954946b5 7637Author: Lasse Collin <lasse.collin@tukaani.org> 7638Date: 2022-03-06 23:36:20 +0200 7639 7640 liblzma: Add threaded .xz decompressor. 7641 7642 I realize that this is about a decade late. 7643 7644 Big thanks to Sebastian Andrzej Siewior for the original patch. 7645 I made a bunch of smaller changes but after a while quite a few 7646 things got rewritten. So any bugs in the commit were created by me. 7647 7648 src/liblzma/api/lzma/container.h | 90 +- 7649 src/liblzma/common/Makefile.inc | 5 + 7650 src/liblzma/common/common.h | 4 + 7651 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++ 7652 src/liblzma/liblzma.map | 1 + 7653 5 files changed, 1907 insertions(+), 7 deletions(-) 7654 7655commit 717631b9788dc9c100ee0c87d3c14a2782638ff4 7656Author: Lasse Collin <lasse.collin@tukaani.org> 7657Date: 2022-03-06 16:54:23 +0200 7658 7659 liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK. 7660 7661 If Check is unsupported, it will be silently ignored. 7662 It's the caller's job to handle it. 7663 7664 src/liblzma/api/lzma/block.h | 3 --- 7665 1 file changed, 3 deletions(-) 7666 7667commit 1a4bb97a00936535e30ac61945aeee38882b5d1a 7668Author: Lasse Collin <lasse.collin@tukaani.org> 7669Date: 2022-03-06 16:41:19 +0200 7670 7671 liblzma: Add new output queue (lzma_outq) features. 7672 7673 Add lzma_outq_clear_cache2() which may leave one buffer allocated 7674 in the cache. 7675 7676 Add lzma_outq_outbuf_memusage() to get the memory needed for 7677 a single lzma_outbuf. This is now used internally in outqueue.c too. 7678 7679 Track both the total amount of memory allocated and the amount of 7680 memory that is in active use (not in cache). 7681 7682 In lzma_outbuf, allow storing the current input position that 7683 matches the current output position. This way the main thread 7684 can notice when no more output is possible without first providing 7685 more input. 7686 7687 Allow specifying return code for lzma_outq_read() in a finished 7688 lzma_outbuf. 7689 7690 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++------- 7691 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++- 7692 2 files changed, 79 insertions(+), 8 deletions(-) 7693 7694commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4 7695Author: Lasse Collin <lasse.collin@tukaani.org> 7696Date: 2022-03-06 15:18:58 +0200 7697 7698 liblzma: Index hash: Change return value type of hash_append() to void. 7699 7700 src/liblzma/common/index_hash.c | 11 +++++------ 7701 1 file changed, 5 insertions(+), 6 deletions(-) 7702 7703commit 20e7a33e2d59c6a814447d3991f21e2702174b20 7704Author: Lasse Collin <lasse.collin@tukaani.org> 7705Date: 2022-02-22 03:42:57 +0200 7706 7707 liblzma: Minor addition to lzma_vli_size() API doc. 7708 7709 Thanks to Jia Tan. 7710 7711 src/liblzma/api/lzma/vli.h | 2 ++ 7712 1 file changed, 2 insertions(+) 7713 7714commit 4f78f5fcf63592f2d77e921cfe0d5de300867374 7715Author: Lasse Collin <lasse.collin@tukaani.org> 7716Date: 2022-02-22 02:04:18 +0200 7717 7718 liblzma: Check the return value of lzma_index_append() in threaded encoder. 7719 7720 If lzma_index_append() failed (most likely memory allocation failure) 7721 it could have gone unnoticed and the resulting .xz file would have 7722 an incorrect Index. Decompressing such a file would produce the 7723 correct uncompressed data but then an error would occur when 7724 verifying the Index field. 7725 7726 src/liblzma/common/stream_encoder_mt.c | 7 +++++-- 7727 1 file changed, 5 insertions(+), 2 deletions(-) 7728 7729commit 5313ad66b40aab822ddca3e9905254cb99a4080d 7730Author: Lasse Collin <lasse.collin@tukaani.org> 7731Date: 2022-02-22 01:37:39 +0200 7732 7733 Update THANKS. 7734 7735 THANKS | 1 + 7736 1 file changed, 1 insertion(+) 7737 7738commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e 7739Author: Ed Maste <emaste@FreeBSD.org> 7740Date: 2022-02-11 15:25:46 +0000 7741 7742 liblzma: Use non-executable stack on FreeBSD as on Linux 7743 7744 src/liblzma/check/crc32_x86.S | 4 ++-- 7745 src/liblzma/check/crc64_x86.S | 4 ++-- 7746 2 files changed, 4 insertions(+), 4 deletions(-) 7747 7748commit 1c9a5786d206b4abc8e427326651c8174baea753 7749Author: Lasse Collin <lasse.collin@tukaani.org> 7750Date: 2022-02-20 20:36:27 +0200 7751 7752 liblzma: Make Block decoder catch certain types of errors better. 7753 7754 Now it limits the input and output buffer sizes that are 7755 passed to a raw decoder. This way there's no need to check 7756 if the sizes can grow too big or overflow when updating 7757 Compressed Size and Uncompressed Size counts. This also means 7758 that a corrupt file cannot cause the raw decoder to process 7759 useless extra input or output that would exceed the size info 7760 in Block Header (and thus cause LZMA_DATA_ERROR anyway). 7761 7762 More importantly, now the size information is verified more 7763 carefully in case raw decoder returns LZMA_OK. This doesn't 7764 really matter with the current single-threaded .xz decoder 7765 as the errors would be detected slightly later anyway. But 7766 this helps avoiding corner cases in the upcoming threaded 7767 decompressor, and it might help other Block decoder uses 7768 outside liblzma too. 7769 7770 The test files bad-1-lzma2-{9,10,11}.xz test these conditions. 7771 With the single-threaded .xz decoder the only difference is 7772 that LZMA_DATA_ERROR is detected in a difference place now. 7773 7774 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------ 7775 1 file changed, 54 insertions(+), 25 deletions(-) 7776 7777commit 555de11873eb00c9b94a8be70645db502e5a9dbd 7778Author: Lasse Collin <lasse.collin@tukaani.org> 7779Date: 2022-02-20 19:38:55 +0200 7780 7781 Tests: Add bad-1-lzma2-11.xz. 7782 7783 tests/files/README | 5 +++++ 7784 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes 7785 2 files changed, 5 insertions(+) 7786 7787commit f0da507f22e7f4e3edb75b45b74d344244ca03fb 7788Author: Lasse Collin <lasse.collin@tukaani.org> 7789Date: 2022-02-18 18:51:10 +0200 7790 7791 Translations: Fix po4a failure with the French man page translations. 7792 7793 Thanks to Mario Blättermann for the patch. 7794 7795 po4a/fr_FR.po | 6 ++++-- 7796 1 file changed, 4 insertions(+), 2 deletions(-) 7797 7798commit f7711d228c3c32395460c82498c60a9f730d0239 7799Author: Lasse Collin <lasse.collin@tukaani.org> 7800Date: 2022-02-07 01:14:37 +0200 7801 7802 Translations: Add French translation of man pages. 7803 7804 This matches xz-utils 5.2.5-2 in Debian. 7805 7806 The translation was done by "bubu", proofread by the debian-l10n-french 7807 mailing list contributors, and submitted to me on the xz-devel mailing 7808 list by Jean-Pierre Giraud. Thanks to everyone! 7809 7810 po4a/fr_FR.po | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7811 po4a/po4a.conf | 2 +- 7812 2 files changed, 3542 insertions(+), 1 deletion(-) 7813 7814commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4 7815Author: jiat75 <jiat0218@gmail.com> 7816Date: 2022-01-28 20:47:55 +0800 7817 7818 liblzma: Add NULL checks to LZMA and LZMA2 properties encoders. 7819 7820 Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode() 7821 assumed that the options pointers must be non-NULL because the 7822 with these filters the API says it must never be NULL. It is 7823 good to do these checks anyway. 7824 7825 src/liblzma/lzma/lzma2_encoder.c | 3 +++ 7826 src/liblzma/lzma/lzma_encoder.c | 3 +++ 7827 2 files changed, 6 insertions(+) 7828 7829commit 2523c30705f49eabd27b854aa656ae87cc224808 7830Author: Lasse Collin <lasse.collin@tukaani.org> 7831Date: 2022-02-06 23:19:32 +0200 7832 7833 liblzma: Fix uint64_t vs. size_t confusion. 7834 7835 This broke 32-bit builds due to a pointer type mismatch. 7836 7837 This bug was introduced with the output-size-limited encoding 7838 in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 7839 7840 Thanks to huangqinjin for the bug report. 7841 7842 src/liblzma/rangecoder/range_encoder.h | 11 +++++++---- 7843 1 file changed, 7 insertions(+), 4 deletions(-) 7844 7845commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2 7846Author: huangqinjin <huangqinjin@gmail.com> 7847Date: 2021-12-13 20:49:21 +0800 7848 7849 CMake: Keep compatible with Windows 95 for 32-bit build. 7850 7851 CMakeLists.txt | 12 +++++++++++- 7852 1 file changed, 11 insertions(+), 1 deletion(-) 7853 7854commit 2024fbf2794885277d05378d40b2b8015a7c3b40 7855Author: Lasse Collin <lasse.collin@tukaani.org> 7856Date: 2021-11-13 21:04:05 +0200 7857 7858 xzgrep: Update man page timestamp. 7859 7860 src/scripts/xzgrep.1 | 2 +- 7861 1 file changed, 1 insertion(+), 1 deletion(-) 7862 7863commit 400e7a239a53282cedaad927a41f3463d7f542e5 7864Author: Lasse Collin <lasse.collin@tukaani.org> 7865Date: 2021-11-13 18:23:24 +0200 7866 7867 Update THANKS. 7868 7869 THANKS | 1 + 7870 1 file changed, 1 insertion(+) 7871 7872commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0 7873Author: Ville Skyttä <ville.skytta@iki.fi> 7874Date: 2021-11-13 10:11:57 +0200 7875 7876 xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep` 7877 7878 `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in 7879 current post 3.7 Git they have been made to emit obsolescence warnings: 7880 https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1 7881 7882 src/scripts/xzgrep.1 | 8 ++++---- 7883 src/scripts/xzgrep.in | 4 ++-- 7884 2 files changed, 6 insertions(+), 6 deletions(-) 7885 7886commit edf525e2b1840dcaf377df472c67d8f11f8ace1b 7887Author: Lasse Collin <lasse.collin@tukaani.org> 7888Date: 2021-10-28 23:02:11 +0300 7889 7890 Bump the version number for 5.3.2alpha. 7891 7892 src/liblzma/api/lzma/version.h | 2 +- 7893 src/liblzma/liblzma.map | 2 +- 7894 2 files changed, 2 insertions(+), 2 deletions(-) 7895 7896commit ea8c948655a86290524efe59cff067e06a886709 7897Author: Lasse Collin <lasse.collin@tukaani.org> 7898Date: 2021-10-28 22:59:52 +0300 7899 7900 Add NEWS for 5.3.2alpha. 7901 7902 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7903 1 file changed, 86 insertions(+) 7904 7905commit 52435f302f4724157ec50b4210cbe42b285c3cbc 7906Author: Lasse Collin <lasse.collin@tukaani.org> 7907Date: 2021-10-27 23:27:48 +0300 7908 7909 Update THANKS. 7910 7911 THANKS | 1 + 7912 1 file changed, 1 insertion(+) 7913 7914commit f2aea1d5a504b2021bf47a238390e4f12bdd518d 7915Author: Lasse Collin <lasse.collin@tukaani.org> 7916Date: 2021-10-27 23:23:11 +0300 7917 7918 xz: Change the coding style of the previous commit. 7919 7920 It isn't any better now but it's consistent with 7921 the rest of the code base. 7922 7923 src/xz/file_io.c | 11 ++++++----- 7924 1 file changed, 6 insertions(+), 5 deletions(-) 7925 7926commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81 7927Author: Alexander Bluhm <alexander.bluhm@gmx.net> 7928Date: 2021-10-05 23:33:16 +0200 7929 7930 xz: Avoid fchown(2) failure. 7931 7932 OpenBSD does not allow to change the group of a file if the user 7933 does not belong to this group. In contrast to Linux, OpenBSD also 7934 fails if the new group is the same as the old one. Do not call 7935 fchown(2) in this case, it would change nothing anyway. 7936 7937 This fixes an issue with Perl Alien::Build module. 7938 https://github.com/PerlAlien/Alien-Build/issues/62 7939 7940 src/xz/file_io.c | 8 +++++++- 7941 1 file changed, 7 insertions(+), 1 deletion(-) 7942 7943commit 2b509c868cae3988bf21cd693fbf9021cdc85628 7944Author: Lasse Collin <lasse.collin@tukaani.org> 7945Date: 2021-09-17 17:31:11 +0300 7946 7947 liblzma: Fix liblzma.map for the lzma_microlzma_* symbols. 7948 7949 This should have been part of d267d109c370a40b502e73f8664b154b15e4f253. 7950 7951 Thanks to Gao Xiang. 7952 7953 src/liblzma/liblzma.map | 4 ++-- 7954 1 file changed, 2 insertions(+), 2 deletions(-) 7955 7956commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6 7957Author: Lasse Collin <lasse.collin@tukaani.org> 7958Date: 2021-09-09 22:21:07 +0300 7959 7960 Update THANKS. 7961 7962 THANKS | 1 + 7963 1 file changed, 1 insertion(+) 7964 7965commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e 7966Author: Lasse Collin <lasse.collin@tukaani.org> 7967Date: 2021-09-09 21:41:51 +0300 7968 7969 liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC. 7970 7971 By default, MSVC always sets __cplusplus to 199711L. The real 7972 C++ standard version is available in _MSVC_LANG (or one could 7973 use /Zc:__cplusplus to set __cplusplus correctly). 7974 7975 Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>. 7976 7977 Thanks to Dan Weiss. 7978 7979 src/liblzma/api/lzma.h | 3 ++- 7980 1 file changed, 2 insertions(+), 1 deletion(-) 7981 7982commit d267d109c370a40b502e73f8664b154b15e4f253 7983Author: Lasse Collin <lasse.collin@tukaani.org> 7984Date: 2021-09-05 20:38:12 +0300 7985 7986 liblzma: Rename EROFS LZMA to MicroLZMA. 7987 7988 It still exists primarily for EROFS but MicroLZMA is 7989 a more generic name (that hopefully doesn't clash with 7990 something that already exists). 7991 7992 src/liblzma/api/lzma/container.h | 33 +++++++++++++--------- 7993 src/liblzma/common/Makefile.inc | 4 +-- 7994 .../{erofs_decoder.c => microlzma_decoder.c} | 32 ++++++++++----------- 7995 .../{erofs_encoder.c => microlzma_encoder.c} | 30 ++++++++++---------- 7996 4 files changed, 52 insertions(+), 47 deletions(-) 7997 7998commit 3247e95115acb95bc27f41e8cf4501db5b0b4309 7999Author: Lasse Collin <lasse.collin@tukaani.org> 8000Date: 2021-06-04 19:02:38 +0300 8001 8002 xzdiff: Update the man page about the exit status. 8003 8004 This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca. 8005 8006 src/scripts/xzdiff.1 | 4 ++-- 8007 1 file changed, 2 insertions(+), 2 deletions(-) 8008 8009commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc 8010Author: Lasse Collin <lasse.collin@tukaani.org> 8011Date: 2021-06-04 18:52:48 +0300 8012 8013 xzless: Fix less(1) version detection when it contains a dot. 8014 8015 Sometimes the version number from "less -V" contains a dot, 8016 sometimes not. xzless failed detect the version number when 8017 it does contain a dot. This fixes it. 8018 8019 Thanks to nick87720z for reporting this. Apparently it had been 8020 reported here <https://bugs.gentoo.org/489362> in 2013. 8021 8022 src/scripts/xzless.in | 2 +- 8023 1 file changed, 1 insertion(+), 1 deletion(-) 8024 8025commit 5fb5212d816addbc523d0798cb482fdd0484f8fa 8026Author: Lasse Collin <lasse.collin@tukaani.org> 8027Date: 2021-04-11 19:58:10 +0300 8028 8029 Update THANKS. 8030 8031 THANKS | 2 ++ 8032 1 file changed, 2 insertions(+) 8033 8034commit fc3d3a7296ef58bb799a73943636b8bfd95339f7 8035Author: Ivan A. Melnikov <iv@altlinux.org> 8036Date: 2021-04-09 11:45:10 +0300 8037 8038 Reduce maximum possible memory limit on MIPS32 8039 8040 Due to architectural limitations, address space available to a single 8041 userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems 8042 that have more physical RAM -- e.g. 64-bit systems with 32-bit 8043 userspace, or systems that use XPA (an extension similar to x86's PAE). 8044 8045 So, for MIPS32, we have to impose stronger memory limits. I've chosen 8046 2000MiB to give the process some headroom. 8047 8048 src/xz/hardware.c | 6 ++++++ 8049 1 file changed, 6 insertions(+) 8050 8051commit e7da44d5151e21f153925781ad29334ae0786101 8052Author: Lasse Collin <lasse.collin@tukaani.org> 8053Date: 2021-02-13 23:31:27 +0200 8054 8055 CMake: Use interface library for better FindLibLZMA compatibility. 8056 8057 https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html 8058 8059 Thanks to Markus Rickert. 8060 8061 CMakeLists.txt | 11 +++++++++-- 8062 1 file changed, 9 insertions(+), 2 deletions(-) 8063 8064commit a61dd82ada39030f41b4ffca9ea551714908bedc 8065Author: Lasse Collin <lasse.collin@tukaani.org> 8066Date: 2021-01-30 18:36:04 +0200 8067 8068 CMake: Try to improve compatibility with the FindLibLZMA module. 8069 8070 The naming conflict with FindLibLZMA module gets worse. 8071 Not avoiding it in the first place was stupid. 8072 8073 Normally find_package(LibLZMA) will use the module and 8074 find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config 8075 file even with a case insensitive file system. However, if 8076 CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system 8077 is case insensitive, find_package(LibLZMA) will find our liblzma 8078 config file instead of using FindLibLZMA module. 8079 8080 One big problem with this is that FindLibLZMA uses 8081 LibLZMA::LibLZMA and we use liblzma::liblzma as the target 8082 name. With target names CMake happens to be case sensitive. 8083 To workaround this, this commit adds 8084 8085 add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma) 8086 8087 to the config file. Then both spellings work. 8088 8089 To make the behavior consistent between case sensitive and 8090 insensitive file systems, the config and related files are 8091 renamed from liblzmaConfig.cmake to liblzma-config.cmake style. 8092 With this style CMake looks for lowercase version of the package 8093 name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work 8094 to find our config file. 8095 8096 There are other differences between our config file and 8097 FindLibLZMA so it's still possible that things break for 8098 reasons other than the spelling of the target name. Hopefully 8099 those situations aren't too common. 8100 8101 When the config file is available, it should always give as good or 8102 better results as FindLibLZMA so this commit doesn't affect the 8103 recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG) 8104 which explicitly avoids FindLibLZMA. 8105 8106 Thanks to Markus Rickert. 8107 8108 CMakeLists.txt | 21 +++++++++++++-------- 8109 1 file changed, 13 insertions(+), 8 deletions(-) 8110 8111commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05 8112Author: Lasse Collin <lasse.collin@tukaani.org> 8113Date: 2021-01-29 21:19:43 +0200 8114 8115 Update THANKS. 8116 8117 THANKS | 1 + 8118 1 file changed, 1 insertion(+) 8119 8120commit 6c6f0db340dcb8bb424411cedba713405d55f6b8 8121Author: Lasse Collin <lasse.collin@tukaani.org> 8122Date: 2021-01-29 21:19:08 +0200 8123 8124 liblzma: Fix unitialized variable. 8125 8126 This was introduced two weeks ago in the commit 8127 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 8128 8129 Thanks to Nathan Moinvaziri. 8130 8131 src/liblzma/lzma/lzma_encoder.c | 1 + 8132 1 file changed, 1 insertion(+) 8133 8134commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c 8135Author: Lasse Collin <lasse.collin@tukaani.org> 8136Date: 2021-01-24 22:32:41 +0200 8137 8138 Tests: Add bad-1-lzma2-10.xz and also modify -9.xz. 8139 8140 tests/files/README | 11 +++++++++-- 8141 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes 8142 tests/files/bad-1-lzma2-9.xz | Bin 72 -> 72 bytes 8143 3 files changed, 9 insertions(+), 2 deletions(-) 8144 8145commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7 8146Author: Lasse Collin <lasse.collin@tukaani.org> 8147Date: 2021-01-24 19:22:35 +0200 8148 8149 liblzma: Fix a wrong comment in stream_encoder_mt.c. 8150 8151 src/liblzma/common/stream_encoder_mt.c | 10 +++++++--- 8152 1 file changed, 7 insertions(+), 3 deletions(-) 8153 8154commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e 8155Author: Lasse Collin <lasse.collin@tukaani.org> 8156Date: 2021-01-24 18:51:51 +0200 8157 8158 Tests: Add bad-1-lzma2-9.xz. 8159 8160 tests/files/README | 4 ++++ 8161 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes 8162 2 files changed, 4 insertions(+) 8163 8164commit fdd30032f8531ac89519b48c21d810ecf06825f6 8165Author: Lasse Collin <lasse.collin@tukaani.org> 8166Date: 2021-01-24 17:02:00 +0200 8167 8168 Tests: Add bad-1-check-crc32-2.xz. 8169 8170 tests/files/README | 7 +++++++ 8171 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes 8172 2 files changed, 7 insertions(+) 8173 8174commit db465419ae26ec7fb9b9472183911ff521620c77 8175Author: Lasse Collin <lasse.collin@tukaani.org> 8176Date: 2021-01-17 19:20:50 +0200 8177 8178 liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end. 8179 8180 When the uncompressed size is known to be exact, after decompressing 8181 the stream exactly comp_size bytes of input must have been consumed. 8182 This is a minor improvement to error detection. 8183 8184 src/liblzma/common/erofs_decoder.c | 7 ++++++- 8185 1 file changed, 6 insertions(+), 1 deletion(-) 8186 8187commit 774cc0118ba2496581cb2621505a04bb6598cc75 8188Author: Lasse Collin <lasse.collin@tukaani.org> 8189Date: 2021-01-17 18:53:34 +0200 8190 8191 liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known. 8192 8193 The caller must still not specify an uncompressed size bigger 8194 than the actual uncompressed size. 8195 8196 As a downside, this now needs the exact compressed size. 8197 8198 src/liblzma/api/lzma/container.h | 23 ++++++++--- 8199 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++---- 8200 2 files changed, 91 insertions(+), 12 deletions(-) 8201 8202commit 421b0aa352da244075db10205cf33712f91b9835 8203Author: Lasse Collin <lasse.collin@tukaani.org> 8204Date: 2021-01-14 20:57:11 +0200 8205 8206 liblzma: Fix missing normalization in rc_encode_dummy(). 8207 8208 Without this fix it could attempt to create too much output. 8209 8210 src/liblzma/rangecoder/range_encoder.h | 7 ++++++- 8211 1 file changed, 6 insertions(+), 1 deletion(-) 8212 8213commit 601ec0311e769fc704daaaa7dac0ca840aff080e 8214Author: Lasse Collin <lasse.collin@tukaani.org> 8215Date: 2021-01-14 20:07:01 +0200 8216 8217 liblzma: Add EROFS LZMA encoder and decoder. 8218 8219 Right now this is just a planned extra-compact format for use 8220 in the EROFS file system in Linux. At this point it's possible 8221 that the format will either change or be abandoned and removed 8222 completely. 8223 8224 The special thing about the encoder is that it uses the 8225 output-size-limited encoding added in the previous commit. 8226 EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed 8227 data so the compressors must be able to create valid streams 8228 that fill the given block size. 8229 8230 src/liblzma/api/lzma/container.h | 76 +++++++++++++++++++ 8231 src/liblzma/common/Makefile.inc | 2 + 8232 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++ 8233 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++ 8234 src/liblzma/liblzma.map | 2 + 8235 5 files changed, 367 insertions(+) 8236 8237commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c 8238Author: Lasse Collin <lasse.collin@tukaani.org> 8239Date: 2021-01-13 19:16:32 +0200 8240 8241 liblzma: Add rough support for output-size-limited encoding in LZMA1. 8242 8243 With this it is possible to encode LZMA1 data without EOPM so that 8244 the encoder will encode as much input as it can without exceeding 8245 the specified output size limit. The resulting LZMA1 stream will 8246 be a normal LZMA1 stream without EOPM. The actual uncompressed size 8247 will be available to the caller via the uncomp_size pointer. 8248 8249 One missing thing is that the LZMA layer doesn't inform the LZ layer 8250 when the encoding is finished and thus the LZ may read more input 8251 when it won't be used. However, this doesn't matter if encoding is 8252 done with a single call (which is the planned use case for now). 8253 For proper multi-call encoding this should be improved. 8254 8255 This commit only adds the functionality for internal use. 8256 Nothing uses it yet. 8257 8258 src/liblzma/common/common.h | 11 +++ 8259 src/liblzma/lz/lz_encoder.c | 16 ++++ 8260 src/liblzma/lz/lz_encoder.h | 4 + 8261 src/liblzma/lzma/lzma_encoder.c | 127 +++++++++++++++++++++++--------- 8262 src/liblzma/lzma/lzma_encoder_private.h | 12 +++ 8263 src/liblzma/rangecoder/range_encoder.h | 111 ++++++++++++++++++++++++++++ 8264 6 files changed, 246 insertions(+), 35 deletions(-) 8265 8266commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a 8267Author: Lasse Collin <lasse.collin@tukaani.org> 8268Date: 2021-01-11 23:57:11 +0200 8269 8270 Scripts: Add zstd support to xzdiff. 8271 8272 src/scripts/xzdiff.1 | 6 ++++-- 8273 src/scripts/xzdiff.in | 16 +++++++++++----- 8274 2 files changed, 15 insertions(+), 7 deletions(-) 8275 8276commit d9ec3add97cf4c999a7f594c6529680227b6c274 8277Author: Lasse Collin <lasse.collin@tukaani.org> 8278Date: 2021-01-11 23:41:30 +0200 8279 8280 Update THANKS. 8281 8282 THANKS | 2 ++ 8283 1 file changed, 2 insertions(+) 8284 8285commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2 8286Author: Lasse Collin <lasse.collin@tukaani.org> 8287Date: 2021-01-11 23:41:16 +0200 8288 8289 xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky. 8290 8291 Previously this required using --force but that has other 8292 effects too which might be undesirable. Changing the behavior 8293 of --keep has a small risk of breaking existing scripts but 8294 since this is a fairly special corner case I expect the 8295 likehood of breakage to be low enough. 8296 8297 I think the new behavior is more logical. The only reason for 8298 the old behavior was to be consistent with gzip and bzip2. 8299 8300 Thanks to Vincent Lefevre and Sebastian Andrzej Siewior. 8301 8302 src/xz/file_io.c | 9 +++++---- 8303 src/xz/xz.1 | 16 +++++++++++++++- 8304 2 files changed, 20 insertions(+), 5 deletions(-) 8305 8306commit 73c555b3077c19dda29b6f4592ced2af876f8333 8307Author: Lasse Collin <lasse.collin@tukaani.org> 8308Date: 2021-01-11 23:28:52 +0200 8309 8310 Scripts: Fix exit status of xzgrep. 8311 8312 Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't 8313 matter. With gzip it's important because -q makes gzip replace SIGPIPE 8314 with exit status 2. With bzip2 it's important because with -q bzip2 8315 is completely silent if input is corrupt while other decompressors 8316 still give an error message. 8317 8318 Avoiding exit status 2 from gzip is important because bzip2 uses 8319 exit status 2 to indicate corrupt input. Before this commit xzgrep 8320 didn't recognize corrupt .bz2 files because xzgrep was treating 8321 exit status 2 as SIGPIPE for gzip compatibility. 8322 8323 zstd still needs -q because otherwise it is noisy in normal 8324 operation. 8325 8326 The code to detect real SIGPIPE didn't check if the exit status 8327 was due to a signal (>= 128) and so could ignore some other exit 8328 status too. 8329 8330 src/scripts/xzgrep.in | 20 +++++++++++++------- 8331 1 file changed, 13 insertions(+), 7 deletions(-) 8332 8333commit 194029ffaf74282a81f0c299c07f73caca3232ca 8334Author: Lasse Collin <lasse.collin@tukaani.org> 8335Date: 2021-01-11 22:01:51 +0200 8336 8337 Scripts: Fix exit status of xzdiff/xzcmp. 8338 8339 This is a minor fix since this affects only the situation when 8340 the files differ and the exit status is something else than 0. 8341 In such case there could be SIGPIPE from a decompression tool 8342 and that would result in exit status of 2 from xzdiff/xzcmp 8343 while the correct behavior would be to return 1 or whatever 8344 else diff or cmp may have returned. 8345 8346 This commit omits the -q option from xz/gzip/bzip2/lzop arguments. 8347 I'm not sure why the -q was used in the first place, perhaps it 8348 hides warnings in some situation that I cannot see at the moment. 8349 Hopefully the removal won't introduce a new bug. 8350 8351 With gzip the -q option was harmful because it made gzip return 2 8352 instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning 8353 from gzip) isn't practical because bzip2 uses exit status 2 to 8354 indicate corrupt input file. It's better if SIGPIPE results in 8355 exit status >= 128. 8356 8357 With bzip2 the removal of -q seems to be good because with -q 8358 it prints nothing if input is corrupt. The other tools aren't 8359 silent in this situation even with -q. On the other hand, if 8360 zstd support is added, it will need -q since otherwise it's 8361 noisy in normal situations. 8362 8363 Thanks to Étienne Mollier and Sebastian Andrzej Siewior. 8364 8365 src/scripts/xzdiff.in | 35 +++++++++++++++++++++-------------- 8366 1 file changed, 21 insertions(+), 14 deletions(-) 8367 8368commit f7fa309e1f7178d04c7bedc03b73077639371e97 8369Author: Lasse Collin <lasse.collin@tukaani.org> 8370Date: 2021-01-09 21:14:36 +0200 8371 8372 liblzma: Make lzma_outq usable for threaded decompression too. 8373 8374 Before this commit all output queue buffers were allocated as 8375 a single big allocation. Now each buffer is allocated separately 8376 when needed. Used buffers are cached to avoid reallocation 8377 overhead but the cache will keep only one buffer size at a time. 8378 This should make things work OK in the decompression where most 8379 of the time the buffer sizes will be the same but with some less 8380 common files the buffer sizes may vary. 8381 8382 While this should work fine, it's still a bit preliminary 8383 and may even get reverted if it turns out to be useless for 8384 decompression. 8385 8386 src/liblzma/common/outqueue.c | 268 +++++++++++++++++++++------------ 8387 src/liblzma/common/outqueue.h | 138 ++++++++++++----- 8388 src/liblzma/common/stream_encoder_mt.c | 52 ++++--- 8389 3 files changed, 301 insertions(+), 157 deletions(-) 8390 8391commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778 8392Author: Lasse Collin <lasse.collin@tukaani.org> 8393Date: 2020-12-23 17:15:49 +0200 8394 8395 Update THANKS. 8396 8397 THANKS | 1 + 8398 1 file changed, 1 insertion(+) 8399 8400commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589 8401Author: H.J. Lu <hjl.tools@gmail.com> 8402Date: 2020-12-23 06:49:04 -0800 8403 8404 liblzma: Enable Intel CET in x86 CRC assembly codes 8405 8406 When Intel CET is enabled, we need to include <cet.h> in assembly codes 8407 to mark Intel CET support and add _CET_ENDBR to indirect jump targets. 8408 8409 Tested on Intel Tiger Lake under CET enabled Linux. 8410 8411 src/liblzma/check/crc32_x86.S | 9 +++++++++ 8412 src/liblzma/check/crc64_x86.S | 9 +++++++++ 8413 2 files changed, 18 insertions(+) 8414 8415commit bb3b8c6a23e25db79f862b1de325c56052e0354b 8416Author: Lasse Collin <lasse.collin@tukaani.org> 8417Date: 2020-12-16 18:33:29 +0200 8418 8419 Update THANKS. 8420 8421 THANKS | 1 + 8422 1 file changed, 1 insertion(+) 8423 8424commit 21588ca34af98738954fc12ded1b89d7294ef646 8425Author: Lasse Collin <lasse.collin@tukaani.org> 8426Date: 2020-12-16 18:30:14 +0200 8427 8428 Build: Don't build bundles on Apple OSes. 8429 8430 Thanks to Daniel Packard. 8431 8432 CMakeLists.txt | 3 +++ 8433 1 file changed, 3 insertions(+) 8434 8435commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28 8436Author: Lasse Collin <lasse.collin@tukaani.org> 8437Date: 2020-12-05 22:44:03 +0200 8438 8439 Update THANKS. 8440 8441 THANKS | 1 + 8442 1 file changed, 1 insertion(+) 8443 8444commit 1890351f3423627ba5c4c495402f32d7e9ed90b7 8445Author: Adam Borowski <kilobyte@angband.pl> 8446Date: 2020-09-25 03:35:18 +0200 8447 8448 Scripts: Add zstd support to xzgrep. 8449 8450 Thanks to Adam Borowski. 8451 8452 src/scripts/xzgrep.1 | 9 ++++++--- 8453 src/scripts/xzgrep.in | 1 + 8454 2 files changed, 7 insertions(+), 3 deletions(-) 8455 8456commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2 8457Author: Lasse Collin <lasse.collin@tukaani.org> 8458Date: 2020-11-17 20:51:48 +0200 8459 8460 CMake: Fix compatibility with CMake 3.13. 8461 8462 The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14. 8463 In some other places the code treats the cache variables 8464 like normal variables already (${FOO} or if(FOO) is used, 8465 not ${CACHE{FOO}). 8466 8467 Thanks to ygrek for reporting the bug on IRC. 8468 8469 CMakeLists.txt | 2 +- 8470 cmake/tuklib_cpucores.cmake | 4 ++-- 8471 cmake/tuklib_physmem.cmake | 4 ++-- 8472 3 files changed, 5 insertions(+), 5 deletions(-) 8473 8474commit 5af726a79273fafa5de5745b117e567f21c90e49 8475Author: Lasse Collin <lasse.collin@tukaani.org> 8476Date: 2020-11-01 22:56:43 +0200 8477 8478 Update THANKS. 8479 8480 THANKS | 4 +++- 8481 1 file changed, 3 insertions(+), 1 deletion(-) 8482 8483commit 4575d9d365c756ec189899f9f743e0b3515ce72d 8484Author: Lasse Collin <lasse.collin@tukaani.org> 8485Date: 2020-11-01 22:34:25 +0200 8486 8487 xz: Avoid unneeded \f escapes on the man page. 8488 8489 I don't want to use \c in macro arguments but groff_man(7) 8490 suggests that \f has better portability. \f would be needed 8491 for the .TP strings for portability reasons anyway. 8492 8493 Thanks to Bjarni Ingi Gislason. 8494 8495 src/xz/xz.1 | 31 ++++++++++++++++++++++--------- 8496 1 file changed, 22 insertions(+), 9 deletions(-) 8497 8498commit 620b32f5339f86710cb4435e01ecdac972ccac73 8499Author: Lasse Collin <lasse.collin@tukaani.org> 8500Date: 2020-11-01 19:09:53 +0200 8501 8502 xz: Use non-breaking spaces when intentionally using more than one space. 8503 8504 This silences some style checker warnings. Seems that spaces 8505 in the beginning of a line don't need this treatment. 8506 8507 Thanks to Bjarni Ingi Gislason. 8508 8509 src/xz/xz.1 | 2 +- 8510 1 file changed, 1 insertion(+), 1 deletion(-) 8511 8512commit cb1f34988c8a4130485091b2f8b641303d8f701b 8513Author: Lasse Collin <lasse.collin@tukaani.org> 8514Date: 2020-11-01 18:49:37 +0200 8515 8516 xz: Protect the ellipsis (...) on the man page with \&. 8517 8518 This does it only when ... appears outside macro calls. 8519 8520 Thanks to Bjarni Ingi Gislason. 8521 8522 src/xz/xz.1 | 4 ++-- 8523 1 file changed, 2 insertions(+), 2 deletions(-) 8524 8525commit 5d224da3da87400f2fab313abbd7c710e7169ef9 8526Author: Lasse Collin <lasse.collin@tukaani.org> 8527Date: 2020-11-01 18:41:21 +0200 8528 8529 xz: Avoid the abbreviation "e.g." on the man page. 8530 8531 A few are simply omitted, most are converted to "for example" 8532 and surrounded with commas. Sounds like that this is better 8533 style, for example, man-pages(7) recommends avoiding such 8534 abbreviations except in parenthesis. 8535 8536 Thanks to Bjarni Ingi Gislason. 8537 8538 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++------------------------------- 8539 1 file changed, 33 insertions(+), 33 deletions(-) 8540 8541commit 90457dbe3e5717660f5b81f8c604860fc5137c0c 8542Author: Lasse Collin <lasse.collin@tukaani.org> 8543Date: 2020-07-12 23:10:03 +0300 8544 8545 xz man page: Change \- (minus) to \(en (en-dash) for a numeric range. 8546 8547 Docs of ancient troff/nroff mention \(em (em-dash) but not \(en 8548 and \- was used for both minus and en-dash. I don't know how 8549 portable \(en is nowadays but it can be changed back if someone 8550 complains. At least GNU groff and OpenBSD's mandoc support it. 8551 8552 Thanks to Bjarni Ingi Gislason for the patch. 8553 8554 src/xz/xz.1 | 16 ++++++++-------- 8555 1 file changed, 8 insertions(+), 8 deletions(-) 8556 8557commit 352ba2d69af2136bc814aa1df1a132559d445616 8558Author: Lasse Collin <lasse.collin@tukaani.org> 8559Date: 2020-07-12 20:46:24 +0300 8560 8561 Windows: Fix building of resource files when config.h isn't used. 8562 8563 Now CMake + Visual Studio works for building liblzma.dll. 8564 8565 Thanks to Markus Rickert. 8566 8567 src/common/common_w32res.rc | 4 +++- 8568 1 file changed, 3 insertions(+), 1 deletion(-) 8569 8570commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480 8571Author: Lasse Collin <lasse.collin@tukaani.org> 8572Date: 2020-04-06 19:31:50 +0300 8573 8574 src/scripts/xzgrep.1: Filenames to xzgrep are optional. 8575 8576 xzgrep --help was correct already. 8577 8578 src/scripts/xzgrep.1 | 2 +- 8579 1 file changed, 1 insertion(+), 1 deletion(-) 8580 8581commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0 8582Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8583Date: 2020-03-26 22:17:31 +0000 8584 8585 src/script/xzgrep.1: Remove superfluous '.RB' 8586 8587 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 8588 8589 [ "test-groff" is a developmental version of "groff" ] 8590 8591 Input file is ./src/scripts/xzgrep.1 8592 8593 <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected 8594 <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected 8595 <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected 8596 <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected 8597 <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected 8598 8599 "abc..." does not mean the same as "abc ...". 8600 8601 The output from nroff and troff is unchanged except for the space 8602 between "file" and "...". 8603 8604 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8605 8606 src/scripts/xzgrep.1 | 12 ++++++------ 8607 1 file changed, 6 insertions(+), 6 deletions(-) 8608 8609commit 133d498db0f4b14f066d192d64dbcade45deae6b 8610Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8611Date: 2020-03-30 21:56:36 +0000 8612 8613 xzgrep.1: Delete superfluous '.PP' 8614 8615 Summary: 8616 8617 mandoc -T lint xzgrep.1 : 8618 mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty 8619 8620 There is no change in the output of "nroff" and "troff". 8621 8622 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8623 8624 src/scripts/xzgrep.1 | 1 - 8625 1 file changed, 1 deletion(-) 8626 8627commit 057839ca982f886387b66746bffe749cb14fd8cd 8628Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8629Date: 2020-03-26 21:16:18 +0000 8630 8631 src/xz/xz.1: Correct misused two-fonts macros 8632 8633 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 8634 8635 [ "test-groff" is a developmental version of "groff" ] 8636 8637 Input file is ./src/xz/xz.1 8638 8639 <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected 8640 <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected 8641 <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected 8642 <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected 8643 <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected 8644 8645 Output from nroff and troff is unchanged, except for a font change of a 8646 full stop (.). 8647 8648 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 8649 8650 src/xz/xz.1 | 10 +++++----- 8651 1 file changed, 5 insertions(+), 5 deletions(-) 8652 8653commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd 8654Author: Lasse Collin <lasse.collin@tukaani.org> 8655Date: 2020-03-23 18:07:50 +0200 8656 8657 Typo fixes from fossies.org. 8658 8659 https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html 8660 8661 Makefile.am | 2 +- 8662 doc/examples/01_compress_easy.c | 2 +- 8663 src/liblzma/api/lzma/base.h | 2 +- 8664 src/liblzma/check/crc32_x86.S | 2 +- 8665 src/liblzma/common/index.c | 2 +- 8666 src/xz/xz.1 | 4 ++-- 8667 6 files changed, 7 insertions(+), 7 deletions(-) 8668 8669commit 869b9d1b4edd6df07f819d360d306251f8147353 8670Author: Lasse Collin <lasse.collin@tukaani.org> 8671Date: 2020-03-17 16:24:28 +0200 8672 8673 Update NEWS for 5.2.5. 8674 8675 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8676 1 file changed, 105 insertions(+) 8677 8678commit a048e3a92d238c65f050a765174d9c75417231d4 8679Author: Lasse Collin <lasse.collin@tukaani.org> 8680Date: 2020-03-16 20:01:37 +0200 8681 8682 README: Update outdated sections. 8683 8684 README | 21 +++++++++++---------- 8685 1 file changed, 11 insertions(+), 10 deletions(-) 8686 8687commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716 8688Author: Lasse Collin <lasse.collin@tukaani.org> 8689Date: 2020-03-16 19:39:45 +0200 8690 8691 README: Mention that man pages can be translated. 8692 8693 README | 7 ++++--- 8694 1 file changed, 4 insertions(+), 3 deletions(-) 8695 8696commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1 8697Author: Lasse Collin <lasse.collin@tukaani.org> 8698Date: 2020-03-16 16:43:29 +0200 8699 8700 Update INSTALL.generic from Automake 1.16.1. 8701 8702 INSTALL.generic | 321 ++++++++++++++++++++++++++++---------------------------- 8703 1 file changed, 162 insertions(+), 159 deletions(-) 8704 8705commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0 8706Author: Lasse Collin <lasse.collin@tukaani.org> 8707Date: 2020-03-15 15:27:22 +0200 8708 8709 Update INSTALL for Windows and DOS and add preliminary info for z/OS. 8710 8711 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++---------- 8712 1 file changed, 41 insertions(+), 10 deletions(-) 8713 8714commit a3148c0446dc7fa96363752df414d22539c9007b 8715Author: Lasse Collin <lasse.collin@tukaani.org> 8716Date: 2020-03-15 15:26:20 +0200 8717 8718 Build: Update m4/ax_pthread.m4 from Autoconf Archive (again). 8719 8720 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++-------------------------- 8721 1 file changed, 117 insertions(+), 102 deletions(-) 8722 8723commit 7812002dd3ed319e42a14662a8531802cca8ca67 8724Author: Lasse Collin <lasse.collin@tukaani.org> 8725Date: 2020-03-11 21:15:35 +0200 8726 8727 xz: Never use thousand separators in DJGPP builds. 8728 8729 DJGPP 2.05 added support for thousands separators but it's 8730 broken at least under WinXP with Finnish locale that uses 8731 a non-breaking space as the thousands separator. Workaround 8732 by disabling thousands separators for DJGPP builds. 8733 8734 src/xz/util.c | 14 ++++++++++++-- 8735 1 file changed, 12 insertions(+), 2 deletions(-) 8736 8737commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f 8738Author: Lasse Collin <lasse.collin@tukaani.org> 8739Date: 2020-03-11 19:38:08 +0200 8740 8741 DOS: Update dos/Makefile for DJGPP 2.05. 8742 8743 It doesn't need -fgnu89-inline like 2.04beta did. 8744 8745 dos/Makefile | 4 +--- 8746 1 file changed, 1 insertion(+), 3 deletions(-) 8747 8748commit 319ca928d73de87940c54e30bffe69f9fa65efdf 8749Author: Lasse Collin <lasse.collin@tukaani.org> 8750Date: 2020-03-11 19:36:07 +0200 8751 8752 DOS: Update instructions in dos/INSTALL.txt. 8753 8754 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++----------------------------- 8755 1 file changed, 29 insertions(+), 30 deletions(-) 8756 8757commit cb6b227ce39932824812ccd8a0647bd968de27d2 8758Author: Lasse Collin <lasse.collin@tukaani.org> 8759Date: 2020-03-11 17:58:51 +0200 8760 8761 DOS: Update config.h. 8762 8763 The added defines assume GCC >= 4.8. 8764 8765 dos/config.h | 8 ++++++++ 8766 1 file changed, 8 insertions(+) 8767 8768commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd 8769Author: Lasse Collin <lasse.collin@tukaani.org> 8770Date: 2020-03-02 13:54:33 +0200 8771 8772 liblzma: Fix a comment and RC_SYMBOLS_MAX. 8773 8774 The comment didn't match the value of RC_SYMBOLS_MAX and the value 8775 itself was slightly larger than actually needed. The only harm 8776 about this was that memory usage was a few bytes larger. 8777 8778 src/liblzma/rangecoder/range_encoder.h | 4 ++-- 8779 1 file changed, 2 insertions(+), 2 deletions(-) 8780 8781commit 265daa873c0d871f5f23f9b56e133a6f20045a0a 8782Author: Lasse Collin <lasse.collin@tukaani.org> 8783Date: 2020-02-27 20:58:52 +0200 8784 8785 Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails. 8786 8787 CMakeLists.txt | 18 ++++++++++++++++++ 8788 1 file changed, 18 insertions(+) 8789 8790commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9 8791Author: Lasse Collin <lasse.collin@tukaani.org> 8792Date: 2020-02-27 20:24:27 +0200 8793 8794 Build: Add support for --no-po4a option to autogen.sh. 8795 8796 Normally, if po4a isn't available, autogen.sh will return 8797 with non-zero exit status. The option --no-po4a can be useful 8798 when one knows that po4a isn't available but wants autogen.sh 8799 to still return with zero exit status. 8800 8801 autogen.sh | 11 ++++++++++- 8802 1 file changed, 10 insertions(+), 1 deletion(-) 8803 8804commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f 8805Author: Lasse Collin <lasse.collin@tukaani.org> 8806Date: 2020-02-25 21:35:14 +0200 8807 8808 Update THANKS. 8809 8810 THANKS | 1 + 8811 1 file changed, 1 insertion(+) 8812 8813commit 474320e9908786ba2021035f9013191e16cde08a 8814Author: Lasse Collin <lasse.collin@tukaani.org> 8815Date: 2020-02-25 20:42:31 +0200 8816 8817 Build: Fix bugs in the CMake files. 8818 8819 Seems that the phrase "add more quotes" from sh/bash scripting 8820 applies to CMake as well. E.g. passing an unquoted list ${FOO} 8821 to a function that expects one argument results in only the 8822 first element of the list being passed as an argument and 8823 the rest get ignored. Adding quotes helps ("${FOO}"). 8824 8825 list(INSERT ...) is weird. Inserting an empty string to an empty 8826 variable results in empty list, but inserting it to a non-empty 8827 variable does insert an empty element to the list. 8828 8829 Since INSERT requires at least one element, 8830 "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt. 8831 It might result in an empty element in the list. It seems to not 8832 matter as empty elements consistently get ignored in that variable. 8833 In fact, calling cmake_check_push_state() and cmake_check_pop_state() 8834 will strip the empty elements from CMAKE_REQUIRED_LIBRARIES! 8835 8836 In addition to quoting fixes, this fixes checks for the cache 8837 variables in tuklib_cpucores.cmake and tuklib_physmem.cmake. 8838 8839 Thanks to Martin Matuška for testing and reporting the problems. 8840 These fixes aren't tested yet but hopefully they soon will be. 8841 8842 CMakeLists.txt | 52 ++++++++++++++++++++++----------------------- 8843 cmake/tuklib_common.cmake | 8 ++++--- 8844 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------ 8845 cmake/tuklib_integer.cmake | 34 +++++++++++++++-------------- 8846 cmake/tuklib_mbstr.cmake | 6 +++--- 8847 cmake/tuklib_physmem.cmake | 29 +++++++++++++------------ 8848 cmake/tuklib_progname.cmake | 4 ++-- 8849 7 files changed, 85 insertions(+), 78 deletions(-) 8850 8851commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6 8852Author: Lasse Collin <lasse.collin@tukaani.org> 8853Date: 2020-02-24 23:38:16 +0200 8854 8855 Build: Add very limited experimental CMake support. 8856 8857 This does *NOT* replace the Autotools-based build system in 8858 the foreseeable future. See the comment in the beginning 8859 of CMakeLists.txt. 8860 8861 So far this has been tested only on GNU/Linux but I commit 8862 it anyway to make it easier for others to test. Since I 8863 haven't played much with CMake before, it's likely that 8864 there are things that have been done in a silly or wrong 8865 way and need to be fixed. 8866 8867 CMakeLists.txt | 643 ++++++++++++++++++++++++++++++++++++++++++++ 8868 cmake/tuklib_common.cmake | 47 ++++ 8869 cmake/tuklib_cpucores.cmake | 173 ++++++++++++ 8870 cmake/tuklib_integer.cmake | 100 +++++++ 8871 cmake/tuklib_mbstr.cmake | 20 ++ 8872 cmake/tuklib_physmem.cmake | 149 ++++++++++ 8873 cmake/tuklib_progname.cmake | 19 ++ 8874 7 files changed, 1151 insertions(+) 8875 8876commit 21bd4701fca3e9002ce78bc135debca369ed8545 8877Author: Lasse Collin <lasse.collin@tukaani.org> 8878Date: 2020-02-24 23:37:07 +0200 8879 8880 Update m4/.gitignore. 8881 8882 m4/.gitignore | 1 + 8883 1 file changed, 1 insertion(+) 8884 8885commit e094d1d0f196a91ec703e8d0055948feef349ae8 8886Author: Lasse Collin <lasse.collin@tukaani.org> 8887Date: 2020-02-24 23:29:35 +0200 8888 8889 tuklib: Omit an unneeded <sys/types.h> from a tests. 8890 8891 tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h> 8892 even via other files in this package, so clearly that header isn't 8893 needed in the tests either (no one has reported build problems due 8894 to a missing header in a .c file). 8895 8896 m4/tuklib_cpucores.m4 | 1 - 8897 m4/tuklib_physmem.m4 | 1 - 8898 2 files changed, 2 deletions(-) 8899 8900commit b3ed19a55fe99a45bd77614e149d39d18498075c 8901Author: Lasse Collin <lasse.collin@tukaani.org> 8902Date: 2020-02-24 23:01:00 +0200 8903 8904 liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c. 8905 8906 This file only generates fastpos_table.c. 8907 It isn't built as a part of liblzma. 8908 8909 src/liblzma/lzma/fastpos_tablegen.c | 1 - 8910 1 file changed, 1 deletion(-) 8911 8912commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59 8913Author: Lasse Collin <lasse.collin@tukaani.org> 8914Date: 2020-02-22 14:15:07 +0200 8915 8916 Use defined(__GNUC__) before __GNUC__ in preprocessor lines. 8917 8918 This should silence the equivalent of -Wundef in compilers that 8919 don't define __GNUC__. 8920 8921 src/common/sysdefs.h | 3 ++- 8922 src/liblzma/api/lzma.h | 5 +++-- 8923 2 files changed, 5 insertions(+), 3 deletions(-) 8924 8925commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1 8926Author: Lasse Collin <lasse.collin@tukaani.org> 8927Date: 2020-02-21 17:40:02 +0200 8928 8929 liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA. 8930 8931 This gives a tiny encoder speed improvement. This could have been done 8932 in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but 8933 it was forgotten. 8934 8935 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------ 8936 1 file changed, 10 insertions(+), 6 deletions(-) 8937 8938commit 59e6eb4840b9f52fa3a61544974017279b448216 8939Author: Lasse Collin <lasse.collin@tukaani.org> 8940Date: 2020-02-21 17:01:15 +0200 8941 8942 Build: Add visibility.m4 from gnulib. 8943 8944 Appears that this file used to get included as a side effect of 8945 gettext. After the change to gettext version requirements this file 8946 no longer got copied to the package and so the build was broken. 8947 8948 m4/.gitignore | 1 - 8949 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8950 2 files changed, 77 insertions(+), 1 deletion(-) 8951 8952commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a 8953Author: Lasse Collin <lasse.collin@tukaani.org> 8954Date: 2020-02-21 16:10:44 +0200 8955 8956 xz: Silence a warning when sig_atomic_t is long int. 8957 8958 It can be true at least on z/OS. 8959 8960 src/xz/signals.c | 2 +- 8961 1 file changed, 1 insertion(+), 1 deletion(-) 8962 8963commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8 8964Author: Lasse Collin <lasse.collin@tukaani.org> 8965Date: 2020-02-21 15:59:26 +0200 8966 8967 xz: Avoid unneeded access of a volatile variable. 8968 8969 src/xz/signals.c | 2 +- 8970 1 file changed, 1 insertion(+), 1 deletion(-) 8971 8972commit 524c2f12c762032b819757aeda8af7c47c4cabce 8973Author: Lasse Collin <lasse.collin@tukaani.org> 8974Date: 2020-02-21 01:24:18 +0200 8975 8976 tuklib_integer.m4: Optimize the check order. 8977 8978 The __builtin byteswapping is the preferred one so check for it first. 8979 8980 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++------------------------- 8981 1 file changed, 29 insertions(+), 27 deletions(-) 8982 8983commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb 8984Author: Lasse Collin <lasse.collin@tukaani.org> 8985Date: 2020-02-20 18:54:04 +0200 8986 8987 tuklib_exit: Add missing header. 8988 8989 strerror() needs <string.h> which happened to be included via 8990 tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H 8991 was defined. This wasn't tested without config.h before so it 8992 had worked fine. 8993 8994 src/common/tuklib_exit.c | 1 + 8995 1 file changed, 1 insertion(+) 8996 8997commit fddd31175e74a538997a939d930462fde17d2dd4 8998Author: Lasse Collin <lasse.collin@tukaani.org> 8999Date: 2020-02-18 19:12:35 +0200 9000 9001 Revert the previous commit and add a comment. 9002 9003 The previous commit broke crc32_tablegen.c. 9004 9005 If the whole package is built without config.h (with defines 9006 set on the compiler command line) this should still work fine 9007 as long as these headers conform to C99 well enough. 9008 9009 src/common/tuklib_config.h | 17 ++++++++++------- 9010 1 file changed, 10 insertions(+), 7 deletions(-) 9011 9012commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e 9013Author: Lasse Collin <lasse.collin@tukaani.org> 9014Date: 2020-02-17 23:37:20 +0200 9015 9016 Do not check for HAVE_CONFIG_H in tuklib_config.h. 9017 9018 In XZ Utils sysdefs.h takes care of it and the required headers. 9019 9020 src/common/tuklib_config.h | 15 +++++++-------- 9021 1 file changed, 7 insertions(+), 8 deletions(-) 9022 9023commit 2d4cef954feba82073951358466a1d614141cf33 9024Author: Lasse Collin <lasse.collin@tukaani.org> 9025Date: 2020-02-16 11:18:28 +0200 9026 9027 sysdefs.h: Omit the conditionals around string.h and limits.h. 9028 9029 string.h is used unconditionally elsewhere in the project and 9030 configure has always stopped if limits.h is missing, so these 9031 headers must have been always available even on the weirdest 9032 systems. 9033 9034 src/common/sysdefs.h | 8 ++------ 9035 1 file changed, 2 insertions(+), 6 deletions(-) 9036 9037commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939 9038Author: Lasse Collin <lasse.collin@tukaani.org> 9039Date: 2020-02-15 15:07:11 +0200 9040 9041 Build: Bump Autoconf and Libtool version requirements. 9042 9043 There is no specific reason for this other than blocking 9044 the most ancient versions. These are still old: 9045 9046 Autoconf 2.69 (2012) 9047 Automake 1.12 (2012) 9048 gettext 0.19.6 (2015) 9049 Libtool 2.4 (2010) 9050 9051 configure.ac | 4 ++-- 9052 1 file changed, 2 insertions(+), 2 deletions(-) 9053 9054commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb 9055Author: Lasse Collin <lasse.collin@tukaani.org> 9056Date: 2020-02-15 03:08:32 +0200 9057 9058 Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6. 9059 9060 This bumps the version requirement from 0.19 (from 2014) to 9061 0.19.6 (2015). 9062 9063 Using only the old AM_GNU_GETTEXT_VERSION results in old 9064 gettext infrastructure being placed in the package. By using 9065 both macros we get the latest gettext files while the other 9066 programs in the Autotools family can still see the old macro. 9067 9068 configure.ac | 6 +++++- 9069 1 file changed, 5 insertions(+), 1 deletion(-) 9070 9071commit fa792b8befaf7cb3960b655e0a9410da866d756f 9072Author: Lasse Collin <lasse.collin@tukaani.org> 9073Date: 2020-02-14 20:42:06 +0200 9074 9075 Translations: Add German translation of the man pages. 9076 9077 Thanks to Mario Blättermann. 9078 9079 po4a/de.po | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9080 po4a/po4a.conf | 2 +- 9081 2 files changed, 5533 insertions(+), 1 deletion(-) 9082 9083commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b 9084Author: Lasse Collin <lasse.collin@tukaani.org> 9085Date: 2020-02-07 15:32:21 +0200 9086 9087 Build: Add support for translated man pages using po4a. 9088 9089 The dependency on po4a is optional. It's never required to install 9090 the translated man pages when xz is built from a release tarball. 9091 If po4a is missing when building from xz.git, the translated man 9092 pages won't be generated but otherwise the build will work normally. 9093 9094 The translations are only updated automatically by autogen.sh and 9095 by "make mydist". This makes it easy to keep po4a as an optional 9096 dependency and ensures that I won't forget to put updated 9097 translations to a release tarball. 9098 9099 The translated man pages aren't installed if --disable-nls is used. 9100 9101 The installation of translated man pages abuses Automake internals 9102 by calling "install-man" with redefined dist_man_MANS and man_MANS. 9103 This makes the hairy script code slightly less hairy. If it breaks 9104 some day, this code needs to be fixed; don't blame Automake developers. 9105 9106 Also, this adds more quotes to the existing shell script code in 9107 the Makefile.am "-hook"s. 9108 9109 Makefile.am | 4 ++++ 9110 autogen.sh | 8 ++++--- 9111 po4a/.gitignore | 2 ++ 9112 po4a/po4a.conf | 14 +++++++++++ 9113 po4a/update-po | 45 ++++++++++++++++++++++++++++++++++ 9114 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------ 9115 src/xz/Makefile.am | 50 +++++++++++++++++++++++++++----------- 9116 src/xzdec/Makefile.am | 55 ++++++++++++++++++++++++++++++++---------- 9117 8 files changed, 197 insertions(+), 45 deletions(-) 9118 9119commit 426f9e5819ff7710a5ff573a96c02940be65d52f 9120Author: Lasse Collin <lasse.collin@tukaani.org> 9121Date: 2020-02-06 17:31:38 +0200 9122 9123 Update THANKS. 9124 9125 THANKS | 1 + 9126 1 file changed, 1 insertion(+) 9127 9128commit e3a4481d020e4de89efa037f335cf50f3ca55592 9129Author: Lasse Collin <lasse.collin@tukaani.org> 9130Date: 2020-02-05 22:35:06 +0200 9131 9132 Update tests/.gitignore. 9133 9134 .gitignore | 4 ++++ 9135 1 file changed, 4 insertions(+) 9136 9137commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef 9138Author: Lasse Collin <lasse.collin@tukaani.org> 9139Date: 2020-02-05 22:28:51 +0200 9140 9141 Update m4/.gitignore. 9142 9143 m4/.gitignore | 1 + 9144 1 file changed, 1 insertion(+) 9145 9146commit c91fbf223db46c3b3cb9df769863a1a60cd9c908 9147Author: Lasse Collin <lasse.collin@tukaani.org> 9148Date: 2020-02-05 20:47:38 +0200 9149 9150 Update THANKS. 9151 9152 THANKS | 1 + 9153 1 file changed, 1 insertion(+) 9154 9155commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f 9156Author: Lasse Collin <lasse.collin@tukaani.org> 9157Date: 2020-02-05 20:40:14 +0200 9158 9159 xz: Make it a fatal error if enabling the sandbox fails. 9160 9161 Perhaps it's too drastic but on the other hand it will let me 9162 learn about possible problems if people report the errors. 9163 This won't be backported to the v5.2 branch. 9164 9165 src/xz/file_io.c | 2 +- 9166 1 file changed, 1 insertion(+), 1 deletion(-) 9167 9168commit af0fb386ef55db66654ae39e2deec6e04190c4ff 9169Author: Lasse Collin <lasse.collin@tukaani.org> 9170Date: 2020-02-05 20:33:50 +0200 9171 9172 xz: Comment out annoying sandboxing messages. 9173 9174 src/xz/file_io.c | 10 +++++++--- 9175 1 file changed, 7 insertions(+), 3 deletions(-) 9176 9177commit 986d8c9b52b824474088e5bb3b6940651660f0e2 9178Author: Lasse Collin <lasse.collin@tukaani.org> 9179Date: 2020-02-05 19:33:37 +0200 9180 9181 Build: Workaround a POSIX shell detection problem on Solaris. 9182 9183 I don't know if the problem is in gnulib's gl_POSIX_SHELL macro 9184 or if xzgrep does something that isn't in POSIX. The workaround 9185 adds a special case for Solaris: if /usr/xpg4/bin/sh exists and 9186 gl_cv_posix_shell wasn't overriden on the configure command line, 9187 use that shell for xzgrep and other scripts. That shell is known 9188 to work and exists on most Solaris systems. 9189 9190 configure.ac | 10 ++++++++++ 9191 1 file changed, 10 insertions(+) 9192 9193commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad 9194Author: Lasse Collin <lasse.collin@tukaani.org> 9195Date: 2020-02-03 22:03:50 +0200 9196 9197 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 9198 9199 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++----------------- 9200 1 file changed, 279 insertions(+), 119 deletions(-) 9201 9202commit 353970510895f6a80adfe60cf71b70a95adfa8bc 9203Author: Lasse Collin <lasse.collin@tukaani.org> 9204Date: 2020-02-01 19:56:18 +0200 9205 9206 xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz. 9207 9208 See the code comment for reasoning. It's far from perfect but 9209 hopefully good enough for certain cases while hopefully doing 9210 nothing bad in other situations. 9211 9212 At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference 9213 on how xz scales down the number of threads. 9214 9215 The limit has to be a few MiB below 4096 MiB because otherwise 9216 things like "xz --lzma2=dict=500MiB" won't scale down the dict 9217 size enough and xz cannot allocate enough memory. With 9218 "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had 9219 to be no more than 4085 MiB. Some safety margin is good though. 9220 9221 This is hack but it should be useful when running 32-bit xz on 9222 a 64-bit kernel that gives full 4 GiB address space to xz. 9223 Hopefully this is enough to solve this: 9224 9225 https://bugzilla.redhat.com/show_bug.cgi?id=1196786 9226 9227 FreeBSD has a patch that limits the result in tuklib_physmem() 9228 to SIZE_MAX on 32-bit systems. While I think it's not the way 9229 to do it, the results on --memlimit-compress have been good. This 9230 commit should achieve practically identical results for compression 9231 while leaving decompression and tuklib_physmem() and thus 9232 lzma_physmem() unaffected. 9233 9234 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++- 9235 src/xz/xz.1 | 21 ++++++++++++++++++++- 9236 2 files changed, 51 insertions(+), 2 deletions(-) 9237 9238commit ba76d67585f88677af9f48b48e7bdc3bb7687def 9239Author: Lasse Collin <lasse.collin@tukaani.org> 9240Date: 2020-01-26 20:53:25 +0200 9241 9242 xz: Set the --flush-timeout deadline when the first input byte arrives. 9243 9244 xz --flush-timeout=2000, old version: 9245 9246 1. xz is started. The next flush will happen after two seconds. 9247 2. No input for one second. 9248 3. A burst of a few kilobytes of input. 9249 4. No input for one second. 9250 5. Two seconds have passed and flushing starts. 9251 9252 The first second counted towards the flush-timeout even though 9253 there was no pending data. This can cause flushing to occur more 9254 often than needed. 9255 9256 xz --flush-timeout=2000, after this commit: 9257 9258 1. xz is started. 9259 2. No input for one second. 9260 3. A burst of a few kilobytes of input. The next flush will 9261 happen after two seconds counted from the time when the 9262 first bytes of the burst were read. 9263 4. No input for one second. 9264 5. No input for another second. 9265 6. Two seconds have passed and flushing starts. 9266 9267 src/xz/coder.c | 6 +----- 9268 src/xz/file_io.c | 6 +++++- 9269 src/xz/mytime.c | 1 - 9270 3 files changed, 6 insertions(+), 7 deletions(-) 9271 9272commit fd47fd62bbb1bfd13ab63869137971d8b390025f 9273Author: Lasse Collin <lasse.collin@tukaani.org> 9274Date: 2020-01-26 20:19:19 +0200 9275 9276 xz: Move flush_needed from mytime.h to file_pair struct in file_io.h. 9277 9278 src/xz/coder.c | 3 ++- 9279 src/xz/file_io.c | 3 ++- 9280 src/xz/file_io.h | 3 +++ 9281 src/xz/mytime.c | 3 --- 9282 src/xz/mytime.h | 4 ---- 9283 5 files changed, 7 insertions(+), 9 deletions(-) 9284 9285commit 815035681063d5774d3640fc20b8ede783dd574e 9286Author: Lasse Collin <lasse.collin@tukaani.org> 9287Date: 2020-01-26 14:49:22 +0200 9288 9289 xz: coder.c: Make writing output a separate function. 9290 9291 The same code sequence repeats so it's nicer as a separate function. 9292 Note that in one case there was no test for opt_mode != MODE_TEST, 9293 but that was only because that condition would always be true, so 9294 this commit doesn't change the behavior there. 9295 9296 src/xz/coder.c | 30 +++++++++++++++++------------- 9297 1 file changed, 17 insertions(+), 13 deletions(-) 9298 9299commit 5a49e081a098455bcdbd95cefb90e9b18780fe58 9300Author: Lasse Collin <lasse.collin@tukaani.org> 9301Date: 2020-01-26 14:13:42 +0200 9302 9303 xz: Fix semi-busy-waiting in xz --flush-timeout. 9304 9305 When input blocked, xz --flush-timeout=1 would wake up every 9306 millisecond and initiate flushing which would have nothing to 9307 flush and thus would just waste CPU time. The fix disables the 9308 timeout when no input has been seen since the previous flush. 9309 9310 src/xz/coder.c | 4 ++++ 9311 src/xz/file_io.c | 15 +++++++++++---- 9312 src/xz/file_io.h | 4 ++++ 9313 3 files changed, 19 insertions(+), 4 deletions(-) 9314 9315commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a 9316Author: Lasse Collin <lasse.collin@tukaani.org> 9317Date: 2020-01-26 13:47:31 +0200 9318 9319 xz: Refactor io_read() a bit. 9320 9321 src/xz/file_io.c | 17 ++++++++--------- 9322 1 file changed, 8 insertions(+), 9 deletions(-) 9323 9324commit 4ae9ab70cd3214395756435d13d8d000368ca2cb 9325Author: Lasse Collin <lasse.collin@tukaani.org> 9326Date: 2020-01-26 13:37:08 +0200 9327 9328 xz: Update a comment in file_io.h. 9329 9330 src/xz/file_io.h | 5 ++++- 9331 1 file changed, 4 insertions(+), 1 deletion(-) 9332 9333commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46 9334Author: Lasse Collin <lasse.collin@tukaani.org> 9335Date: 2020-01-26 13:27:51 +0200 9336 9337 xz: Move the setting of flush_needed in file_io.c to a nicer location. 9338 9339 src/xz/file_io.c | 6 ++---- 9340 1 file changed, 2 insertions(+), 4 deletions(-) 9341 9342commit cf2df0f05ac98c1158c6e48145900b773223605d 9343Author: Lasse Collin <lasse.collin@tukaani.org> 9344Date: 2020-01-19 21:54:33 +0200 9345 9346 Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile. 9347 9348 https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048 9349 9350 Thanks to Bhargava Shastry for sending the patch. 9351 9352 tests/ossfuzz/Makefile | 2 +- 9353 1 file changed, 1 insertion(+), 1 deletion(-) 9354 9355commit 7136f1735c60ac6967c4b8e277fcde53d485234f 9356Author: Lasse Collin <lasse.collin@tukaani.org> 9357Date: 2019-12-31 00:41:28 +0200 9358 9359 Rename unaligned_read32ne to read32ne, and similarly for the others. 9360 9361 src/common/tuklib_integer.h | 64 +++++++++++++++---------------- 9362 src/liblzma/common/alone_encoder.c | 2 +- 9363 src/liblzma/common/block_header_decoder.c | 2 +- 9364 src/liblzma/common/block_header_encoder.c | 2 +- 9365 src/liblzma/common/memcmplen.h | 9 ++--- 9366 src/liblzma/common/stream_flags_decoder.c | 6 +-- 9367 src/liblzma/common/stream_flags_encoder.c | 8 ++-- 9368 src/liblzma/lz/lz_encoder_hash.h | 2 +- 9369 src/liblzma/lzma/lzma_decoder.c | 2 +- 9370 src/liblzma/lzma/lzma_encoder.c | 2 +- 9371 src/liblzma/lzma/lzma_encoder_private.h | 3 +- 9372 src/liblzma/simple/simple_decoder.c | 2 +- 9373 src/liblzma/simple/simple_encoder.c | 2 +- 9374 tests/test_block_header.c | 4 +- 9375 tests/test_stream_flags.c | 6 +-- 9376 15 files changed, 54 insertions(+), 62 deletions(-) 9377 9378commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241 9379Author: Lasse Collin <lasse.collin@tukaani.org> 9380Date: 2019-12-31 00:29:48 +0200 9381 9382 Rename read32ne to aligned_read32ne, and similarly for the others. 9383 9384 Using the aligned methods requires more care to ensure that 9385 the address really is aligned, so it's nicer if the aligned 9386 methods are prefixed. The next commit will remove the unaligned_ 9387 prefix from the unaligned methods which in liblzma are used in 9388 more places than the aligned ones. 9389 9390 src/common/tuklib_integer.h | 56 +++++++++++++++++++++--------------------- 9391 src/liblzma/check/crc32_fast.c | 4 +-- 9392 src/liblzma/check/crc64_fast.c | 4 +-- 9393 3 files changed, 32 insertions(+), 32 deletions(-) 9394 9395commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516 9396Author: Lasse Collin <lasse.collin@tukaani.org> 9397Date: 2019-12-31 00:18:24 +0200 9398 9399 Revise tuklib_integer.h and .m4. 9400 9401 Add a configure option --enable-unsafe-type-punning to get the 9402 old non-conforming memory access methods. It can be useful with 9403 old compilers or in some other less typical situations but 9404 shouldn't normally be used. 9405 9406 Omit the packed struct trick for unaligned access. While it's 9407 best in some cases, this is simpler. If the memcpy trick doesn't 9408 work, one can request unsafe type punning from configure. 9409 9410 Because CRC32/CRC64 code needs fast aligned reads, if no very 9411 safe way to do it is found, type punning is used as a fallback. 9412 This sucks but since it currently works in practice, it seems to 9413 be the least bad option. It's never needed with GCC >= 4.7 or 9414 Clang >= 3.6 since these support __builtin_assume_aligned and 9415 thus fast aligned access can be done with the memcpy trick. 9416 9417 Other things: 9418 - Support GCC/Clang __builtin_bswapXX 9419 - Cleaner bswap fallback macros 9420 - Minor cleanups 9421 9422 m4/tuklib_integer.m4 | 46 ++++- 9423 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++-------------------- 9424 2 files changed, 316 insertions(+), 218 deletions(-) 9425 9426commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088 9427Author: Lasse Collin <lasse.collin@tukaani.org> 9428Date: 2019-12-29 22:51:58 +0200 9429 9430 Tests: Hopefully fix test_check.c to work on EBCDIC systems. 9431 9432 Thanks to Daniel Richard G. 9433 9434 tests/test_check.c | 9 +++++++-- 9435 1 file changed, 7 insertions(+), 2 deletions(-) 9436 9437commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c 9438Author: Lasse Collin <lasse.collin@tukaani.org> 9439Date: 2019-09-24 23:02:40 +0300 9440 9441 Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris. 9442 9443 This adds a configure option --enable-path-for-scripts=PREFIX 9444 which defaults to empty except on Solaris it is /usr/xpg4/bin 9445 to make POSIX grep and others available. The Solaris case had 9446 been documented in INSTALL with a manual fix but it's better 9447 to do this automatically since it is needed on most Solaris 9448 systems anyway. 9449 9450 Thanks to Daniel Richard G. 9451 9452 INSTALL | 43 +++++++++++++++++++++++++++++++++++-------- 9453 configure.ac | 26 ++++++++++++++++++++++++++ 9454 src/scripts/xzdiff.in | 1 + 9455 src/scripts/xzgrep.in | 1 + 9456 src/scripts/xzless.in | 1 + 9457 src/scripts/xzmore.in | 1 + 9458 6 files changed, 65 insertions(+), 8 deletions(-) 9459 9460commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f 9461Author: Lasse Collin <lasse.collin@tukaani.org> 9462Date: 2019-07-12 18:57:43 +0300 9463 9464 Fix comment typos in tuklib_mbstr* files. 9465 9466 src/common/tuklib_mbstr.h | 2 +- 9467 src/common/tuklib_mbstr_fw.c | 2 +- 9468 src/common/tuklib_mbstr_width.c | 2 +- 9469 3 files changed, 3 insertions(+), 3 deletions(-) 9470 9471commit ac0b4212656a48ef0c187c0c941d40ac9489ae36 9472Author: Lasse Collin <lasse.collin@tukaani.org> 9473Date: 2019-07-12 18:30:46 +0300 9474 9475 Add missing include to tuklib_mbstr_width.c. 9476 9477 It didn't matter in XZ Utils because sysdefs.h 9478 includes string.h anyway. 9479 9480 src/common/tuklib_mbstr_width.c | 1 + 9481 1 file changed, 1 insertion(+) 9482 9483commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240 9484Author: Lasse Collin <lasse.collin@tukaani.org> 9485Date: 2019-07-12 18:10:57 +0300 9486 9487 Update tuklib base headers to include stdbool.h. 9488 9489 src/common/tuklib_common.h | 2 +- 9490 src/common/tuklib_config.h | 1 + 9491 2 files changed, 2 insertions(+), 1 deletion(-) 9492 9493commit de1f47b2b40e960b7bc3acba754f66dd19705921 9494Author: Lasse Collin <lasse.collin@tukaani.org> 9495Date: 2019-06-28 00:54:31 +0300 9496 9497 xz: Automatically align the strings in --info-memory. 9498 9499 This makes it easier to translate the strings. 9500 9501 Also, the string for amount of RAM was shortened. 9502 9503 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++----------- 9504 1 file changed, 34 insertions(+), 11 deletions(-) 9505 9506commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5 9507Author: Lasse Collin <lasse.collin@tukaani.org> 9508Date: 2019-06-25 23:15:21 +0300 9509 9510 liblzma: Fix a buggy comment. 9511 9512 src/liblzma/lz/lz_encoder_mf.c | 2 +- 9513 1 file changed, 1 insertion(+), 1 deletion(-) 9514 9515commit fc77929e92e869f6869bf88931066103fd75f376 9516Author: Lasse Collin <lasse.collin@tukaani.org> 9517Date: 2019-06-25 00:16:06 +0300 9518 9519 configure.ac: Fix a typo in a comment. 9520 9521 configure.ac | 2 +- 9522 1 file changed, 1 insertion(+), 1 deletion(-) 9523 9524commit e873902641794210ad7db59743f98e3e1cd6139f 9525Author: Lasse Collin <lasse.collin@tukaani.org> 9526Date: 2019-06-25 00:08:13 +0300 9527 9528 Tests: Silence warnings from clang -Wassign-enum. 9529 9530 Also changed 999 to 99 so it fits even if lzma_check happened 9531 to be 8 bits wide. 9532 9533 tests/test_block_header.c | 3 ++- 9534 tests/test_stream_flags.c | 2 +- 9535 2 files changed, 3 insertions(+), 2 deletions(-) 9536 9537commit d499e467d99efeaae688564eedc4548837c1416a 9538Author: Lasse Collin <lasse.collin@tukaani.org> 9539Date: 2019-06-24 23:52:17 +0300 9540 9541 liblzma: Add a comment. 9542 9543 src/liblzma/common/stream_encoder_mt.c | 2 +- 9544 1 file changed, 1 insertion(+), 1 deletion(-) 9545 9546commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b 9547Author: Lasse Collin <lasse.collin@tukaani.org> 9548Date: 2019-06-24 23:45:21 +0300 9549 9550 liblzma: Silence clang -Wmissing-variable-declarations. 9551 9552 src/liblzma/check/crc32_table.c | 3 +++ 9553 src/liblzma/check/crc64_table.c | 3 +++ 9554 2 files changed, 6 insertions(+) 9555 9556commit 1b4675cebf7471f7cc9b7072c950e3de97147063 9557Author: Lasse Collin <lasse.collin@tukaani.org> 9558Date: 2019-06-24 23:25:41 +0300 9559 9560 Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT. 9561 9562 LZMA_TIMED_OUT is *internally* used as a value for lzma_ret 9563 enumeration. Previously it was #defined to 32 and cast to lzma_ret. 9564 That way it wasn't visible in the public API, but this was hackish. 9565 9566 Now the public API has eight LZMA_RET_INTERNALx members and 9567 LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way 9568 the code is cleaner overall although the public API has a few 9569 extra mysterious enum members. 9570 9571 src/liblzma/api/lzma/base.h | 15 ++++++++++++++- 9572 src/liblzma/common/common.c | 4 +--- 9573 src/liblzma/common/common.h | 5 ++--- 9574 src/xz/message.c | 8 ++++++++ 9575 4 files changed, 25 insertions(+), 7 deletions(-) 9576 9577commit 159c43875eb25deea626ed651274464bae3e32ef 9578Author: Lasse Collin <lasse.collin@tukaani.org> 9579Date: 2019-06-24 22:57:43 +0300 9580 9581 xz: Silence a warning from clang -Wsign-conversion in main.c. 9582 9583 src/xz/main.c | 2 +- 9584 1 file changed, 1 insertion(+), 1 deletion(-) 9585 9586commit 466cfcd3e52f6750ce28a635997f3dd84fb18515 9587Author: Lasse Collin <lasse.collin@tukaani.org> 9588Date: 2019-06-24 22:52:20 +0300 9589 9590 xz: Make "headings" static in list.c. 9591 9592 Caught by clang -Wmissing-variable-declarations. 9593 9594 src/xz/list.c | 2 +- 9595 1 file changed, 1 insertion(+), 1 deletion(-) 9596 9597commit 608517b9b76c41fac6613dbda1193d6f41338e19 9598Author: Lasse Collin <lasse.collin@tukaani.org> 9599Date: 2019-06-24 22:47:39 +0300 9600 9601 liblzma: Remove incorrect uses of lzma_attribute((__unused__)). 9602 9603 Caught by clang -Wused-but-marked-unused. 9604 9605 src/liblzma/common/alone_decoder.c | 3 +-- 9606 src/liblzma/common/alone_encoder.c | 3 +-- 9607 src/liblzma/lz/lz_decoder.c | 3 +-- 9608 3 files changed, 3 insertions(+), 6 deletions(-) 9609 9610commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255 9611Author: Lasse Collin <lasse.collin@tukaani.org> 9612Date: 2019-06-24 20:53:55 +0300 9613 9614 Tests: Silence a warning from -Wsign-conversion. 9615 9616 tests/create_compress_files.c | 8 ++++---- 9617 1 file changed, 4 insertions(+), 4 deletions(-) 9618 9619commit 2402f7873dcae719d0ebddd23bb579074519ac52 9620Author: Lasse Collin <lasse.collin@tukaani.org> 9621Date: 2019-06-24 20:45:49 +0300 9622 9623 xz: Fix an integer overflow with 32-bit off_t. 9624 9625 Or any off_t which isn't very big (like signed 64 bit integer 9626 that most system have). A small off_t could overflow if the 9627 file being decompressed had long enough run of zero bytes, 9628 which would result in corrupt output. 9629 9630 src/xz/file_io.c | 11 +++++++++-- 9631 1 file changed, 9 insertions(+), 2 deletions(-) 9632 9633commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9 9634Author: Lasse Collin <lasse.collin@tukaani.org> 9635Date: 2019-06-24 01:24:17 +0300 9636 9637 xz: Cleanup io_seek_src() a bit. 9638 9639 lseek() returns -1 on error and checking for -1 is nicer. 9640 9641 src/xz/file_io.c | 4 +--- 9642 1 file changed, 1 insertion(+), 3 deletions(-) 9643 9644commit dfda7cf6afa486e10df035327d68753896dfb48a 9645Author: Lasse Collin <lasse.collin@tukaani.org> 9646Date: 2019-06-24 00:57:23 +0300 9647 9648 Tests: Remove a duplicate branch from tests/tests.h. 9649 9650 The duplication was introduced about eleven years ago and 9651 should have been cleaned up back then already. 9652 9653 This was caught by -Wduplicated-branches. 9654 9655 tests/tests.h | 9 ++------- 9656 1 file changed, 2 insertions(+), 7 deletions(-) 9657 9658commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866 9659Author: Lasse Collin <lasse.collin@tukaani.org> 9660Date: 2019-06-24 00:40:45 +0300 9661 9662 xz: Change io_seek_src and io_pread arguments from off_t to uint64_t. 9663 9664 This helps fixing warnings from -Wsign-conversion and makes the 9665 code look better too. 9666 9667 src/xz/file_io.c | 16 ++++++++++++---- 9668 src/xz/file_io.h | 4 ++-- 9669 src/xz/list.c | 9 ++++----- 9670 3 files changed, 18 insertions(+), 11 deletions(-) 9671 9672commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990 9673Author: Lasse Collin <lasse.collin@tukaani.org> 9674Date: 2019-06-24 00:12:38 +0300 9675 9676 xz: list.c: Fix some warnings from -Wsign-conversion. 9677 9678 src/xz/list.c | 7 ++++--- 9679 1 file changed, 4 insertions(+), 3 deletions(-) 9680 9681commit d0a78751eb54fb1572002746c533936a118e4e42 9682Author: Lasse Collin <lasse.collin@tukaani.org> 9683Date: 2019-06-23 23:22:45 +0300 9684 9685 tuklib_mbstr_width: Fix a warning from -Wsign-conversion. 9686 9687 src/common/tuklib_mbstr_width.c | 2 +- 9688 1 file changed, 1 insertion(+), 1 deletion(-) 9689 9690commit 7883d73530b4b2a701ddd7d50c35676cbc158039 9691Author: Lasse Collin <lasse.collin@tukaani.org> 9692Date: 2019-06-23 23:19:34 +0300 9693 9694 xz: Fix some of the warnings from -Wsign-conversion. 9695 9696 src/xz/args.c | 4 ++-- 9697 src/xz/coder.c | 4 ++-- 9698 src/xz/file_io.c | 5 +++-- 9699 src/xz/message.c | 4 ++-- 9700 src/xz/mytime.c | 4 ++-- 9701 src/xz/options.c | 2 +- 9702 src/xz/util.c | 4 ++-- 9703 7 files changed, 14 insertions(+), 13 deletions(-) 9704 9705commit c2b994fe3d35e9e575c28869a2f7f534f2495d05 9706Author: Lasse Collin <lasse.collin@tukaani.org> 9707Date: 2019-06-23 22:27:45 +0300 9708 9709 tuklib_cpucores: Silence warnings from -Wsign-conversion. 9710 9711 src/common/tuklib_cpucores.c | 10 +++++----- 9712 1 file changed, 5 insertions(+), 5 deletions(-) 9713 9714commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff 9715Author: Lasse Collin <lasse.collin@tukaani.org> 9716Date: 2019-06-23 21:40:47 +0300 9717 9718 xzdec: Fix warnings from -Wsign-conversion. 9719 9720 src/xzdec/xzdec.c | 2 +- 9721 1 file changed, 1 insertion(+), 1 deletion(-) 9722 9723commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf 9724Author: Lasse Collin <lasse.collin@tukaani.org> 9725Date: 2019-06-23 21:38:56 +0300 9726 9727 liblzma: Fix warnings from -Wsign-conversion. 9728 9729 Also, more parentheses were added to the literal_subcoder 9730 macro in lzma_comon.h (better style but no functional change 9731 in the current usage). 9732 9733 src/liblzma/common/block_header_decoder.c | 2 +- 9734 src/liblzma/delta/delta_decoder.c | 2 +- 9735 src/liblzma/lzma/fastpos.h | 2 +- 9736 src/liblzma/lzma/lzma2_decoder.c | 8 ++++---- 9737 src/liblzma/lzma/lzma_common.h | 3 ++- 9738 src/liblzma/lzma/lzma_decoder.c | 16 ++++++++-------- 9739 src/liblzma/simple/arm.c | 6 +++--- 9740 src/liblzma/simple/armthumb.c | 8 ++++---- 9741 src/liblzma/simple/ia64.c | 2 +- 9742 src/liblzma/simple/powerpc.c | 9 +++++---- 9743 src/liblzma/simple/x86.c | 2 +- 9744 11 files changed, 31 insertions(+), 29 deletions(-) 9745 9746commit 41838dcc26375f6aa393a63e4d81e2f4d223de07 9747Author: Lasse Collin <lasse.collin@tukaani.org> 9748Date: 2019-06-23 19:33:55 +0300 9749 9750 tuklib_integer: Silence warnings from -Wsign-conversion. 9751 9752 src/common/tuklib_integer.h | 6 +++--- 9753 1 file changed, 3 insertions(+), 3 deletions(-) 9754 9755commit 3ce05d235f736d392347a05086b8033416874b87 9756Author: Lasse Collin <lasse.collin@tukaani.org> 9757Date: 2019-06-20 19:40:30 +0300 9758 9759 tuklib_integer: Fix usage of conv macros. 9760 9761 Use a temporary variable instead of e.g. 9762 conv32le(unaligned_read32ne(buf)) because the macro can 9763 evaluate its argument multiple times. 9764 9765 src/common/tuklib_integer.h | 12 ++++++++---- 9766 1 file changed, 8 insertions(+), 4 deletions(-) 9767 9768commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f 9769Author: Lasse Collin <lasse.collin@tukaani.org> 9770Date: 2019-06-03 20:44:19 +0300 9771 9772 Update THANKS. 9773 9774 THANKS | 1 + 9775 1 file changed, 1 insertion(+) 9776 9777commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53 9778Author: Lasse Collin <lasse.collin@tukaani.org> 9779Date: 2019-06-03 20:41:54 +0300 9780 9781 liblzma: Fix comments. 9782 9783 Thanks to Bruce Stark. 9784 9785 src/liblzma/common/alone_encoder.c | 4 ++-- 9786 src/liblzma/common/block_util.c | 2 +- 9787 src/liblzma/common/common.c | 2 +- 9788 src/liblzma/common/filter_common.h | 2 +- 9789 src/liblzma/common/filter_decoder.h | 2 +- 9790 src/liblzma/common/filter_flags_encoder.c | 2 +- 9791 6 files changed, 7 insertions(+), 7 deletions(-) 9792 9793commit c460f6defebc5a81bbca90adc2476154ca244f69 9794Author: Lasse Collin <lasse.collin@tukaani.org> 9795Date: 2019-06-02 00:50:59 +0300 9796 9797 liblzma: Fix one more unaligned read to use unaligned_read16ne(). 9798 9799 src/liblzma/lz/lz_encoder_hash.h | 2 +- 9800 1 file changed, 1 insertion(+), 1 deletion(-) 9801 9802commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b 9803Author: Lasse Collin <lasse.collin@tukaani.org> 9804Date: 2019-06-01 21:41:55 +0300 9805 9806 Update THANKS. 9807 9808 THANKS | 1 + 9809 1 file changed, 1 insertion(+) 9810 9811commit 386394fc9fcde2615391f804eaa466749f96f4ef 9812Author: Lasse Collin <lasse.collin@tukaani.org> 9813Date: 2019-06-01 21:36:13 +0300 9814 9815 liblzma: memcmplen: Use ctz32() from tuklib_integer.h. 9816 9817 The same compiler-specific #ifdefs are already in tuklib_integer.h 9818 9819 src/liblzma/common/memcmplen.h | 10 +--------- 9820 1 file changed, 1 insertion(+), 9 deletions(-) 9821 9822commit 264ab971ce2994baac41b1579c9c35aba7743fc8 9823Author: Lasse Collin <lasse.collin@tukaani.org> 9824Date: 2019-06-01 21:30:03 +0300 9825 9826 tuklib_integer: Cleanup MSVC-specific code. 9827 9828 src/common/tuklib_integer.h | 20 +++++++++----------- 9829 1 file changed, 9 insertions(+), 11 deletions(-) 9830 9831commit 33773c6f2a8711d4aa6656795db52c59a28580ec 9832Author: Lasse Collin <lasse.collin@tukaani.org> 9833Date: 2019-06-01 19:01:21 +0300 9834 9835 liblzma: Use unaligned_readXXne functions instead of type punning. 9836 9837 Now gcc -fsanitize=undefined should be clean. 9838 9839 Thanks to Jeffrey Walton. 9840 9841 src/liblzma/common/memcmplen.h | 12 ++++++------ 9842 src/liblzma/lzma/lzma_encoder_private.h | 2 +- 9843 2 files changed, 7 insertions(+), 7 deletions(-) 9844 9845commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba 9846Author: Lasse Collin <lasse.collin@tukaani.org> 9847Date: 2019-06-01 18:46:54 +0300 9848 9849 tuklib_integer: Autodetect support for unaligned access on ARM. 9850 9851 The result is used as the default for --enable-unaligned-access. 9852 The test should work with GCC and Clang. 9853 9854 m4/tuklib_integer.m4 | 11 +++++++++++ 9855 1 file changed, 11 insertions(+) 9856 9857commit 3bc112c2d38d5f348bce7bc2422286b1692c7490 9858Author: Lasse Collin <lasse.collin@tukaani.org> 9859Date: 2019-06-01 18:41:16 +0300 9860 9861 tuklib_integer: Improve unaligned memory access. 9862 9863 Now memcpy() or GNU C packed structs for unaligned access instead 9864 of type punning. See the comment in this commit for details. 9865 9866 Avoiding type punning with unaligned access is needed to 9867 silence gcc -fsanitize=undefined. 9868 9869 New functions: unaliged_readXXne and unaligned_writeXXne where 9870 XX is 16, 32, or 64. 9871 9872 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++--- 9873 1 file changed, 168 insertions(+), 12 deletions(-) 9874 9875commit 2a22de439ec63da1927b640eda309296a1e8dce5 9876Author: Lasse Collin <lasse.collin@tukaani.org> 9877Date: 2019-05-13 20:05:17 +0300 9878 9879 liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior. 9880 9881 I should have always known this but I didn't. Here is an example 9882 as a reminder to myself: 9883 9884 int mycopy(void *dest, void *src, size_t n) 9885 { 9886 memcpy(dest, src, n); 9887 return dest == NULL; 9888 } 9889 9890 In the example, a compiler may assume that dest != NULL because 9891 passing NULL to memcpy() would be undefined behavior. Testing 9892 with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1. 9893 With -O2 the return value is 0 because the compiler infers that 9894 dest cannot be NULL because it was already used with memcpy() 9895 and thus the test for NULL gets optimized out. 9896 9897 In liblzma, if a null-pointer was passed to memcpy(), there were 9898 no checks for NULL *after* the memcpy() call, so I cautiously 9899 suspect that it shouldn't have caused bad behavior in practice, 9900 but it's hard to be sure, and the problematic cases had to be 9901 fixed anyway. 9902 9903 Thanks to Jeffrey Walton. 9904 9905 src/liblzma/common/common.c | 6 +++++- 9906 src/liblzma/lz/lz_decoder.c | 12 +++++++++--- 9907 src/liblzma/simple/simple_coder.c | 10 +++++++++- 9908 3 files changed, 23 insertions(+), 5 deletions(-) 9909 9910commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a 9911Author: Lasse Collin <lasse.collin@tukaani.org> 9912Date: 2019-05-11 20:56:08 +0300 9913 9914 Update THANKS. 9915 9916 THANKS | 1 + 9917 1 file changed, 1 insertion(+) 9918 9919commit 4adb8288ab61d5f14e212007b8742df0710baf73 9920Author: Lasse Collin <lasse.collin@tukaani.org> 9921Date: 2019-05-11 20:54:12 +0300 9922 9923 xz: Update xz man page date. 9924 9925 src/xz/xz.1 | 2 +- 9926 1 file changed, 1 insertion(+), 1 deletion(-) 9927 9928commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd 9929Author: Antoine Cœur <antoine.coeur@ef.com> 9930Date: 2019-05-08 13:30:57 +0800 9931 9932 spelling 9933 9934 Doxyfile.in | 2 +- 9935 NEWS | 2 +- 9936 doc/examples/11_file_info.c | 2 +- 9937 src/liblzma/api/lzma/block.h | 2 +- 9938 src/liblzma/api/lzma/hardware.h | 2 +- 9939 src/liblzma/api/lzma/lzma12.h | 2 +- 9940 src/liblzma/api/lzma/vli.h | 2 +- 9941 src/liblzma/common/file_info.c | 4 ++-- 9942 src/liblzma/common/hardware_physmem.c | 2 +- 9943 src/liblzma/common/index.c | 4 ++-- 9944 src/liblzma/common/stream_encoder_mt.c | 2 +- 9945 src/liblzma/common/vli_decoder.c | 2 +- 9946 src/liblzma/lz/lz_decoder.c | 2 +- 9947 src/scripts/xzgrep.in | 2 +- 9948 src/xz/args.c | 2 +- 9949 src/xz/coder.c | 4 ++-- 9950 src/xz/list.c | 4 ++-- 9951 src/xz/main.c | 2 +- 9952 src/xz/mytime.h | 2 +- 9953 src/xz/private.h | 2 +- 9954 src/xz/xz.1 | 2 +- 9955 windows/build.bash | 2 +- 9956 22 files changed, 26 insertions(+), 26 deletions(-) 9957 9958commit 4ed339606156bd313ed99237485cb8ed0362d64f 9959Author: Lasse Collin <lasse.collin@tukaani.org> 9960Date: 2019-05-01 18:43:10 +0300 9961 9962 xz: In xz -lvv look at the widths of the check names too. 9963 9964 Now the widths of the check names is used to adjust the width 9965 of the Check column. This way there no longer is a need to restrict 9966 the widths of the check names to be at most ten terminal-columns. 9967 9968 src/xz/list.c | 32 ++++++++++++++++++++++++++------ 9969 1 file changed, 26 insertions(+), 6 deletions(-) 9970 9971commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65 9972Author: Lasse Collin <lasse.collin@tukaani.org> 9973Date: 2019-05-01 18:33:25 +0300 9974 9975 xz: Fix xz -lvv column alignment to look at the translated strings. 9976 9977 src/xz/list.c | 4 ++-- 9978 1 file changed, 2 insertions(+), 2 deletions(-) 9979 9980commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a 9981Author: Lasse Collin <lasse.collin@tukaani.org> 9982Date: 2019-05-01 16:52:36 +0300 9983 9984 Update THANKS. 9985 9986 THANKS | 1 + 9987 1 file changed, 1 insertion(+) 9988 9989commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c 9990Author: Lasse Collin <lasse.collin@tukaani.org> 9991Date: 2019-05-01 16:43:16 +0300 9992 9993 Windows: Update VS version in windows/vs2019/config.h. 9994 9995 windows/vs2019/config.h | 2 +- 9996 1 file changed, 1 insertion(+), 1 deletion(-) 9997 9998commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51 9999Author: Julien Marrec <julien.marrec@gmail.com> 10000Date: 2019-04-25 17:44:06 +0200 10001 10002 Windows: Upgrade solution itself 10003 10004 windows/vs2019/xz_win.sln | 7 +++++-- 10005 1 file changed, 5 insertions(+), 2 deletions(-) 10006 10007commit ac31413916fa9b11bab17f0f0aa63e2869360f6f 10008Author: Julien Marrec <julien.marrec@gmail.com> 10009Date: 2019-04-25 17:40:24 +0200 10010 10011 Windows: Upgrade solution with VS2019 10012 10013 windows/vs2019/liblzma.vcxproj | 15 ++++++++------- 10014 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++------- 10015 2 files changed, 16 insertions(+), 14 deletions(-) 10016 10017commit be25a0c37ba92a20c390b4d17fe502457fe96b71 10018Author: Julien Marrec <julien.marrec@gmail.com> 10019Date: 2019-04-25 17:39:32 +0200 10020 10021 Windows: Duplicate windows/vs2017 before upgrading 10022 10023 windows/vs2019/config.h | 148 ++++++++++++++ 10024 windows/vs2019/liblzma.vcxproj | 356 ++++++++++++++++++++++++++++++++++ 10025 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++ 10026 windows/vs2019/xz_win.sln | 48 +++++ 10027 4 files changed, 937 insertions(+) 10028 10029commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad 10030Author: Lasse Collin <lasse.collin@tukaani.org> 10031Date: 2019-03-04 22:49:04 +0200 10032 10033 README: Update translation instructions. 10034 10035 XZ Utils is now part of the Translation Project 10036 <https://translationproject.org/>. 10037 10038 README | 32 +++++++++++++------------------- 10039 1 file changed, 13 insertions(+), 19 deletions(-) 10040 10041commit a750c35a7d45a16c11c1d40fecee8443c32a9996 10042Author: Lasse Collin <lasse.collin@tukaani.org> 10043Date: 2019-03-04 21:20:39 +0200 10044 10045 xz: Automatically align column headings in xz -lvv. 10046 10047 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------ 10048 1 file changed, 212 insertions(+), 51 deletions(-) 10049 10050commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77 10051Author: Lasse Collin <lasse.collin@tukaani.org> 10052Date: 2019-03-04 01:07:59 +0200 10053 10054 xz: Automatically align strings ending in a colon in --list output. 10055 10056 This should avoid alignment errors in translations with these 10057 strings. 10058 10059 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 10060 1 file changed, 102 insertions(+), 12 deletions(-) 10061 10062commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484 10063Author: Lasse Collin <lasse.collin@tukaani.org> 10064Date: 2019-01-13 17:29:23 +0200 10065 10066 Windows/VS2017: Omit WindowsTargetPlatformVersion from project files. 10067 10068 I understood that if a WTPV is specified, it's often wrong 10069 because different VS installations have different SDK version 10070 installed. Omitting the WTPV tag makes VS2017 default to 10071 Windows SDK 8.1 which often is also missing, so in any case 10072 people may need to specify the WTPV before building. But some 10073 day in the future a missing WTPV tag will start to default to 10074 the latest installed SDK which sounds reasonable: 10075 10076 https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html 10077 10078 Thanks to "dom". 10079 10080 windows/INSTALL-MSVC.txt | 4 ++++ 10081 windows/vs2017/liblzma.vcxproj | 1 - 10082 windows/vs2017/liblzma_dll.vcxproj | 1 - 10083 3 files changed, 4 insertions(+), 2 deletions(-) 10084 10085commit 4d86076332aece6314063d3712a5f364172bbb0f 10086Author: Lasse Collin <lasse.collin@tukaani.org> 10087Date: 2018-12-20 20:42:29 +0200 10088 10089 Update THANKS. 10090 10091 THANKS | 1 + 10092 1 file changed, 1 insertion(+) 10093 10094commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c 10095Author: Lasse Collin <lasse.collin@tukaani.org> 10096Date: 2018-12-14 20:34:30 +0200 10097 10098 xz: Fix a crash in progress indicator when in passthru mode. 10099 10100 "xz -dcfv not_an_xz_file" crashed (all four options are 10101 required to trigger it). It caused xz to call 10102 lzma_get_progress(&strm, ...) when no coder was initialized 10103 in strm. In this situation strm.internal is NULL which leads 10104 to a crash in lzma_get_progress(). 10105 10106 The bug was introduced when xz started using lzma_get_progress() 10107 to get progress info for multi-threaded compression, so the 10108 bug is present in versions 5.1.3alpha and higher. 10109 10110 Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for 10111 the bug report. 10112 10113 src/xz/coder.c | 11 +++++++---- 10114 src/xz/message.c | 18 ++++++++++++++++-- 10115 src/xz/message.h | 3 ++- 10116 3 files changed, 25 insertions(+), 7 deletions(-) 10117 10118commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56 10119Author: Lasse Collin <lasse.collin@tukaani.org> 10120Date: 2018-11-22 17:20:31 +0200 10121 10122 xz: Update man page timestamp. 10123 10124 src/xz/xz.1 | 2 +- 10125 1 file changed, 1 insertion(+), 1 deletion(-) 10126 10127commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad 10128Author: Pavel Raiskup <praiskup@redhat.com> 10129Date: 2018-11-22 15:14:34 +0100 10130 10131 'have have' typos 10132 10133 src/xz/signals.c | 2 +- 10134 src/xz/xz.1 | 2 +- 10135 2 files changed, 2 insertions(+), 2 deletions(-) 10136 10137commit 9eca51ef805ed8002a851df1b4995d71826c8b6e 10138Author: Lasse Collin <lasse.collin@tukaani.org> 10139Date: 2018-11-02 20:40:48 +0200 10140 10141 Update THANKS. 10142 10143 THANKS | 1 + 10144 1 file changed, 1 insertion(+) 10145 10146commit 106d1a663d4ba42b63231caa289f531548df81c1 10147Author: Lasse Collin <lasse.collin@tukaani.org> 10148Date: 2018-11-02 20:18:45 +0200 10149 10150 Tests: Add a fuzz test program and a config file for OSS-Fuzz. 10151 10152 Thanks to Bhargava Shastry and Github user pdknsk. 10153 10154 tests/Makefile.am | 1 + 10155 tests/ossfuzz/Makefile | 7 ++++ 10156 tests/ossfuzz/config/fuzz.dict | 2 + 10157 tests/ossfuzz/config/fuzz.options | 2 + 10158 tests/ossfuzz/fuzz.c | 82 +++++++++++++++++++++++++++++++++++++++ 10159 5 files changed, 94 insertions(+) 10160 10161commit a18ae42a79a19b1394b41eb3e238139fd28012ec 10162Author: Lasse Collin <lasse.collin@tukaani.org> 10163Date: 2018-10-26 22:49:10 +0300 10164 10165 liblzma: Don't verify header CRC32s if building for fuzz testing. 10166 10167 FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma 10168 is being built for fuzz testing. 10169 10170 Most fuzzed inputs would normally get rejected because of incorrect 10171 CRC32 and the actual header decoding code wouldn't get fuzzed. 10172 Disabling CRC32 checks avoids this problem. The fuzzer program 10173 must still use LZMA_IGNORE_CHECK flag to disable verification of 10174 integrity checks of uncompressed data. 10175 10176 src/liblzma/common/block_header_decoder.c | 5 ++++- 10177 src/liblzma/common/index_decoder.c | 5 ++++- 10178 src/liblzma/common/index_hash.c | 5 ++++- 10179 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++-- 10180 4 files changed, 20 insertions(+), 5 deletions(-) 10181 10182commit f76f7516d6a1c832f61810c82e92d151cc80966c 10183Author: Lasse Collin <lasse.collin@tukaani.org> 10184Date: 2018-07-27 18:10:44 +0300 10185 10186 xzless: Rename unused variables to silence static analysers. 10187 10188 In this particular case I don't see this affecting readability 10189 of the code. 10190 10191 Thanks to Pavel Raiskup. 10192 10193 src/scripts/xzless.in | 2 +- 10194 1 file changed, 1 insertion(+), 1 deletion(-) 10195 10196commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff 10197Author: Lasse Collin <lasse.collin@tukaani.org> 10198Date: 2018-07-27 16:02:58 +0300 10199 10200 liblzma: Remove an always-true condition from lzma_index_cat(). 10201 10202 This should help static analysis tools to see that newg 10203 isn't leaked. 10204 10205 Thanks to Pavel Raiskup. 10206 10207 src/liblzma/common/index.c | 4 ++-- 10208 1 file changed, 2 insertions(+), 2 deletions(-) 10209 10210commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f 10211Author: Lasse Collin <lasse.collin@tukaani.org> 10212Date: 2018-05-19 21:23:25 +0300 10213 10214 liblzma: Improve lzma_properties_decode() API documentation. 10215 10216 src/liblzma/api/lzma/filter.h | 7 ++++--- 10217 1 file changed, 4 insertions(+), 3 deletions(-) 10218 10219commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c 10220Author: Lasse Collin <lasse.collin@tukaani.org> 10221Date: 2018-04-29 18:58:19 +0300 10222 10223 Bump the version number to 5.3.1alpha. 10224 10225 src/liblzma/api/lzma/version.h | 2 +- 10226 src/liblzma/liblzma.map | 2 +- 10227 2 files changed, 2 insertions(+), 2 deletions(-) 10228 10229commit cee3021d30704858e4bdd22240e7d28e570d7451 10230Author: Lasse Collin <lasse.collin@tukaani.org> 10231Date: 2018-04-29 18:48:00 +0300 10232 10233 extra/scanlzma: Fix compiler warnings. 10234 10235 extra/scanlzma/scanlzma.c | 6 +++++- 10236 1 file changed, 5 insertions(+), 1 deletion(-) 10237 10238commit c5c7ceb08a011b97d261798033e2c39613a69eb7 10239Author: Lasse Collin <lasse.collin@tukaani.org> 10240Date: 2018-04-29 18:44:47 +0300 10241 10242 DOS: Add file_info.c to the list of files to build. 10243 10244 dos/Makefile | 1 + 10245 1 file changed, 1 insertion(+) 10246 10247commit 114cab97af766b21e0fc8620479202fb1e7a5e41 10248Author: Lasse Collin <lasse.collin@tukaani.org> 10249Date: 2018-04-29 18:33:10 +0300 10250 10251 Update NEWS for 5.3.1alpha. 10252 10253 NEWS | 11 +++++++++++ 10254 1 file changed, 11 insertions(+) 10255 10256commit b8139e11c512bbf32bf58ab0689f9bb6c52819da 10257Author: Lasse Collin <lasse.collin@tukaani.org> 10258Date: 2018-04-29 18:15:37 +0300 10259 10260 Add NEWS for 5.2.4. 10261 10262 NEWS | 27 +++++++++++++++++++++++++++ 10263 1 file changed, 27 insertions(+) 10264 10265commit 47b59d47cfd904a420fbd45629d168ca1973721d 10266Author: Lasse Collin <lasse.collin@tukaani.org> 10267Date: 2018-02-06 19:36:30 +0200 10268 10269 Update THANKS. 10270 10271 THANKS | 2 ++ 10272 1 file changed, 2 insertions(+) 10273 10274commit bc197991690ede24ab143665b5b0f0f9cb35cc46 10275Author: Ben Boeckel <mathstuf@gmail.com> 10276Date: 2018-01-29 13:58:18 -0500 10277 10278 nothrow: use noexcept for C++11 and newer 10279 10280 In C++11, the `throw()` specifier is deprecated and `noexcept` is 10281 preffered instead. 10282 10283 src/liblzma/api/lzma.h | 6 +++++- 10284 1 file changed, 5 insertions(+), 1 deletion(-) 10285 10286commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5 10287Author: Lasse Collin <lasse.collin@tukaani.org> 10288Date: 2018-02-06 18:02:48 +0200 10289 10290 liblzma: Remove incorrect #ifdef from range_common.h. 10291 10292 In most cases it was harmless but it could affect some 10293 custom build systems. 10294 10295 Thanks to Pippijn van Steenhoven. 10296 10297 src/liblzma/rangecoder/range_common.h | 4 +--- 10298 1 file changed, 1 insertion(+), 3 deletions(-) 10299 10300commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76 10301Author: Lasse Collin <lasse.collin@tukaani.org> 10302Date: 2018-01-10 22:10:39 +0200 10303 10304 Update THANKS. 10305 10306 THANKS | 1 + 10307 1 file changed, 1 insertion(+) 10308 10309commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1 10310Author: Lasse Collin <lasse.collin@tukaani.org> 10311Date: 2018-01-10 21:54:27 +0200 10312 10313 tuklib_integer: New Intel C compiler needs immintrin.h. 10314 10315 Thanks to Melanie Blower (Intel) for the patch. 10316 10317 src/common/tuklib_integer.h | 11 +++++++++++ 10318 1 file changed, 11 insertions(+) 10319 10320commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3 10321Author: Lasse Collin <lasse.collin@tukaani.org> 10322Date: 2017-09-24 20:04:24 +0300 10323 10324 Update THANKS. 10325 10326 THANKS | 1 + 10327 1 file changed, 1 insertion(+) 10328 10329commit a1e2c568de29c0b57d873eab40a2879b749da429 10330Author: Lasse Collin <lasse.collin@tukaani.org> 10331Date: 2017-09-16 20:36:20 +0300 10332 10333 Windows: Fix paths in VS project files. 10334 10335 Some paths use slashes instead of backslashes as directory 10336 separators... now it should work (I tested VS2013 version). 10337 10338 windows/vs2013/liblzma.vcxproj | 12 ++++++------ 10339 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------ 10340 windows/vs2017/liblzma.vcxproj | 12 ++++++------ 10341 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------ 10342 4 files changed, 36 insertions(+), 36 deletions(-) 10343 10344commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e 10345Author: Lasse Collin <lasse.collin@tukaani.org> 10346Date: 2017-09-16 12:56:20 +0300 10347 10348 Windows: Update VS2017 project files to include file info decoder. 10349 10350 windows/vs2017/liblzma.vcxproj | 2 ++ 10351 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 10352 2 files changed, 4 insertions(+) 10353 10354commit 95d563db3ee497b223e522b699c4d4c29943eef0 10355Author: Lasse Collin <lasse.collin@tukaani.org> 10356Date: 2017-09-16 12:54:23 +0300 10357 10358 Windows: Add project files for VS2017. 10359 10360 These files match the v5.2 branch (no file info decoder). 10361 10362 windows/vs2017/config.h | 148 ++++++++++++++ 10363 windows/vs2017/liblzma.vcxproj | 355 ++++++++++++++++++++++++++++++++++ 10364 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++ 10365 windows/vs2017/xz_win.sln | 48 +++++ 10366 4 files changed, 935 insertions(+) 10367 10368commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73 10369Author: Lasse Collin <lasse.collin@tukaani.org> 10370Date: 2017-09-16 12:45:50 +0300 10371 10372 Windows: Update VS2013 project files to include file info decoder. 10373 10374 windows/vs2013/liblzma.vcxproj | 2 ++ 10375 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 10376 2 files changed, 4 insertions(+) 10377 10378commit 82388980187b0e3794d187762054200bbdcc9a53 10379Author: Lasse Collin <lasse.collin@tukaani.org> 10380Date: 2017-09-16 12:39:43 +0300 10381 10382 Windows: Move VS2013 files into windows/vs2013 directory. 10383 10384 windows/{ => vs2013}/config.h | 0 10385 windows/{ => vs2013}/liblzma.vcxproj | 278 +++++++++++++++--------------- 10386 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++---------------- 10387 windows/{ => vs2013}/xz_win.sln | 0 10388 4 files changed, 279 insertions(+), 279 deletions(-) 10389 10390commit 94e3f986aa4e14b4ff01ac24857f499630d6d180 10391Author: Lasse Collin <lasse.collin@tukaani.org> 10392Date: 2017-08-14 20:08:33 +0300 10393 10394 Fix or hide warnings from GCC 7's -Wimplicit-fallthrough. 10395 10396 src/liblzma/lzma/lzma_decoder.c | 6 ++++++ 10397 src/xz/list.c | 2 ++ 10398 2 files changed, 8 insertions(+) 10399 10400commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8 10401Author: Alexey Tourbin <alexey.tourbin@gmail.com> 10402Date: 2017-05-16 23:56:35 +0300 10403 10404 Docs: Fix a typo in a comment in doc/examples/02_decompress.c. 10405 10406 doc/examples/02_decompress.c | 2 +- 10407 1 file changed, 1 insertion(+), 1 deletion(-) 10408 10409commit a015cd1f90116e655be4eaf4aad42c4c911c2807 10410Author: Lasse Collin <lasse.collin@tukaani.org> 10411Date: 2017-05-23 18:34:43 +0300 10412 10413 xz: Fix "xz --list --robot missing_or_bad_file.xz". 10414 10415 It ended up printing an uninitialized char-array when trying to 10416 print the check names (column 7) on the "totals" line. 10417 10418 This also changes the column 12 (minimum xz version) to 10419 50000002 (xz 5.0.0) instead of 0 when there are no valid 10420 input files. 10421 10422 Thanks to kidmin for the bug report. 10423 10424 src/xz/list.c | 8 ++++++-- 10425 1 file changed, 6 insertions(+), 2 deletions(-) 10426 10427commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd 10428Author: Lasse Collin <lasse.collin@tukaani.org> 10429Date: 2017-04-24 20:20:11 +0300 10430 10431 Docs: Add doc/examples/11_file_info.c. 10432 10433 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++ 10434 doc/examples/Makefile | 3 +- 10435 2 files changed, 208 insertions(+), 1 deletion(-) 10436 10437commit 1520f6ec808896375ac7bf778c449e0f7dea5f46 10438Author: Lasse Collin <lasse.collin@tukaani.org> 10439Date: 2017-04-24 19:48:47 +0300 10440 10441 Build: Omit pre-5.0.0 entries from the generated ChangeLog. 10442 10443 It makes ChangeLog significantly smaller. 10444 10445 Makefile.am | 3 ++- 10446 1 file changed, 2 insertions(+), 1 deletion(-) 10447 10448commit 8269782283806c90a8509c2ac2a308344f70e171 10449Author: Lasse Collin <lasse.collin@tukaani.org> 10450Date: 2017-04-24 19:48:23 +0300 10451 10452 xz: Use lzma_file_info_decoder() for --list. 10453 10454 src/xz/list.c | 254 ++++++++++------------------------------------------------ 10455 1 file changed, 44 insertions(+), 210 deletions(-) 10456 10457commit e353d0b1cc0d3997ae5048faa8e6786414953e06 10458Author: Lasse Collin <lasse.collin@tukaani.org> 10459Date: 2017-04-24 19:35:50 +0300 10460 10461 liblzma: Add lzma_file_info_decoder(). 10462 10463 src/liblzma/api/lzma/index.h | 66 ++++ 10464 src/liblzma/common/Makefile.inc | 1 + 10465 src/liblzma/common/file_info.c | 855 ++++++++++++++++++++++++++++++++++++++++ 10466 src/liblzma/liblzma.map | 7 +- 10467 4 files changed, 928 insertions(+), 1 deletion(-) 10468 10469commit 144ef9e19e9496c995b21505dd1e111c442968d1 10470Author: Lasse Collin <lasse.collin@tukaani.org> 10471Date: 2017-04-24 19:30:22 +0300 10472 10473 Update the Git repository URL to HTTPS in ChangeLog. 10474 10475 ChangeLog | 2 +- 10476 1 file changed, 1 insertion(+), 1 deletion(-) 10477 10478commit 8c9842c265993d7dd4039f732d3546267fb5ecc4 10479Author: Lasse Collin <lasse.collin@tukaani.org> 10480Date: 2017-04-21 15:05:16 +0300 10481 10482 liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos. 10483 10484 src/liblzma/api/lzma/base.h | 18 +++++++++--------- 10485 src/liblzma/common/common.c | 2 +- 10486 src/xz/message.c | 2 +- 10487 3 files changed, 11 insertions(+), 11 deletions(-) 10488 10489commit 662b27c417cab248cb365dd7682121bdec4d5ae7 10490Author: Lasse Collin <lasse.collin@tukaani.org> 10491Date: 2017-04-19 22:17:35 +0300 10492 10493 Update the home page URLs to HTTPS. 10494 10495 COPYING | 2 +- 10496 README | 2 +- 10497 configure.ac | 2 +- 10498 doc/faq.txt | 4 ++-- 10499 dos/config.h | 2 +- 10500 src/common/common_w32res.rc | 2 +- 10501 src/xz/xz.1 | 6 +++--- 10502 src/xzdec/xzdec.1 | 4 ++-- 10503 windows/README-Windows.txt | 2 +- 10504 windows/config.h | 2 +- 10505 10 files changed, 14 insertions(+), 14 deletions(-) 10506 10507commit c28f0b3d00af87b92dda229831548d8eb0067d1d 10508Author: Lasse Collin <lasse.collin@tukaani.org> 10509Date: 2017-04-05 18:47:22 +0300 10510 10511 xz: Add io_seek_src(). 10512 10513 src/xz/file_io.c | 20 +++++++++++++++++--- 10514 src/xz/file_io.h | 13 +++++++++++++ 10515 2 files changed, 30 insertions(+), 3 deletions(-) 10516 10517commit bba477257d7319c8764890f3669175b866d24944 10518Author: Lasse Collin <lasse.collin@tukaani.org> 10519Date: 2017-03-30 22:01:54 +0300 10520 10521 xz: Use POSIX_FADV_RANDOM for in "xz --list" mode. 10522 10523 xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly 10524 wrong. 10525 10526 src/xz/file_io.c | 10 ++++++++-- 10527 1 file changed, 8 insertions(+), 2 deletions(-) 10528 10529commit 310d19816d1652b0c8bb1b82574d46345d924752 10530Author: Lasse Collin <lasse.collin@tukaani.org> 10531Date: 2017-03-30 20:03:05 +0300 10532 10533 liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs. 10534 10535 This is to allow other functions to use it without going 10536 via the public API (lzma_index_decoder()). 10537 10538 src/liblzma/common/Makefile.inc | 1 + 10539 src/liblzma/common/index_decoder.c | 10 +++++----- 10540 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++ 10541 3 files changed, 30 insertions(+), 5 deletions(-) 10542 10543commit a27920002dbc469f778a134fc665b7c3ea73701b 10544Author: Lasse Collin <lasse.collin@tukaani.org> 10545Date: 2017-03-30 20:00:09 +0300 10546 10547 liblzma: Add generic support for input seeking (LZMA_SEEK). 10548 10549 Also mention LZMA_SEEK in xz/message.c to silence a warning. 10550 10551 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++- 10552 src/liblzma/common/common.c | 12 +++++++++++- 10553 src/xz/message.c | 1 + 10554 3 files changed, 42 insertions(+), 2 deletions(-) 10555 10556commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d 10557Author: Lasse Collin <lasse.collin@tukaani.org> 10558Date: 2017-03-30 19:47:45 +0300 10559 10560 liblzma: Fix lzma_memlimit_set(strm, 0). 10561 10562 The 0 got treated specially in a buggy way and as a result 10563 the function did nothing. The API doc said that 0 was supposed 10564 to return LZMA_PROG_ERROR but it didn't. 10565 10566 Now 0 is treated as if 1 had been specified. This is done because 10567 0 is already used to indicate an error from lzma_memlimit_get() 10568 and lzma_memusage(). 10569 10570 In addition, lzma_memlimit_set() no longer checks that the new 10571 limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive 10572 for the Index decoder and was actually needed only by the 10573 auto decoder. Auto decoder has now been modified to check for 10574 LZMA_MEMUSAGE_BASE. 10575 10576 src/liblzma/api/lzma/base.h | 7 ++++++- 10577 src/liblzma/common/auto_decoder.c | 3 +++ 10578 src/liblzma/common/common.c | 6 ++++-- 10579 3 files changed, 13 insertions(+), 3 deletions(-) 10580 10581commit 84462afaada61379f5878e46f8f00e25a1cdcf29 10582Author: Lasse Collin <lasse.collin@tukaani.org> 10583Date: 2017-03-30 19:16:55 +0300 10584 10585 liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder. 10586 10587 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 10588 src/liblzma/common/alone_decoder.c | 5 +---- 10589 src/liblzma/common/auto_decoder.c | 5 +---- 10590 src/liblzma/common/stream_decoder.c | 5 +---- 10591 4 files changed, 20 insertions(+), 16 deletions(-) 10592 10593commit cbc74017939690d13441b8926bb743fb03211b83 10594Author: Lasse Collin <lasse.collin@tukaani.org> 10595Date: 2017-03-30 18:58:18 +0300 10596 10597 liblzma: Fix handling of memlimit == 0 in lzma_index_decoder(). 10598 10599 It returned LZMA_PROG_ERROR, which was done to avoid zero as 10600 the limit (because it's a special value elsewhere), but using 10601 LZMA_PROG_ERROR is simply inconvenient and can cause bugs. 10602 10603 The fix/workaround is to treat 0 as if it were 1 byte. It's 10604 effectively the same thing. The only weird consequence is 10605 that then lzma_memlimit_get() will return 1 even when 0 was 10606 specified as the limit. 10607 10608 This fixes a very rare corner case in xz --list where a specific 10609 memory usage limit and a multi-stream file could print the 10610 error message "Internal error (bug)" instead of saying that 10611 the memory usage limit is too low. 10612 10613 src/liblzma/api/lzma/index.h | 18 +++++++++++------- 10614 src/liblzma/common/index_decoder.c | 4 ++-- 10615 2 files changed, 13 insertions(+), 9 deletions(-) 10616 10617commit 78ae13bced912b1b92ae927992c99cbcc463cae7 10618Author: Lasse Collin <lasse.collin@tukaani.org> 10619Date: 2016-12-30 13:25:10 +0200 10620 10621 Update NEWS for 5.2.3. 10622 10623 NEWS | 39 +++++++++++++++++++++++++++++++++++++++ 10624 1 file changed, 39 insertions(+) 10625 10626commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357 10627Author: Lasse Collin <lasse.collin@tukaani.org> 10628Date: 2016-12-26 20:55:52 +0200 10629 10630 Document --enable-sandbox configure option in INSTALL. 10631 10632 INSTALL | 23 +++++++++++++++++++++++ 10633 1 file changed, 23 insertions(+) 10634 10635commit d4a0462abe5478193521c14625e1c81fead87f9f 10636Author: Lasse Collin <lasse.collin@tukaani.org> 10637Date: 2016-11-21 20:24:50 +0200 10638 10639 liblzma: Avoid multiple definitions of lzma_coder structures. 10640 10641 Only one definition was visible in a translation unit. 10642 It avoided a few casts and temp variables but seems that 10643 this hack doesn't work with link-time optimizations in compilers 10644 as it's not C99/C11 compliant. 10645 10646 Fixes: 10647 http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html 10648 10649 src/liblzma/common/alone_decoder.c | 44 +++++---- 10650 src/liblzma/common/alone_encoder.c | 34 ++++--- 10651 src/liblzma/common/auto_decoder.c | 35 ++++--- 10652 src/liblzma/common/block_decoder.c | 41 ++++---- 10653 src/liblzma/common/block_encoder.c | 40 ++++---- 10654 src/liblzma/common/common.h | 18 ++-- 10655 src/liblzma/common/index_decoder.c | 33 ++++--- 10656 src/liblzma/common/index_encoder.c | 16 ++-- 10657 src/liblzma/common/stream_decoder.c | 50 +++++----- 10658 src/liblzma/common/stream_encoder.c | 56 ++++++----- 10659 src/liblzma/common/stream_encoder_mt.c | 124 ++++++++++++++----------- 10660 src/liblzma/delta/delta_common.c | 25 ++--- 10661 src/liblzma/delta/delta_decoder.c | 6 +- 10662 src/liblzma/delta/delta_encoder.c | 12 ++- 10663 src/liblzma/delta/delta_private.h | 4 +- 10664 src/liblzma/lz/lz_decoder.c | 60 ++++++------ 10665 src/liblzma/lz/lz_decoder.h | 13 ++- 10666 src/liblzma/lz/lz_encoder.c | 57 +++++++----- 10667 src/liblzma/lz/lz_encoder.h | 9 +- 10668 src/liblzma/lzma/lzma2_decoder.c | 32 ++++--- 10669 src/liblzma/lzma/lzma2_encoder.c | 51 +++++----- 10670 src/liblzma/lzma/lzma_decoder.c | 27 +++--- 10671 src/liblzma/lzma/lzma_encoder.c | 29 +++--- 10672 src/liblzma/lzma/lzma_encoder.h | 9 +- 10673 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 +- 10674 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 23 ++--- 10675 src/liblzma/lzma/lzma_encoder_private.h | 6 +- 10676 src/liblzma/simple/arm.c | 2 +- 10677 src/liblzma/simple/armthumb.c | 2 +- 10678 src/liblzma/simple/ia64.c | 2 +- 10679 src/liblzma/simple/powerpc.c | 2 +- 10680 src/liblzma/simple/simple_coder.c | 61 ++++++------ 10681 src/liblzma/simple/simple_private.h | 12 +-- 10682 src/liblzma/simple/sparc.c | 2 +- 10683 src/liblzma/simple/x86.c | 15 +-- 10684 35 files changed, 532 insertions(+), 423 deletions(-) 10685 10686commit a01794c52add98263b49119842c3e7141d1b9ced 10687Author: Lasse Collin <lasse.collin@tukaani.org> 10688Date: 2016-10-24 18:53:25 +0300 10689 10690 Update THANKS. 10691 10692 THANKS | 1 + 10693 1 file changed, 1 insertion(+) 10694 10695commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d 10696Author: Lasse Collin <lasse.collin@tukaani.org> 10697Date: 2016-10-24 18:51:36 +0300 10698 10699 tuklib_cpucores: Add support for sched_getaffinity(). 10700 10701 It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better 10702 than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity() 10703 gives the number of cores available to the process instead of 10704 the total number of cores online. 10705 10706 As a side effect, this commit fixes a bug on GNU/kFreeBSD where 10707 configure would detect the FreeBSD-specific cpuset_getaffinity() 10708 but it wouldn't actually work because on GNU/kFreeBSD it requires 10709 using -lfreebsd-glue when linking. Now the glibc-specific function 10710 will be used instead. 10711 10712 Thanks to Sebastian Andrzej Siewior for the original patch 10713 and testing. 10714 10715 m4/tuklib_cpucores.m4 | 30 +++++++++++++++++++++++++++++- 10716 src/common/tuklib_cpucores.c | 9 +++++++++ 10717 2 files changed, 38 insertions(+), 1 deletion(-) 10718 10719commit 446e4318fa79788e09299d5953b5dd428953d14b 10720Author: Lasse Collin <lasse.collin@tukaani.org> 10721Date: 2016-06-30 20:27:36 +0300 10722 10723 xz: Fix copying of timestamps on Windows. 10724 10725 xz used to call utime() on Windows, but its result gets lost 10726 on close(). Using _futime() seems to work. 10727 10728 Thanks to Martok for reporting the bug: 10729 http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html 10730 10731 configure.ac | 2 +- 10732 src/xz/file_io.c | 18 ++++++++++++++++++ 10733 2 files changed, 19 insertions(+), 1 deletion(-) 10734 10735commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd 10736Author: Lasse Collin <lasse.collin@tukaani.org> 10737Date: 2016-06-16 22:46:02 +0300 10738 10739 xz: Silence warnings from -Wlogical-op. 10740 10741 Thanks to Evan Nemerson. 10742 10743 src/xz/file_io.c | 12 ++++++++++-- 10744 1 file changed, 10 insertions(+), 2 deletions(-) 10745 10746commit c83b7a03342c3325ff10400b22ee21edfcd1e026 10747Author: Lasse Collin <lasse.collin@tukaani.org> 10748Date: 2016-04-10 20:55:49 +0300 10749 10750 Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am. 10751 10752 Thanks to Christian Kujau. 10753 10754 src/xz/Makefile.am | 2 +- 10755 1 file changed, 1 insertion(+), 1 deletion(-) 10756 10757commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e 10758Author: Lasse Collin <lasse.collin@tukaani.org> 10759Date: 2016-04-10 20:54:17 +0300 10760 10761 Build: Bump GNU Gettext version requirement to 0.19. 10762 10763 It silences a few warnings and most people probably have 10764 0.19 even on stable distributions. 10765 10766 Thanks to Christian Kujau. 10767 10768 configure.ac | 2 +- 10769 1 file changed, 1 insertion(+), 1 deletion(-) 10770 10771commit ac398c3bafa6e4c80e20571373a96947db863b3d 10772Author: Lasse Collin <lasse.collin@tukaani.org> 10773Date: 2016-03-13 20:21:49 +0200 10774 10775 liblzma: Disable external SHA-256 by default. 10776 10777 This is the sane thing to do. The conflict with OpenSSL 10778 on some OSes and especially that the OS-provided versions 10779 can be significantly slower makes it clear that it was 10780 a mistake to have the external SHA-256 support enabled by 10781 default. 10782 10783 Those who want it can now pass --enable-external-sha256 to 10784 configure. INSTALL was updated with notes about OSes where 10785 this can be a bad idea. 10786 10787 The SHA-256 detection code in configure.ac had some bugs that 10788 could lead to a build failure in some situations. These were 10789 fixed, although it doesn't matter that much now that the 10790 external SHA-256 is disabled by default. 10791 10792 MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init 10793 in libc instead of libutil. Support for the libutil version 10794 was removed. 10795 10796 INSTALL | 36 ++++++++++++++++++++++ 10797 configure.ac | 76 +++++++++++++++++++++++------------------------ 10798 src/liblzma/check/check.h | 16 ++++------ 10799 3 files changed, 79 insertions(+), 49 deletions(-) 10800 10801commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5 10802Author: Lasse Collin <lasse.collin@tukaani.org> 10803Date: 2016-03-10 20:27:05 +0200 10804 10805 Update THANKS. 10806 10807 THANKS | 1 + 10808 1 file changed, 1 insertion(+) 10809 10810commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9 10811Author: Lasse Collin <lasse.collin@tukaani.org> 10812Date: 2016-03-10 20:26:49 +0200 10813 10814 Build: Avoid SHA256_Init on FreeBSD and MINIX 3. 10815 10816 On FreeBSD 10 and older, SHA256_Init from libmd conflicts 10817 with libcrypto from OpenSSL. The OpenSSL version has 10818 different sizeof(SHA256_CTX) and it can cause weird 10819 problems if wrong SHA256_Init gets used. 10820 10821 Looking at the source, MINIX 3 seems to have a similar issue but 10822 I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too. 10823 10824 NetBSD has SHA256_Init in libc and they had a similar problem, 10825 but they already fixed it in 2009. 10826 10827 Thanks to Jim Wilcoxson for the bug report that helped 10828 in finding the problem. 10829 10830 configure.ac | 27 +++++++++++++++++++++------ 10831 1 file changed, 21 insertions(+), 6 deletions(-) 10832 10833commit faf302137e54d605b44ecf0373cb51a6403a2de1 10834Author: Lasse Collin <lasse.collin@tukaani.org> 10835Date: 2015-11-08 20:16:10 +0200 10836 10837 tuklib_physmem: Hopefully silence a warning on Windows. 10838 10839 src/common/tuklib_physmem.c | 3 ++- 10840 1 file changed, 2 insertions(+), 1 deletion(-) 10841 10842commit e52e9151cf8613022d1de4712ff39dbcb666e991 10843Author: Lasse Collin <lasse.collin@tukaani.org> 10844Date: 2015-11-04 23:17:43 +0200 10845 10846 Update THANKS. 10847 10848 THANKS | 1 + 10849 1 file changed, 1 insertion(+) 10850 10851commit 14115f84a38161d55eaa2d070f08739bde37e966 10852Author: Lasse Collin <lasse.collin@tukaani.org> 10853Date: 2015-11-04 23:14:00 +0200 10854 10855 liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma. 10856 10857 When optimizing, GCC can reorder code so that an uninitialized 10858 value gets used in a comparison, which makes Valgrind unhappy. 10859 It doesn't happen when compiled with -O0, which I tend to use 10860 when running Valgrind. 10861 10862 Thanks to Rich Prohaska. I remember this being mentioned long 10863 ago by someone else but nothing was done back then. 10864 10865 src/liblzma/lz/lz_encoder.c | 4 ++++ 10866 1 file changed, 4 insertions(+) 10867 10868commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e 10869Author: Lasse Collin <lasse.collin@tukaani.org> 10870Date: 2015-11-03 20:55:45 +0200 10871 10872 liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c. 10873 10874 It would be too annoying to update other build systems 10875 just because of this. 10876 10877 src/liblzma/lzma/Makefile.inc | 2 +- 10878 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +- 10879 2 files changed, 2 insertions(+), 2 deletions(-) 10880 10881commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b 10882Author: Lasse Collin <lasse.collin@tukaani.org> 10883Date: 2015-11-03 20:47:07 +0200 10884 10885 Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built. 10886 10887 They all need decoder support and if that isn't available, 10888 there's no point trying to build them. 10889 10890 configure.ac | 3 +++ 10891 1 file changed, 3 insertions(+) 10892 10893commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a 10894Author: Lasse Collin <lasse.collin@tukaani.org> 10895Date: 2015-11-03 20:35:19 +0200 10896 10897 Build: Simplify $enable_{encoders,decoders} usage a bit. 10898 10899 configure.ac | 6 ++++-- 10900 1 file changed, 4 insertions(+), 2 deletions(-) 10901 10902commit af13781886c8e7a0aabebb5141ea282dc364f5c6 10903Author: Lasse Collin <lasse.collin@tukaani.org> 10904Date: 2015-11-03 20:31:31 +0200 10905 10906 Windows/MSVC: Update config.h. 10907 10908 windows/config.h | 6 ++++++ 10909 1 file changed, 6 insertions(+) 10910 10911commit 9fa5949330f162c5a2f6653f83025327837e8f39 10912Author: Lasse Collin <lasse.collin@tukaani.org> 10913Date: 2015-11-03 20:29:58 +0200 10914 10915 DOS: Update config.h. 10916 10917 dos/config.h | 6 ++++++ 10918 1 file changed, 6 insertions(+) 10919 10920commit cb3111e3ed84152912b5138d690c8d9f00c6ef02 10921Author: Lasse Collin <lasse.collin@tukaani.org> 10922Date: 2015-11-03 20:29:33 +0200 10923 10924 xz: Make xz buildable even when encoders or decoders are disabled. 10925 10926 The patch is quite long but it's mostly about adding new #ifdefs 10927 to omit code when encoders or decoders have been disabled. 10928 10929 This adds two new #defines to config.h: HAVE_ENCODERS and 10930 HAVE_DECODERS. 10931 10932 configure.ac | 4 ++++ 10933 src/xz/Makefile.am | 8 ++++++-- 10934 src/xz/args.c | 16 ++++++++++++++++ 10935 src/xz/coder.c | 33 +++++++++++++++++++++++++-------- 10936 src/xz/main.c | 9 +++++++-- 10937 src/xz/private.h | 5 ++++- 10938 6 files changed, 62 insertions(+), 13 deletions(-) 10939 10940commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab 10941Author: Lasse Collin <lasse.collin@tukaani.org> 10942Date: 2015-11-03 18:06:40 +0200 10943 10944 Build: Build LZMA1/2 presets also when only decoder is wanted. 10945 10946 People shouldn't rely on the presets when decoding raw streams, 10947 but xz uses the presets as the starting point for raw decoder 10948 options anyway. 10949 10950 lzma_encocder_presets.c was renamed to lzma_presets.c to 10951 make it clear it's not used solely by the encoder code. 10952 10953 src/liblzma/lzma/Makefile.inc | 6 +++++- 10954 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++- 10955 2 files changed, 7 insertions(+), 2 deletions(-) 10956 10957commit 23ed1d41489f632155bbc9660f323d57e09da180 10958Author: Lasse Collin <lasse.collin@tukaani.org> 10959Date: 2015-11-03 17:54:48 +0200 10960 10961 Build: Fix configure to handle LZMA1 dependency with LZMA2. 10962 10963 Now it gives an error if LZMA1 encoder/decoder is missing 10964 when LZMA2 encoder/decoder was requested. Even better would 10965 be LZMA2 implicitly enabling LZMA1 but it would need more code. 10966 10967 configure.ac | 5 ----- 10968 1 file changed, 5 deletions(-) 10969 10970commit b0bc3e03852af13419ea2960881824258d451117 10971Author: Lasse Collin <lasse.collin@tukaani.org> 10972Date: 2015-11-03 17:41:54 +0200 10973 10974 Build: Don't omit lzma_cputhreads() unless using --disable-threads. 10975 10976 Previously it was omitted if encoders were disabled 10977 with --disable-encoders. It didn't make sense and 10978 it also broke the build. 10979 10980 src/liblzma/common/Makefile.inc | 5 ++++- 10981 1 file changed, 4 insertions(+), 1 deletion(-) 10982 10983commit c6bf438ab39e0fb4a47d3c81725c227919502726 10984Author: Lasse Collin <lasse.collin@tukaani.org> 10985Date: 2015-11-02 18:16:51 +0200 10986 10987 liblzma: Fix a build failure related to external SHA-256 support. 10988 10989 If an appropriate header and structure were found by configure, 10990 but a library with a usable SHA-256 functions wasn't, the build 10991 failed. 10992 10993 src/liblzma/check/check.h | 32 +++++++++++++++++++++++--------- 10994 1 file changed, 23 insertions(+), 9 deletions(-) 10995 10996commit e18adc56f2262aa9394d46681e9e4b9981ed5e97 10997Author: Lasse Collin <lasse.collin@tukaani.org> 10998Date: 2015-11-02 15:19:10 +0200 10999 11000 xz: Always close the file before trying to delete it. 11001 11002 unlink() can return EBUSY in errno for open files on some 11003 operating systems and file systems. 11004 11005 src/xz/file_io.c | 25 ++++++++++++------------- 11006 1 file changed, 12 insertions(+), 13 deletions(-) 11007 11008commit 282e768a1484e88c8b7ec35655ee4959954ec87a 11009Author: Lasse Collin <lasse.collin@tukaani.org> 11010Date: 2015-10-12 21:08:42 +0300 11011 11012 Update THANKS. 11013 11014 THANKS | 1 + 11015 1 file changed, 1 insertion(+) 11016 11017commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0 11018Author: Lasse Collin <lasse.collin@tukaani.org> 11019Date: 2015-10-12 21:07:41 +0300 11020 11021 Tests: Add tests for the two bugs fixed in index.c. 11022 11023 tests/test_index.c | 30 ++++++++++++++++++++++++++++++ 11024 1 file changed, 30 insertions(+) 11025 11026commit 21515d79d778b8730a434f151b07202d52a04611 11027Author: Lasse Collin <lasse.collin@tukaani.org> 11028Date: 2015-10-12 20:45:15 +0300 11029 11030 liblzma: Fix lzma_index_dup() for empty Streams. 11031 11032 Stream Flags and Stream Padding weren't copied from 11033 empty Streams. 11034 11035 src/liblzma/common/index.c | 11 ++++++----- 11036 1 file changed, 6 insertions(+), 5 deletions(-) 11037 11038commit 09f395b6b360c0b13e8559eece1d179b908ebd3a 11039Author: Lasse Collin <lasse.collin@tukaani.org> 11040Date: 2015-10-12 20:31:44 +0300 11041 11042 liblzma: Add a note to index.c for those using static analyzers. 11043 11044 src/liblzma/common/index.c | 3 +++ 11045 1 file changed, 3 insertions(+) 11046 11047commit 3bf857edfef51374f6f3fffae3d817f57d3264a0 11048Author: Lasse Collin <lasse.collin@tukaani.org> 11049Date: 2015-10-12 20:29:09 +0300 11050 11051 liblzma: Fix a memory leak in error path of lzma_index_dup(). 11052 11053 lzma_index_dup() calls index_dup_stream() which, in case of 11054 an error, calls index_stream_end() to free memory allocated 11055 by index_stream_init(). However, it illogically didn't 11056 actually free the memory. To make it logical, the tree 11057 handling code was modified a bit in addition to changing 11058 index_stream_end(). 11059 11060 Thanks to Evan Nemerson for the bug report. 11061 11062 src/liblzma/common/index.c | 18 +++++++++--------- 11063 1 file changed, 9 insertions(+), 9 deletions(-) 11064 11065commit 7f05803979b4b79642d5be4218a79da7a0b12c47 11066Author: Lasse Collin <lasse.collin@tukaani.org> 11067Date: 2015-09-29 13:57:28 +0300 11068 11069 Update NEWS for 5.2.2. 11070 11071 NEWS | 18 ++++++++++++++++++ 11072 1 file changed, 18 insertions(+) 11073 11074commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1 11075Author: Hauke Henningsen <sqrt@entless.org> 11076Date: 2015-08-17 04:59:54 +0200 11077 11078 Update German translation, mostly wrt orthography 11079 11080 Provide an update of the German translation. 11081 * A lot of compound words were previously written with spaces, while 11082 German orthography is relatively clear in that the components 11083 should not be separated. 11084 * When referring to the actual process of (de)compression rather than the 11085 concept, replace “(De-)Kompression” with “(De-)Komprimierung”. 11086 Previously, both forms were used in this context and are now used in a 11087 manner consistent with “Komprimierung” being more likely to refer to 11088 a process. 11089 * Consistently translate “standard input”/“output” 11090 * Use “Zeichen” instead of false friend “Charakter” for “character” 11091 * Insert commas around relative clauses (as required in German) 11092 * Some other minor corrections 11093 * Capitalize “ß” as “ẞ” 11094 * Consistently start option descriptions in --help with capital letters 11095 11096 Acked-By: Andre Noll <maan@tuebingen.mpg.de> 11097 11098 * Update after msgmerge 11099 11100 po/de.po | 383 ++++++++++++++++++++++++++++++++------------------------------- 11101 1 file changed, 196 insertions(+), 187 deletions(-) 11102 11103commit cbc9e39bae715accb44168930a71888480aad569 11104Author: Lasse Collin <lasse.collin@tukaani.org> 11105Date: 2015-08-11 13:23:04 +0300 11106 11107 Build: Minor Cygwin cleanup. 11108 11109 Some tests used "cygwin*" and some used "cygwin". I changed 11110 them all to use "cygwin". Shouldn't affect anything in practice. 11111 11112 configure.ac | 6 +++--- 11113 1 file changed, 3 insertions(+), 3 deletions(-) 11114 11115commit bcacd8ce7a031566858e5e03c1009064c3f1c89e 11116Author: Lasse Collin <lasse.collin@tukaani.org> 11117Date: 2015-08-11 13:21:52 +0300 11118 11119 Build: Support building of MSYS2 binaries. 11120 11121 configure.ac | 16 +++++++++++----- 11122 1 file changed, 11 insertions(+), 5 deletions(-) 11123 11124commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c 11125Author: Lasse Collin <lasse.collin@tukaani.org> 11126Date: 2015-08-09 21:06:26 +0300 11127 11128 Windows: Define DLL_EXPORT when building liblzma.dll with MSVC. 11129 11130 src/liblzma/common/common.h uses it to set __declspec(dllexport) 11131 for the API symbols. 11132 11133 Thanks to Adam Walling. 11134 11135 windows/liblzma_dll.vcxproj | 12 ++++++------ 11136 1 file changed, 6 insertions(+), 6 deletions(-) 11137 11138commit a74525cf9b945fb0b370e64cf406104beb31729b 11139Author: Lasse Collin <lasse.collin@tukaani.org> 11140Date: 2015-08-09 21:02:20 +0300 11141 11142 Windows: Omit unneeded header files from MSVC project files. 11143 11144 windows/liblzma.vcxproj | 5 ----- 11145 windows/liblzma_dll.vcxproj | 5 ----- 11146 2 files changed, 10 deletions(-) 11147 11148commit fbbb295a91caf39faf8838c8c39526e4cb4dc121 11149Author: Lasse Collin <lasse.collin@tukaani.org> 11150Date: 2015-07-12 20:48:19 +0300 11151 11152 liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer. 11153 11154 src/liblzma/api/lzma.h | 18 +++++++++++++----- 11155 1 file changed, 13 insertions(+), 5 deletions(-) 11156 11157commit 713dbe5c230fe00865a54f5c32358ea30f9a1156 11158Author: Lasse Collin <lasse.collin@tukaani.org> 11159Date: 2015-06-19 20:38:55 +0300 11160 11161 Update THANKS. 11162 11163 THANKS | 2 ++ 11164 1 file changed, 2 insertions(+) 11165 11166commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1 11167Author: Lasse Collin <lasse.collin@tukaani.org> 11168Date: 2015-06-19 20:21:30 +0300 11169 11170 Windows: Update the docs. 11171 11172 INSTALL | 29 ++++++++----- 11173 windows/INSTALL-MSVC.txt | 47 ++++++++++++++++++++++ 11174 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} | 2 +- 11175 3 files changed, 67 insertions(+), 11 deletions(-) 11176 11177commit b0798c6aa6184efcefd0bdcca20f96121a13feda 11178Author: Lasse Collin <lasse.collin@tukaani.org> 11179Date: 2015-06-19 17:25:31 +0300 11180 11181 Windows: Add MSVC project files for building liblzma. 11182 11183 Thanks to Adam Walling for creating these files. 11184 11185 windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++ 11186 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++ 11187 windows/xz_win.sln | 48 ++++++ 11188 3 files changed, 795 insertions(+) 11189 11190commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7 11191Author: Andre Noll <maan@tuebingen.mpg.de> 11192Date: 2015-05-28 15:50:00 +0200 11193 11194 Fix typo in German translation. 11195 11196 As pointed out by Robert Pollak, there's a typo in the German 11197 translation of the compression preset option (-0 ... -9) help text. 11198 "The compressor" translates to "der Komprimierer", and the genitive 11199 form is "des Komprimierers". The old word makes no sense at all. 11200 11201 po/de.po | 2 +- 11202 1 file changed, 1 insertion(+), 1 deletion(-) 11203 11204commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72 11205Author: Lasse Collin <lasse.collin@tukaani.org> 11206Date: 2015-05-13 20:57:55 +0300 11207 11208 Tests: Fix a memory leak in test_bcj_exact_size. 11209 11210 Thanks to Cristian Rodríguez. 11211 11212 tests/test_bcj_exact_size.c | 1 + 11213 1 file changed, 1 insertion(+) 11214 11215commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8 11216Author: Lasse Collin <lasse.collin@tukaani.org> 11217Date: 2015-05-12 18:08:24 +0300 11218 11219 Fix NEWS about threading in 5.2.0. 11220 11221 Thanks to Andy Hochhaus. 11222 11223 NEWS | 3 ++- 11224 1 file changed, 2 insertions(+), 1 deletion(-) 11225 11226commit 49c26920d6e2d85e5c6123e34958aed2e77485ad 11227Author: Lasse Collin <lasse.collin@tukaani.org> 11228Date: 2015-05-11 21:26:16 +0300 11229 11230 xz: Document that threaded decompression hasn't been implemented yet. 11231 11232 src/xz/xz.1 | 10 +++++++++- 11233 1 file changed, 9 insertions(+), 1 deletion(-) 11234 11235commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256 11236Author: Lasse Collin <lasse.collin@tukaani.org> 11237Date: 2015-04-20 20:20:29 +0300 11238 11239 Update THANKS. 11240 11241 THANKS | 1 + 11242 1 file changed, 1 insertion(+) 11243 11244commit 6bd0349c58451b13442e8f463e35de83548bf985 11245Author: Lasse Collin <lasse.collin@tukaani.org> 11246Date: 2015-04-20 19:59:18 +0300 11247 11248 Revert "xz: Use pipe2() if available." 11249 11250 This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd. 11251 It is a problem when libc has pipe2() but the kernel is too 11252 old to have pipe2() and thus pipe2() fails. In xz it's pointless 11253 to have a fallback for non-functioning pipe2(); it's better to 11254 avoid pipe2() completely. 11255 11256 Thanks to Michael Fox for the bug report. 11257 11258 configure.ac | 4 ++-- 11259 src/xz/file_io.c | 9 +-------- 11260 2 files changed, 3 insertions(+), 10 deletions(-) 11261 11262commit fc0df0f8db87dff45543708a711e17d29c37f632 11263Author: Lasse Collin <lasse.collin@tukaani.org> 11264Date: 2015-04-01 14:45:25 +0300 11265 11266 xz: Fix the Capsicum rights on user_abort_pipe. 11267 11268 src/xz/file_io.c | 6 +++++- 11269 1 file changed, 5 insertions(+), 1 deletion(-) 11270 11271commit 57393615b31b3788dd77280452d845bcc12d33af 11272Author: Lasse Collin <lasse.collin@tukaani.org> 11273Date: 2015-03-31 22:20:11 +0300 11274 11275 Update THANKS. 11276 11277 THANKS | 1 + 11278 1 file changed, 1 insertion(+) 11279 11280commit 1238381143a9a7ce84839c2582ccd56ff750a440 11281Author: Lasse Collin <lasse.collin@tukaani.org> 11282Date: 2015-03-31 22:19:34 +0300 11283 11284 xz: Add support for sandboxing with Capsicum. 11285 11286 The sandboxing is used conditionally as described in main.c. 11287 This isn't optimal but it was much easier to implement than 11288 a full sandboxing solution and it still covers the most common 11289 use cases where xz is writing to standard output. This should 11290 have practically no effect on performance even with small files 11291 as fork() isn't needed. 11292 11293 C and locale libraries can open files as needed. This has been 11294 fine in the past, but it's a problem with things like Capsicum. 11295 io_sandbox_enter() tries to ensure that various locale-related 11296 files have been loaded before cap_enter() is called, but it's 11297 possible that there are other similar problems which haven't 11298 been seen yet. 11299 11300 Currently Capsicum is available on FreeBSD 10 and later 11301 and there is a port to Linux too. 11302 11303 Thanks to Loganaden Velvindron for help. 11304 11305 configure.ac | 41 +++++++++++++++++++++++++++ 11306 src/xz/Makefile.am | 2 +- 11307 src/xz/file_io.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11308 src/xz/file_io.h | 6 ++++ 11309 src/xz/main.c | 18 ++++++++++++ 11310 src/xz/private.h | 4 +++ 11311 6 files changed, 151 insertions(+), 1 deletion(-) 11312 11313commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e 11314Author: Lasse Collin <lasse.collin@tukaani.org> 11315Date: 2015-03-31 21:12:30 +0300 11316 11317 Fix bugs and otherwise improve ax_check_capsicum.m4. 11318 11319 AU_ALIAS was removed because the new version is incompatible 11320 with the old version. 11321 11322 It no longer checks for <sys/capability.h> separately. 11323 It's enough to test for it as part of AC_CHECK_DECL. 11324 The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and 11325 HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded. 11326 HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough. 11327 11328 It no longer does a useless search for the Capsicum library 11329 if the header wasn't found. 11330 11331 Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying 11332 the argument omitted the default action but the given action 11333 wasn't used instead. 11334 11335 AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum 11336 support is found. Previously it was part of the default 11337 ACTION-IF-FOUND which a custom action would override. Now 11338 the default action only prepends ${CAPSICUM_LIB} to LIBS. 11339 11340 The documentation was updated. 11341 11342 Since there as no serial number, "#serial 2" was added. 11343 11344 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------ 11345 1 file changed, 51 insertions(+), 52 deletions(-) 11346 11347commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac 11348Author: Lasse Collin <lasse.collin@tukaani.org> 11349Date: 2015-03-31 19:20:24 +0300 11350 11351 Add m4/ax_check_capsicum.m4 for detecting Capsicum support. 11352 11353 The file was loaded from this web page: 11354 https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4 11355 11356 Thanks to Loganaden Velvindron for pointing it out for me. 11357 11358 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 11359 1 file changed, 86 insertions(+) 11360 11361commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e 11362Author: Lasse Collin <lasse.collin@tukaani.org> 11363Date: 2015-03-30 22:44:02 +0300 11364 11365 Bump version to 5.3.0alpha and soname to 5.3.99. 11366 11367 The idea of 99 is that it looks a bit weird in this context. 11368 For new features there's no API/ABI stability in devel versions. 11369 11370 src/liblzma/Makefile.am | 2 +- 11371 src/liblzma/api/lzma/version.h | 6 +++--- 11372 2 files changed, 4 insertions(+), 4 deletions(-) 11373 11374commit eccd8155e107c5ada03d13e7730675cdf1a44ddc 11375Author: Lasse Collin <lasse.collin@tukaani.org> 11376Date: 2015-03-29 22:14:47 +0300 11377 11378 Update THANKS. 11379 11380 THANKS | 1 + 11381 1 file changed, 1 insertion(+) 11382 11383commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00 11384Author: Lasse Collin <lasse.collin@tukaani.org> 11385Date: 2015-03-29 22:13:48 +0300 11386 11387 Fix the detection of installed RAM on QNX. 11388 11389 The earlier version compiled but didn't actually work 11390 since sysconf(_SC_PHYS_PAGES) always fails (or so I was told). 11391 11392 Thanks to Ole André Vadla Ravnås for the patch and testing. 11393 11394 m4/tuklib_physmem.m4 | 6 +++--- 11395 src/common/tuklib_physmem.c | 14 +++++++++++++- 11396 2 files changed, 16 insertions(+), 4 deletions(-) 11397 11398commit 4c544d2410903d38402221cb783ed85585b6a007 11399Author: Lasse Collin <lasse.collin@tukaani.org> 11400Date: 2015-03-27 22:39:07 +0200 11401 11402 Fix CPU core count detection on QNX. 11403 11404 It tried to use sysctl() on QNX but 11405 - it broke the build because sysctl() needs -lsocket on QNX; 11406 - sysctl() doesn't work for detecting the core count on QNX 11407 even if it compiled. 11408 11409 sysconf() works. An alternative would have been to use 11410 QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>. 11411 11412 Thanks to Ole André Vadla Ravnås. 11413 11414 m4/tuklib_cpucores.m4 | 15 +++++++++++---- 11415 1 file changed, 11 insertions(+), 4 deletions(-) 11416 11417commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3 11418Author: Lasse Collin <lasse.collin@tukaani.org> 11419Date: 2015-03-07 22:05:57 +0200 11420 11421 xz: size_t/uint32_t cleanup in options.c. 11422 11423 src/xz/options.c | 12 ++++++------ 11424 1 file changed, 6 insertions(+), 6 deletions(-) 11425 11426commit 8bcca29a65335fd679c13814b70b35b68fa5daed 11427Author: Lasse Collin <lasse.collin@tukaani.org> 11428Date: 2015-03-07 22:04:23 +0200 11429 11430 xz: Fix a comment and silence a warning in message.c. 11431 11432 src/xz/message.c | 5 +++-- 11433 1 file changed, 3 insertions(+), 2 deletions(-) 11434 11435commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b 11436Author: Lasse Collin <lasse.collin@tukaani.org> 11437Date: 2015-03-07 22:01:00 +0200 11438 11439 liblzma: Silence more uint32_t vs. size_t warnings. 11440 11441 src/liblzma/lz/lz_encoder.c | 2 +- 11442 src/liblzma/lzma/lzma_encoder.c | 2 +- 11443 2 files changed, 2 insertions(+), 2 deletions(-) 11444 11445commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34 11446Author: Lasse Collin <lasse.collin@tukaani.org> 11447Date: 2015-03-07 19:54:00 +0200 11448 11449 xz: Make arg_count an unsigned int to silence a warning. 11450 11451 Actually the value of arg_count cannot exceed INT_MAX 11452 but it's nicer as an unsigned int. 11453 11454 src/xz/args.h | 2 +- 11455 src/xz/main.c | 2 +- 11456 2 files changed, 2 insertions(+), 2 deletions(-) 11457 11458commit f6ec46801588b1be29c07c9db98558b521304002 11459Author: Lasse Collin <lasse.collin@tukaani.org> 11460Date: 2015-03-07 19:33:17 +0200 11461 11462 liblzma: Fix a warning in index.c. 11463 11464 src/liblzma/common/index.c | 4 +++- 11465 1 file changed, 3 insertions(+), 1 deletion(-) 11466 11467commit a24518971cc621315af142dd3bb7614fab04ad27 11468Author: Lasse Collin <lasse.collin@tukaani.org> 11469Date: 2015-02-26 20:46:14 +0200 11470 11471 Build: Fix a CR+LF problem when running autoreconf -fi on OS/2. 11472 11473 build-aux/version.sh | 2 +- 11474 1 file changed, 1 insertion(+), 1 deletion(-) 11475 11476commit dec11497a71518423b5ff0e759100cf8aadf6c7b 11477Author: Lasse Collin <lasse.collin@tukaani.org> 11478Date: 2015-02-26 16:53:44 +0200 11479 11480 Bump version and soname for 5.2.1. 11481 11482 src/liblzma/Makefile.am | 2 +- 11483 src/liblzma/api/lzma/version.h | 2 +- 11484 2 files changed, 2 insertions(+), 2 deletions(-) 11485 11486commit 29e39c79975ab89ee5dd671e97064534a9f3a649 11487Author: Lasse Collin <lasse.collin@tukaani.org> 11488Date: 2015-02-26 13:01:09 +0200 11489 11490 Update NEWS for 5.2.1. 11491 11492 NEWS | 14 ++++++++++++++ 11493 1 file changed, 14 insertions(+) 11494 11495commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd 11496Author: Lasse Collin <lasse.collin@tukaani.org> 11497Date: 2015-02-22 19:38:48 +0200 11498 11499 xz: Use pipe2() if available. 11500 11501 configure.ac | 4 ++-- 11502 src/xz/file_io.c | 9 ++++++++- 11503 2 files changed, 10 insertions(+), 3 deletions(-) 11504 11505commit 117d962685c72682c63edc9bb765367189800202 11506Author: Lasse Collin <lasse.collin@tukaani.org> 11507Date: 2015-02-21 23:40:26 +0200 11508 11509 liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode. 11510 11511 The bug was added in the commit 11512 f48fce093b07aeda95c18850f5e086d9f2383380 and thus 11513 affected 5.1.4beta and 5.2.0. Luckily the bug cannot 11514 cause data corruption or other nasty things. 11515 11516 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +- 11517 1 file changed, 1 insertion(+), 1 deletion(-) 11518 11519commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719 11520Author: Lasse Collin <lasse.collin@tukaani.org> 11521Date: 2015-02-21 23:00:19 +0200 11522 11523 xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick. 11524 11525 Now it reads the old flags instead of blindly setting O_NONBLOCK. 11526 The old code may have worked correctly, but this is better. 11527 11528 src/xz/file_io.c | 16 +++++++++++----- 11529 1 file changed, 11 insertions(+), 5 deletions(-) 11530 11531commit 2205bb5853098aea36a56df6f5747037175f66b4 11532Author: Lasse Collin <lasse.collin@tukaani.org> 11533Date: 2015-02-10 15:29:34 +0200 11534 11535 Update THANKS. 11536 11537 THANKS | 1 + 11538 1 file changed, 1 insertion(+) 11539 11540commit d935b0cdf3db440269b9d952b2b281b18f8c7b08 11541Author: Lasse Collin <lasse.collin@tukaani.org> 11542Date: 2015-02-10 15:28:30 +0200 11543 11544 tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available. 11545 11546 In FreeBSD, cpuset_getaffinity() is the preferred way to get 11547 the number of available cores. 11548 11549 Thanks to Rui Paulo for the patch. I edited it slightly, but 11550 hopefully I didn't break anything. 11551 11552 m4/tuklib_cpucores.m4 | 23 ++++++++++++++++++++++- 11553 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++ 11554 2 files changed, 40 insertions(+), 1 deletion(-) 11555 11556commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560 11557Author: Lasse Collin <lasse.collin@tukaani.org> 11558Date: 2015-02-09 22:08:37 +0200 11559 11560 xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp. 11561 11562 Thanks to Rui Paulo for the fix. 11563 11564 src/scripts/xzdiff.in | 7 ++++++- 11565 1 file changed, 6 insertions(+), 1 deletion(-) 11566 11567commit b9a5b6b7a29029680af733082b6a46e0fc01623a 11568Author: Lasse Collin <lasse.collin@tukaani.org> 11569Date: 2015-02-03 21:45:53 +0200 11570 11571 Add a few casts to tuklib_integer.h to silence possible warnings. 11572 11573 I heard that Visual Studio 2013 gave warnings without the casts. 11574 11575 Thanks to Gabi Davar. 11576 11577 src/common/tuklib_integer.h | 24 ++++++++++++------------ 11578 1 file changed, 12 insertions(+), 12 deletions(-) 11579 11580commit c45757135f40e4a0de730ba5fff0100219493982 11581Author: Lasse Collin <lasse.collin@tukaani.org> 11582Date: 2015-01-26 21:24:39 +0200 11583 11584 liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method. 11585 11586 src/liblzma/common/memcmplen.h | 15 ++++++++++----- 11587 1 file changed, 10 insertions(+), 5 deletions(-) 11588 11589commit 3c500174ed5485f550972a2a6109c361e875f069 11590Author: Lasse Collin <lasse.collin@tukaani.org> 11591Date: 2015-01-26 20:40:16 +0200 11592 11593 Update THANKS. 11594 11595 THANKS | 1 + 11596 1 file changed, 1 insertion(+) 11597 11598commit fec88d41e672d9e197c9442aecf02bd0dfa6d516 11599Author: Lasse Collin <lasse.collin@tukaani.org> 11600Date: 2015-01-26 20:39:28 +0200 11601 11602 liblzma: Silence harmless Valgrind errors. 11603 11604 Thanks to Torsten Rupp for reporting this. I had 11605 forgotten to run Valgrind before the 5.2.0 release. 11606 11607 src/liblzma/lz/lz_encoder.c | 6 ++++++ 11608 1 file changed, 6 insertions(+) 11609 11610commit a9b45badfec0928d20a27c7176c005fa637f7d1e 11611Author: Lasse Collin <lasse.collin@tukaani.org> 11612Date: 2015-01-09 21:50:19 +0200 11613 11614 xz: Fix comments. 11615 11616 src/xz/file_io.c | 12 ++++++++---- 11617 1 file changed, 8 insertions(+), 4 deletions(-) 11618 11619commit 541aee6dd4aa97a809aba281475a21b641bb89e2 11620Author: Lasse Collin <lasse.collin@tukaani.org> 11621Date: 2015-01-09 21:35:06 +0200 11622 11623 Update THANKS. 11624 11625 THANKS | 1 + 11626 1 file changed, 1 insertion(+) 11627 11628commit 4170edc914655310d2363baccf5e615e09b04911 11629Author: Lasse Collin <lasse.collin@tukaani.org> 11630Date: 2015-01-09 21:34:06 +0200 11631 11632 xz: Don't fail if stdout doesn't support O_NONBLOCK. 11633 11634 This is similar to the case with stdin. 11635 11636 Thanks to Brad Smith for the bug report and testing 11637 on OpenBSD. 11638 11639 src/xz/file_io.c | 36 +++++++++++++++--------------------- 11640 1 file changed, 15 insertions(+), 21 deletions(-) 11641 11642commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d 11643Author: Lasse Collin <lasse.collin@tukaani.org> 11644Date: 2015-01-07 19:18:20 +0200 11645 11646 xz: Fix a memory leak in DOS-specific code. 11647 11648 src/xz/file_io.c | 2 ++ 11649 1 file changed, 2 insertions(+) 11650 11651commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea 11652Author: Lasse Collin <lasse.collin@tukaani.org> 11653Date: 2015-01-07 19:08:06 +0200 11654 11655 xz: Don't fail if stdin doesn't support O_NONBLOCK. 11656 11657 It's a problem at least on OpenBSD which doesn't support 11658 O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's 11659 a problem on other OSes too since this behavior is allowed 11660 in POSIX-1.2008. 11661 11662 The code relying on this behavior was committed in June 2013 11663 and included in 5.1.3alpha released on 2013-10-26. Clearly 11664 the development releases only get limited testing. 11665 11666 src/xz/file_io.c | 18 +++++++----------- 11667 1 file changed, 7 insertions(+), 11 deletions(-) 11668 11669commit d2d484647d9d9d679f03c75abb0404f67069271c 11670Author: Lasse Collin <lasse.collin@tukaani.org> 11671Date: 2015-01-06 20:30:15 +0200 11672 11673 Tests: Don't hide unexpected error messages in test_files.sh. 11674 11675 Hiding them makes no sense since normally there's no error 11676 when testing the "good" files. With "bad" files errors are 11677 expected and then it makes sense to keep the messages hidden. 11678 11679 tests/test_files.sh | 4 ++-- 11680 1 file changed, 2 insertions(+), 2 deletions(-) 11681 11682commit aae6a6aeda51cf94a47e39ad624728f9bee75e30 11683Author: Lasse Collin <lasse.collin@tukaani.org> 11684Date: 2014-12-30 11:17:16 +0200 11685 11686 Update Solaris notes in INSTALL. 11687 11688 Mention the possible "make check" failure on Solaris in the 11689 Solaris-specific section of INSTALL. It was already in 11690 section 4.5 but it is better mention it in the OS-specific 11691 section too. 11692 11693 INSTALL | 4 ++++ 11694 1 file changed, 4 insertions(+) 11695 11696commit 7815112153178800a3521b9f31960e7cdc26cfba 11697Author: Lasse Collin <lasse.collin@tukaani.org> 11698Date: 2014-12-26 12:00:05 +0200 11699 11700 Build: POSIX shell isn't required if scripts are disabled. 11701 11702 INSTALL | 3 ++- 11703 configure.ac | 2 +- 11704 2 files changed, 3 insertions(+), 2 deletions(-) 11705 11706commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a 11707Author: Lasse Collin <lasse.collin@tukaani.org> 11708Date: 2014-12-21 20:48:37 +0200 11709 11710 DOS: Update Makefile. 11711 11712 dos/Makefile | 1 + 11713 1 file changed, 1 insertion(+) 11714 11715commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e 11716Author: Lasse Collin <lasse.collin@tukaani.org> 11717Date: 2014-12-21 19:50:38 +0200 11718 11719 Windows: Fix bin_i486 to bin_i686 in build.bash. 11720 11721 windows/build.bash | 2 +- 11722 1 file changed, 1 insertion(+), 1 deletion(-) 11723 11724commit cbafa710918195dbba3db02c3fab4f0538235206 11725Author: Lasse Collin <lasse.collin@tukaani.org> 11726Date: 2014-12-21 18:58:44 +0200 11727 11728 Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c. 11729 11730 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++---- 11731 1 file changed, 26 insertions(+), 4 deletions(-) 11732 11733commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a 11734Author: Lasse Collin <lasse.collin@tukaani.org> 11735Date: 2014-12-21 18:56:44 +0200 11736 11737 Docs: Update docs/examples/00_README.txt. 11738 11739 doc/examples/00_README.txt | 4 ++++ 11740 1 file changed, 4 insertions(+) 11741 11742commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6 11743Author: Lasse Collin <lasse.collin@tukaani.org> 11744Date: 2014-12-21 18:11:17 +0200 11745 11746 Bump version and soname for 5.2.0. 11747 11748 I know that soname != app version, but I skip AGE=1 11749 in -version-info to make the soname match the liblzma 11750 version anyway. It doesn't hurt anything as long as 11751 it doesn't conflict with library versioning rules. 11752 11753 src/liblzma/Makefile.am | 2 +- 11754 src/liblzma/api/lzma/version.h | 6 +++--- 11755 src/liblzma/liblzma.map | 2 +- 11756 3 files changed, 5 insertions(+), 5 deletions(-) 11757