1commit c1e396a9ac1c1c28ce4ede5cbadb955c516477bc 2Author: Jia Tan <jiat0218@gmail.com> 3Date: 2023-08-02 20:32:20 +0800 4 5 Bump version and soname for 5.4.4. 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 7d266d25ae323a2dc5f2e254c991ef84b997adad 12Author: Jia Tan <jiat0218@gmail.com> 13Date: 2023-08-02 20:30:07 +0800 14 15 Add NEWS for 5.4.4. 16 17 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 18 1 file changed, 43 insertions(+) 19 20commit 6a1093c0004c42eeaef312456c295671496dd67a 21Author: Lasse Collin <lasse.collin@tukaani.org> 22Date: 2023-08-02 15:19:43 +0300 23 24 build-aux/manconv.sh: Fix US-ASCII and UTF-8 output. 25 26 groff defaults to SGR escapes. Using -P-c passes -c to grotty 27 which restores the old behavior. Perhaps there is a better way to 28 get pure plain text output but this works for now. 29 30 build-aux/manconv.sh | 4 ++-- 31 1 file changed, 2 insertions(+), 2 deletions(-) 32 33commit f6f9f5651a7e2d89f588981533155ab850e063f7 34Author: Lasse Collin <lasse.collin@tukaani.org> 35Date: 2023-08-01 19:10:43 +0300 36 37 Update THANKS. 38 39 THANKS | 1 + 40 1 file changed, 1 insertion(+) 41 42commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb 43Author: Lasse Collin <lasse.collin@tukaani.org> 44Date: 2023-08-01 18:22:24 +0300 45 46 Update THANKS. 47 48 THANKS | 1 + 49 1 file changed, 1 insertion(+) 50 51commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef 52Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com> 53Date: 2023-08-01 18:17:17 +0300 54 55 mythread.h: Disable signal functions in builds targeting Wasm + WASI. 56 57 signal.h in WASI SDK doesn't currently provide sigprocmask() 58 or sigset_t. liblzma doesn't need them so this change makes 59 liblzma and xzdec build against WASI SDK. xz doesn't build yet 60 and the tests don't either as tuktest needs setjmp() which 61 isn't (yet?) implemented in WASI SDK. 62 63 Closes: https://github.com/tukaani-project/xz/pull/57 64 See also: https://github.com/tukaani-project/xz/pull/56 65 66 (The original commit was edited a little by Lasse Collin.) 67 68 src/common/mythread.h | 2 +- 69 1 file changed, 1 insertion(+), 1 deletion(-) 70 71commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26 72Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> 73Date: 2023-07-31 14:02:21 +0200 74 75 Docs: Fix typos found by codespell 76 77 CMakeLists.txt | 4 ++-- 78 NEWS | 2 +- 79 configure.ac | 2 +- 80 src/liblzma/api/lzma/container.h | 4 ++-- 81 src/liblzma/api/lzma/filter.h | 2 +- 82 src/liblzma/api/lzma/lzma12.h | 4 ++-- 83 src/liblzma/common/block_buffer_encoder.c | 2 +- 84 src/liblzma/common/common.h | 2 +- 85 src/liblzma/common/file_info.c | 2 +- 86 src/liblzma/common/lzip_decoder.c | 2 +- 87 src/liblzma/common/stream_decoder_mt.c | 8 ++++---- 88 src/liblzma/common/string_conversion.c | 6 +++--- 89 src/liblzma/lz/lz_encoder.h | 2 +- 90 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 91 src/xz/hardware.c | 4 ++-- 92 tests/test_filter_flags.c | 4 ++-- 93 tests/test_index.c | 2 +- 94 tests/test_vli.c | 2 +- 95 18 files changed, 29 insertions(+), 29 deletions(-) 96 97commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3 98Author: Jia Tan <jiat0218@gmail.com> 99Date: 2023-07-26 20:26:23 +0800 100 101 Update .gitignore. 102 103 .gitignore | 4 ++++ 104 1 file changed, 4 insertions(+) 105 106commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5 107Author: Jia Tan <jiat0218@gmail.com> 108Date: 2023-07-28 22:03:08 +0800 109 110 CMake: Conditionally allow the creation of broken symlinks. 111 112 The CMake build will try to create broken symlinks on Unix and Unix-like 113 platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create 114 broken symlinks. The value of the CYGWIN or MSYS environment variables 115 determine if broken symlinks are valid. 116 117 The default for MSYS2 does not allow for broken symlinks, so the CMake 118 build has been broken for MSYS2 since commit 119 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 120 121 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 122 1 file changed, 75 insertions(+), 7 deletions(-) 123 124commit 19899340cf74d98304f9f5b726c72e85c7017d72 125Author: Jia Tan <jiat0218@gmail.com> 126Date: 2023-07-24 21:43:44 +0800 127 128 liblzma: Prevent an empty translation unit in Windows builds. 129 130 To workaround Automake lacking Windows resource compiler support, an 131 empty source file is compiled to overwrite the resource files for static 132 library builds. Translation units without an external declaration are 133 not allowed by the C standard and result in a warning when used with 134 -Wempty-translation-unit (Clang) or -pedantic (GCC). 135 136 src/liblzma/Makefile.am | 6 +++++- 137 1 file changed, 5 insertions(+), 1 deletion(-) 138 139commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc 140Author: Jia Tan <jiat0218@gmail.com> 141Date: 2023-07-21 18:05:44 +0800 142 143 Tests: Skip .lz files in test_files.sh if not configured. 144 145 Previously if the lzip decoder was not configured then test_files.sh 146 would pass the lzip tests instead of skipping them. 147 148 tests/test_files.sh | 2 +- 149 1 file changed, 1 insertion(+), 1 deletion(-) 150 151commit e49815ba7aa610b72e8724025eceee23c27e7b23 152Author: Jia Tan <jiat0218@gmail.com> 153Date: 2023-07-20 22:11:13 +0800 154 155 Tests: Add ARM64 filter test to test_compress.sh. 156 157 tests/test_compress.sh | 1 + 158 1 file changed, 1 insertion(+) 159 160commit db5b57b827c2b084586c51da1b8a3ab0984bdb40 161Author: Jia Tan <jiat0218@gmail.com> 162Date: 2023-07-22 18:37:56 +0800 163 164 Translations: Update the Vietnamese translation. 165 166 po/vi.po | 45 ++++++++++++++++++++++++++++----------------- 167 1 file changed, 28 insertions(+), 17 deletions(-) 168 169commit e6ba5014081c98cb068253b3e5f9e372dd157f3c 170Author: Jia Tan <jiat0218@gmail.com> 171Date: 2023-07-20 20:30:05 +0800 172 173 Translations: Update the Croatian translation. 174 175 po/hr.po | 49 ++++++++++++++++++++++++++++++------------------- 176 1 file changed, 30 insertions(+), 19 deletions(-) 177 178commit 82657a1f10a25050a3e9c246c41deb785cccba3a 179Author: Jia Tan <jiat0218@gmail.com> 180Date: 2023-07-20 20:28:32 +0800 181 182 Translations: Update the Korean man page translations. 183 184 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 185 1 file changed, 629 insertions(+), 626 deletions(-) 186 187commit fab35907d13efbe7c457e00a310123335d7bae3e 188Author: Jia Tan <jiat0218@gmail.com> 189Date: 2023-07-20 20:25:24 +0800 190 191 Translations: Update the Korean translation. 192 193 po/ko.po | 45 ++++++++++++++++++++++++++++----------------- 194 1 file changed, 28 insertions(+), 17 deletions(-) 195 196commit f530fe1964c34797fa3b775ec5804d68007c1579 197Author: Jia Tan <jiat0218@gmail.com> 198Date: 2023-07-20 20:24:05 +0800 199 200 Translations: Update the Polish translation. 201 202 po/pl.po | 47 +++++++++++++++++++++++++++++------------------ 203 1 file changed, 29 insertions(+), 18 deletions(-) 204 205commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b 206Author: Jia Tan <jiat0218@gmail.com> 207Date: 2023-07-20 20:22:23 +0800 208 209 Translations: Update the German man page translations. 210 211 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 212 1 file changed, 629 insertions(+), 626 deletions(-) 213 214commit 3d14e8a34dba176f975326924ae28a3ab5fee165 215Author: Jia Tan <jiat0218@gmail.com> 216Date: 2023-07-20 20:18:44 +0800 217 218 Translations: Update the German translation. 219 220 po/de.po | 47 +++++++++++++++++++++++++++++------------------ 221 1 file changed, 29 insertions(+), 18 deletions(-) 222 223commit bdcc180a2da15039c47455c1cafd1ce9aff442e4 224Author: Jia Tan <jiat0218@gmail.com> 225Date: 2023-07-20 20:17:10 +0800 226 227 Translations: Update the Chinese (simplified) translation. 228 229 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------ 230 1 file changed, 29 insertions(+), 18 deletions(-) 231 232commit 844240350d33cb46ba8827b74dc8758e2abed9e5 233Author: Jia Tan <jiat0218@gmail.com> 234Date: 2023-07-20 20:15:47 +0800 235 236 Translations: Update the Swedish translation. 237 238 po/sv.po | 47 +++++++++++++++++++++++++++++------------------ 239 1 file changed, 29 insertions(+), 18 deletions(-) 240 241commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc 242Author: Jia Tan <jiat0218@gmail.com> 243Date: 2023-07-20 20:14:00 +0800 244 245 Translations: Update the Ukrainian man page translations. 246 247 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------ 248 1 file changed, 628 insertions(+), 625 deletions(-) 249 250commit 143396e070c8d8afb56e3a5f688b214222cf71e0 251Author: Jia Tan <jiat0218@gmail.com> 252Date: 2023-07-20 20:09:15 +0800 253 254 Translations: Update the Ukrainian translation. 255 256 po/uk.po | 45 ++++++++++++++++++++++++++++----------------- 257 1 file changed, 28 insertions(+), 17 deletions(-) 258 259commit 1b8146d64eaac51b40079f5788b85c1eb79e35de 260Author: Jia Tan <jiat0218@gmail.com> 261Date: 2023-07-20 20:06:57 +0800 262 263 Translations: Update the Spanish translation. 264 265 po/es.po | 47 +++++++++++++++++++++++++++++------------------ 266 1 file changed, 29 insertions(+), 18 deletions(-) 267 268commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697 269Author: Jia Tan <jiat0218@gmail.com> 270Date: 2023-07-20 20:05:19 +0800 271 272 Translations: Update the Romanian translation. 273 274 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------ 275 1 file changed, 30 insertions(+), 18 deletions(-) 276 277commit f681301a368def3f597a7c7bea7cb3f7a2f933e7 278Author: Jia Tan <jiat0218@gmail.com> 279Date: 2023-07-20 20:02:56 +0800 280 281 Translations: Update the Romanian man page translations. 282 283 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------ 284 1 file changed, 629 insertions(+), 625 deletions(-) 285 286commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f 287Author: Jia Tan <jiat0218@gmail.com> 288Date: 2023-07-13 21:26:47 +0800 289 290 xz: Update man page Authors and date. 291 292 src/xz/xz.1 | 5 +++-- 293 1 file changed, 3 insertions(+), 2 deletions(-) 294 295commit c2905540ef905412b54c76488758712d3e2a0f9d 296Author: Jia Tan <jiat0218@gmail.com> 297Date: 2023-07-18 23:19:09 +0800 298 299 xz: Slight reword in xz man page for consistency. 300 301 Changed will print => prints in xz --robot --version description to 302 match --robot --info-memory description. 303 304 src/xz/xz.1 | 2 +- 305 1 file changed, 1 insertion(+), 1 deletion(-) 306 307commit 2600d3352449faf57d9cb3fa00cbe40548a1310f 308Author: Jia Tan <jiat0218@gmail.com> 309Date: 2023-07-18 22:49:57 +0800 310 311 liblzma: Improve comment in string_conversion.c. 312 313 The comment used "flag" when referring to decoder options. Just 314 referring to them as options is more clear and consistent. 315 316 src/liblzma/common/string_conversion.c | 4 ++-- 317 1 file changed, 2 insertions(+), 2 deletions(-) 318 319commit 98fc14541eec3e1dcf694075c8533f19a3cee552 320Author: Jia Tan <jiat0218@gmail.com> 321Date: 2023-05-13 21:21:54 +0800 322 323 liblzma: Reword lzma_str_list_filters() documentation. 324 325 Reword "options required" to "options read". The previous wording 326 may have suggested that the options listed were all required when 327 the filters are used for encoding or decoding. Now it should be 328 more clear that the options listed are the ones relevant for 329 encoding or decoding. 330 331 src/liblzma/api/lzma/filter.h | 2 +- 332 1 file changed, 1 insertion(+), 1 deletion(-) 333 334commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01 335Author: Lasse Collin <lasse.collin@tukaani.org> 336Date: 2023-07-18 17:37:33 +0300 337 338 xz: Translate the second "%s: " in message.c since French needs "%s : ". 339 340 This string is used to print a filename when using "xz -v" and 341 stderr isn't a terminal. 342 343 src/xz/message.c | 2 +- 344 1 file changed, 1 insertion(+), 1 deletion(-) 345 346commit 97851be2c6c64494f23c3a735601c13d4387820b 347Author: Lasse Collin <lasse.collin@tukaani.org> 348Date: 2023-07-18 14:35:33 +0300 349 350 xz: Make "%s: %s" translatable because French needs "%s : %s". 351 352 src/xz/args.c | 5 ++++- 353 src/xz/coder.c | 8 ++++---- 354 src/xz/file_io.c | 8 ++++---- 355 src/xz/list.c | 11 ++++++----- 356 4 files changed, 18 insertions(+), 14 deletions(-) 357 358commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62 359Author: Lasse Collin <lasse.collin@tukaani.org> 360Date: 2023-07-18 13:57:54 +0300 361 362 liblzma: Tweak #if condition in memcmplen.h. 363 364 Maybe ICC always #defines _MSC_VER on Windows but now 365 it's very clear which code will get used. 366 367 src/liblzma/common/memcmplen.h | 4 ++-- 368 1 file changed, 2 insertions(+), 2 deletions(-) 369 370commit ef4a07ad9434f81417395f6fe0bb331e027a703b 371Author: Lasse Collin <lasse.collin@tukaani.org> 372Date: 2023-07-18 13:49:43 +0300 373 374 liblzma: Omit unnecessary parenthesis in a preprocessor directive. 375 376 src/liblzma/common/memcmplen.h | 4 ++-- 377 1 file changed, 2 insertions(+), 2 deletions(-) 378 379commit 64ee0caaea06654b28afaee850fb187a11bf9cb2 380Author: Jia Tan <jiat0218@gmail.com> 381Date: 2023-06-28 20:22:38 +0800 382 383 liblzma: Prevent warning for MSYS2 Windows build. 384 385 In lzma_memcmplen(), the <intrin.h> header file is only included if 386 _MSC_VER and _M_X64 are both defined but _BitScanForward64() was 387 previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but 388 not _MSC_VER so _BitScanForward64() was used without including 389 <intrin.h>. 390 391 Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as 392 expected. 393 394 src/liblzma/common/memcmplen.h | 6 ++++-- 395 1 file changed, 4 insertions(+), 2 deletions(-) 396 397commit ba177057643dae6e9c167ee26471181c199c8a00 398Author: Jia Tan <jiat0218@gmail.com> 399Date: 2023-07-14 23:20:33 +0800 400 401 Docs: Add a new section to INSTALL for Tests. 402 403 The new Tests section describes basic information about the tests, how 404 to run them, and important details when cross compiling. We have had a 405 few questions about how to compile the tests without running them, so 406 hopefully this information will help others with the same question in the 407 future. 408 409 Fixes: https://github.com/tukaani-project/xz/issues/54 410 411 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 412 1 file changed, 64 insertions(+), 17 deletions(-) 413 414commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f 415Author: Jia Tan <jiat0218@gmail.com> 416Date: 2023-07-14 21:10:27 +0800 417 418 Docs: Update README. 419 420 This adds an entry to "Other implementations of the .xz format" for 421 XZ for Java. 422 423 README | 4 ++++ 424 1 file changed, 4 insertions(+) 425 426commit c972d44103c4edf88e73917ef08bde69db9d06cb 427Author: Jia Tan <jiat0218@gmail.com> 428Date: 2023-07-18 13:27:46 +0300 429 430 xz: Fix typo in man page. 431 432 The Memory limit information section described three output 433 columns when it actually has six. This was reworded to 434 "multiple" to make it more future proof. 435 436 src/xz/xz.1 | 2 +- 437 1 file changed, 1 insertion(+), 1 deletion(-) 438 439commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283 440Author: Jia Tan <jiat0218@gmail.com> 441Date: 2023-07-14 21:30:25 +0800 442 443 Tests: Improve feature testing for skipping. 444 445 Fixed a bug where test_compress_* would all fail if arm64 or armthumb 446 filters were enabled for compression but arm was disabled. Since the 447 grep tests only checked for "define HAVE_ENCODER_ARM", this would match 448 on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB. 449 450 Now the config.h feature test requires " 1" at the end to prevent the 451 prefix problem. have_feature() was also updated for this even though 452 there were known current bugs affecting it. This is just in case future 453 features have a similar prefix problem. 454 455 tests/test_compress.sh | 4 ++-- 456 tests/test_files.sh | 2 +- 457 2 files changed, 3 insertions(+), 3 deletions(-) 458 459commit 26c37d290c0884a4518a26b949575420a77fb938 460Author: Jia Tan <jiat0218@gmail.com> 461Date: 2023-07-10 20:56:28 +0800 462 463 Translations: Update the Chinese (traditional) translation. 464 465 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++-------------------------- 466 1 file changed, 377 insertions(+), 282 deletions(-) 467 468commit 2ec65181e28335692a3a4fac4fefc4303111d355 469Author: Jia Tan <jiat0218@gmail.com> 470Date: 2023-07-08 20:03:59 +0800 471 472 Translations: Update the Vietnamese translation. 473 474 po/vi.po | 620 +++++++++++++++++++++++++++++++++++---------------------------- 475 1 file changed, 349 insertions(+), 271 deletions(-) 476 477commit c44c7e7590db1b89c97e106f5c516bf69189e233 478Author: Jia Tan <jiat0218@gmail.com> 479Date: 2023-06-28 20:46:31 +0800 480 481 Tests: Fix memory leaks in test_index. 482 483 Several tests were missing calls to lzma_index_end() to clean up the 484 lzma_index structs. The memory leaks were discovered by using 485 -fsanitize=address with GCC. 486 487 tests/test_index.c | 11 +++++++++++ 488 1 file changed, 11 insertions(+) 489 490commit b9499c94fccc03eba5311b5305f04149a7c5af65 491Author: Jia Tan <jiat0218@gmail.com> 492Date: 2023-06-28 20:43:29 +0800 493 494 Tests: Fix memory leaks in test_block_header. 495 496 test_block_header was not properly freeing the filter options between 497 calls to lzma_block_header_decode(). The memory leaks were discovered by 498 using -fsanitize=address with GCC. 499 500 tests/test_block_header.c | 38 ++++++++++++++++++++++---------------- 501 1 file changed, 22 insertions(+), 16 deletions(-) 502 503commit 1155471651ad456c5f90aee6435931fae65682bf 504Author: Jia Tan <jiat0218@gmail.com> 505Date: 2023-06-28 20:31:11 +0800 506 507 liblzma: Prevent uninitialzed warning in mt stream encoder. 508 509 This change only impacts the compiler warning since it was impossible 510 for the wait_abs struct in stream_encode_mt() to be used before it was 511 initialized since mythread_condtime_set() will always be called before 512 mythread_cond_timedwait(). 513 514 Since the mythread.h code is different between the POSIX and 515 Windows versions, this warning was only present on Windows builds. 516 517 Thanks to Arthur S for reporting the warning and providing an initial 518 patch. 519 520 src/liblzma/common/stream_encoder_mt.c | 2 +- 521 1 file changed, 1 insertion(+), 1 deletion(-) 522 523commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9 524Author: Jia Tan <jiat0218@gmail.com> 525Date: 2023-06-07 00:10:38 +0800 526 527 Update THANKS. 528 529 THANKS | 1 + 530 1 file changed, 1 insertion(+) 531 532commit d04eb78ab3892d3678c180437dd66379efa051fd 533Author: Benjamin Buch <bebuch@users.noreply.github.com> 534Date: 2023-06-06 15:32:45 +0200 535 536 CMake: Protects against double find_package 537 538 Boost iostream uses `find_package` in quiet mode and then again uses 539 `find_package` with required. This second call triggers a 540 `add_library cannot create imported target "LibLZMA::LibLZMA" 541 because another target with the same name already exists.` 542 543 This can simply be fixed by skipping the alias part on secondary 544 `find_package` runs. 545 546 CMakeLists.txt | 16 +++++++++------- 547 1 file changed, 9 insertions(+), 7 deletions(-) 548 549commit 12ea1fb29763dd72376aca73d69621aff01eaa7f 550Author: Jia Tan <jiat0218@gmail.com> 551Date: 2023-05-31 20:26:42 +0800 552 553 Translations: Update the Esperanto translation. 554 555 po/eo.po | 185 +++++++++++++++++++++++++++++++-------------------------------- 556 1 file changed, 92 insertions(+), 93 deletions(-) 557 558commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319 559Author: Jia Tan <jiat0218@gmail.com> 560Date: 2023-05-31 20:25:00 +0800 561 562 Translations: Update the Croatian translation. 563 564 po/hr.po | 2 +- 565 1 file changed, 1 insertion(+), 1 deletion(-) 566 567commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96 568Author: Jia Tan <jiat0218@gmail.com> 569Date: 2023-05-31 20:15:53 +0800 570 571 Translations: Update the Chinese (simplified) translation. 572 573 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------ 574 1 file changed, 157 insertions(+), 160 deletions(-) 575 576commit d5b81c19a7594fbb913bb3450360bc2145f29568 577Author: Jia Tan <jiat0218@gmail.com> 578Date: 2023-05-17 23:12:13 +0800 579 580 Translations: Update German translation of man pages. 581 582 po4a/de.po | 52 ++++++++++++---------------------------------------- 583 1 file changed, 12 insertions(+), 40 deletions(-) 584 585commit 36860a3e30d5675b4dba3a343159458d8864bceb 586Author: Jia Tan <jiat0218@gmail.com> 587Date: 2023-05-17 23:09:18 +0800 588 589 Translations: Update the German translation. 590 591 po/de.po | 189 +++++++++++++++++++++++++++++++-------------------------------- 592 1 file changed, 94 insertions(+), 95 deletions(-) 593 594commit f05641ef0d4990c4c58f459039d412475b94b37d 595Author: Jia Tan <jiat0218@gmail.com> 596Date: 2023-05-17 20:30:01 +0800 597 598 Translations: Update the Croatian translation. 599 600 po/hr.po | 187 +++++++++++++++++++++++++++++++-------------------------------- 601 1 file changed, 93 insertions(+), 94 deletions(-) 602 603commit b852f6f11d43cafce871cd158c80488f86619a63 604Author: Jia Tan <jiat0218@gmail.com> 605Date: 2023-05-17 20:26:54 +0800 606 607 Translations: Update Korean translation of man pages. 608 609 po4a/ko.po | 3015 ++++++++++++------------------------------------------------ 610 1 file changed, 568 insertions(+), 2447 deletions(-) 611 612commit fdcb78fb6f5313eda363869690685471d7ab9731 613Author: Jia Tan <jiat0218@gmail.com> 614Date: 2023-05-17 20:13:01 +0800 615 616 Translations: Update the Korean translation. 617 618 po/ko.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 619 1 file changed, 158 insertions(+), 161 deletions(-) 620 621commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2 622Author: Jia Tan <jiat0218@gmail.com> 623Date: 2023-05-16 23:49:09 +0800 624 625 Translations: Update the Spanish translation. 626 627 po/es.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 628 1 file changed, 158 insertions(+), 161 deletions(-) 629 630commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14 631Author: Jia Tan <jiat0218@gmail.com> 632Date: 2023-05-16 23:47:23 +0800 633 634 Translations: Update the Romanian translation. 635 636 po/ro.po | 195 ++++++++++++++++++++++++++++++++------------------------------- 637 1 file changed, 98 insertions(+), 97 deletions(-) 638 639commit 362320fea5383bae179763763625532bad6d10e8 640Author: Jia Tan <jiat0218@gmail.com> 641Date: 2023-05-16 23:45:43 +0800 642 643 Translations: Update Romanian translation of man pages. 644 645 po4a/ro.po | 19 ++++++++++--------- 646 1 file changed, 10 insertions(+), 9 deletions(-) 647 648commit 29c5a870be23d0a565b959404b34a8b1babef7df 649Author: Jia Tan <jiat0218@gmail.com> 650Date: 2023-05-16 23:43:51 +0800 651 652 Translations: Update Ukrainian translation of man pages. 653 654 po4a/uk.po | 12 ++++++------ 655 1 file changed, 6 insertions(+), 6 deletions(-) 656 657commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc 658Author: Jia Tan <jiat0218@gmail.com> 659Date: 2023-05-16 23:37:54 +0800 660 661 Translations: Update the Ukrainian translation. 662 663 po/uk.po | 321 +++++++++++++++++++++++++++++++-------------------------------- 664 1 file changed, 159 insertions(+), 162 deletions(-) 665 666commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a 667Author: Jia Tan <jiat0218@gmail.com> 668Date: 2023-05-16 23:07:35 +0800 669 670 Translations: Update the Polish translation. 671 672 po/pl.po | 316 +++++++++++++++++++++++++++++++-------------------------------- 673 1 file changed, 155 insertions(+), 161 deletions(-) 674 675commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d 676Author: Jia Tan <jiat0218@gmail.com> 677Date: 2023-05-16 22:52:14 +0800 678 679 Translations: Update the Swedish translation. 680 681 po/sv.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 682 1 file changed, 158 insertions(+), 161 deletions(-) 683 684commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60 685Author: Jia Tan <jiat0218@gmail.com> 686Date: 2023-05-16 21:21:38 +0800 687 688 Translations: Update the Esperanto translation. 689 690 po/eo.po | 34 +++++++++++++++++----------------- 691 1 file changed, 17 insertions(+), 17 deletions(-) 692 693commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d 694Author: Jia Tan <jiat0218@gmail.com> 695Date: 2023-05-11 23:49:23 +0800 696 697 liblzma: Adds lzma_nothrow to MicroLZMA API functions. 698 699 None of the liblzma functions may throw an exception, so this 700 attribute should be applied to all liblzma API functions. 701 702 src/liblzma/api/lzma/container.h | 5 +++-- 703 1 file changed, 3 insertions(+), 2 deletions(-) 704 705commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac 706Author: Jia Tan <jiat0218@gmail.com> 707Date: 2023-05-04 20:38:52 +0800 708 709 Translations: Update the Croatian translation. 710 711 po/hr.po | 6 +++--- 712 1 file changed, 3 insertions(+), 3 deletions(-) 713 714commit 0cee63c3c6c4f9084a5e7fa7c15a1863ac8e5ffc 715Author: Jia Tan <jiat0218@gmail.com> 716Date: 2023-05-04 19:50:42 +0800 717 718 Bump version and soname for 5.4.3. 719 720 src/liblzma/Makefile.am | 2 +- 721 src/liblzma/api/lzma/version.h | 2 +- 722 2 files changed, 2 insertions(+), 2 deletions(-) 723 724commit 01f937ea9a49005c5091c0165fa0c1e572dd1749 725Author: Jia Tan <jiat0218@gmail.com> 726Date: 2023-05-02 20:39:56 +0800 727 728 Add NEWS for 5.4.3. 729 730 NEWS | 10 ++++++++++ 731 1 file changed, 10 insertions(+) 732 733commit e9b9ea953179502d5245b4e6ca4f5ffe9d5797b1 734Author: Lasse Collin <lasse.collin@tukaani.org> 735Date: 2023-05-03 22:46:42 +0300 736 737 tuklib_integer.h: Fix a recent copypaste error in Clang detection. 738 739 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7. 740 Also, this has >= instead of == since ints larger than 32 bits would 741 work too even if not relevant in practice. 742 743 src/common/tuklib_integer.h | 4 ++-- 744 1 file changed, 2 insertions(+), 2 deletions(-) 745 746commit be6e39a8622f0d905072874ec25b1ffd155b12e1 747Author: Jia Tan <jiat0218@gmail.com> 748Date: 2023-04-20 20:15:00 +0800 749 750 Update THANKS. 751 752 THANKS | 1 + 753 1 file changed, 1 insertion(+) 754 755commit 9e343a46cf87a345799222c0b0b3a6f3358dde0c 756Author: Jia Tan <jiat0218@gmail.com> 757Date: 2023-04-19 22:22:16 +0800 758 759 Windows: Include <intrin.h> when needed. 760 761 Legacy Windows did not need to #include <intrin.h> to use the MSVC 762 intrinsics. Newer versions likely just issue a warning, but the MSVC 763 documentation says to include the header file for the intrinsics we use. 764 765 GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are 766 needed in tuklib_integer.h to only include <intrin.h> when it will is 767 actually needed. 768 769 src/common/tuklib_integer.h | 6 ++++++ 770 src/liblzma/common/memcmplen.h | 10 ++++++++++ 771 2 files changed, 16 insertions(+) 772 773commit 12321a9390acc076b414035a46df9d7545ac379f 774Author: Jia Tan <jiat0218@gmail.com> 775Date: 2023-04-19 21:59:03 +0800 776 777 tuklib_integer: Use __builtin_clz() with Clang. 778 779 Clang has support for __builtin_clz(), but previously Clang would 780 fallback to either the MSVC intrinsic or the regular C code. This was 781 discovered due to a bug where a new version of Clang required the 782 <intrin.h> header file in order to use the MSVC intrinsics. 783 784 Thanks to Anton Kochkov for notifying us about the bug. 785 786 src/common/tuklib_integer.h | 6 +++--- 787 1 file changed, 3 insertions(+), 3 deletions(-) 788 789commit d1f0e01c395960efd6c29ff144eda4f4c8c1c6d3 790Author: Lasse Collin <lasse.collin@tukaani.org> 791Date: 2023-04-14 18:42:33 +0300 792 793 liblzma: Update project maintainers in lzma.h. 794 795 AUTHORS was updated earlier, lzma.h was simply forgotten. 796 797 src/liblzma/api/lzma.h | 2 +- 798 1 file changed, 1 insertion(+), 1 deletion(-) 799 800commit 8204c5d1304e1e3b7487801b4acaf8e3179a6c52 801Author: Jia Tan <jiat0218@gmail.com> 802Date: 2023-04-13 20:45:19 +0800 803 804 liblzma: Cleans up old commented out code. 805 806 src/liblzma/common/alone_encoder.c | 11 ----------- 807 1 file changed, 11 deletions(-) 808 809commit 32980d1562bc031013306be1c787761fa63da87d 810Author: Jia Tan <jiat0218@gmail.com> 811Date: 2023-03-28 22:32:40 +0800 812 813 CMake: Update liblzma-config.cmake generation. 814 815 Now that the threading is configurable, the liblzma CMake package only 816 needs the threading library when using POSIX threads. 817 818 CMakeLists.txt | 33 ++++++++++++++++++++++----------- 819 1 file changed, 22 insertions(+), 11 deletions(-) 820 821commit 023907faa965476fb921a6344253c50e0ba795f9 822Author: Jia Tan <jiat0218@gmail.com> 823Date: 2023-03-28 22:25:33 +0800 824 825 CMake: Allows setting thread method. 826 827 The thread method is now configurable for the CMake build. It matches 828 the Autotools build by allowing ON (pick the best threading method), 829 OFF (no threading), posix, win95, and vista. If both Windows and 830 posix threading are both available, then ON will choose Windows 831 threading. Windows threading will also not use: 832 833 target_link_libraries(liblzma Threads::Threads) 834 835 since on systems like MinGW-w64 it would link the posix threads 836 without purpose. 837 838 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++---------------- 839 1 file changed, 104 insertions(+), 40 deletions(-) 840 841commit ba176d77cbb164b13006516660fc1ff6c59dedb5 842Author: Jia Tan <jiat0218@gmail.com> 843Date: 2023-03-24 20:05:59 +0800 844 845 CMake: Only build xzdec if decoders are enabled. 846 847 CMakeLists.txt | 2 +- 848 1 file changed, 1 insertion(+), 1 deletion(-) 849 850commit c99d697df800e9bc47e09facf88bcfdb9e0264a5 851Author: Jia Tan <jiat0218@gmail.com> 852Date: 2023-03-22 15:42:04 +0800 853 854 Build: Removes redundant check for LZMA1 filter support. 855 856 src/liblzma/lzma/Makefile.inc | 5 +---- 857 1 file changed, 1 insertion(+), 4 deletions(-) 858 859commit 54a2fd8c850e626343b79c4cc8fcac2f638ec890 860Author: Lasse Collin <lasse.collin@tukaani.org> 861Date: 2023-03-23 15:14:29 +0200 862 863 CMake: Bump maximum policy version to 3.26. 864 865 It adds only one new policy related to FOLDERS which we don't use. 866 This makes it clear that the code is compatible with the policies 867 up to 3.26. 868 869 CMakeLists.txt | 2 +- 870 1 file changed, 1 insertion(+), 1 deletion(-) 871 872commit 622d0fdc02d5f565c2872d79bc70c669c95c8284 873Author: Jia Tan <jiat0218@gmail.com> 874Date: 2023-03-21 23:36:00 +0800 875 876 CMake: Conditionally build xz list.* files if decoders are enabled. 877 878 CMakeLists.txt | 9 +++++++-- 879 1 file changed, 7 insertions(+), 2 deletions(-) 880 881commit 3e2dc523c596cd770a6a7c58cacc0d0d8761e853 882Author: Jia Tan <jiat0218@gmail.com> 883Date: 2023-02-25 11:46:50 +0800 884 885 CMake: Allow configuring features as cache variables. 886 887 This allows users to change the features they build either in 888 CMakeCache.txt or by using a CMake GUI. The sources built for 889 liblzma are affected by this too, so only the necessary files 890 will be compiled. 891 892 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++--------------- 893 1 file changed, 391 insertions(+), 137 deletions(-) 894 895commit 0c053f97337fa4ead77acefb577e8e86f8ef388d 896Author: Lasse Collin <lasse.collin@tukaani.org> 897Date: 2023-03-21 14:07:51 +0200 898 899 Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69. 900 901 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC 902 but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler. 903 904 configure.ac | 3 +++ 905 1 file changed, 3 insertions(+) 906 907commit 915d4f6058d52f84d2b58b0a5f3c8272eaa6c1bd 908Author: Lasse Collin <lasse.collin@tukaani.org> 909Date: 2023-03-21 14:04:37 +0200 910 911 Build: configure.ac: Use AS_IF and AS_CASE where required. 912 913 This makes no functional difference in the generated configure 914 (at least with the Autotools versions I have installed) but this 915 change might prevent future bugs like the one that was just 916 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294. 917 918 configure.ac | 30 +++++++++++++++--------------- 919 1 file changed, 15 insertions(+), 15 deletions(-) 920 921commit b848c039586ed2cddb6fb033680dac107cc5143f 922Author: Lasse Collin <lasse.collin@tukaani.org> 923Date: 2023-03-21 13:12:03 +0200 924 925 Update THANKS. 926 927 THANKS | 1 + 928 1 file changed, 1 insertion(+) 929 930commit c775ba1602a74f29dbc2088bbe4d02c23fc32ba1 931Author: Lasse Collin <lasse.collin@tukaani.org> 932Date: 2023-03-21 13:11:49 +0200 933 934 Build: Fix --disable-threads breaking the building of shared libs. 935 936 This is broken in the releases 5.2.6 to 5.4.2. A workaround 937 for these releases is to pass EGREP='grep -E' as an argument 938 to configure in addition to --disable-threads. 939 940 The problem appeared when m4/ax_pthread.m4 was updated in 941 the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which 942 introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls 943 AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP 944 but this was only executed if POSIX threads were enabled. 945 Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf 946 omits it as AC_PROG_EGREP has already been required earlier. 947 Thus, if not using POSIX threads, the shell variable EGREP 948 would be undefined in the Libtool code in configure. 949 950 ax_pthread.m4 is fine. The bug was in configure.ac which called 951 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE 952 ensures that all AC_REQUIREs get always run. 953 954 Thanks to Frank Busse for reporting the bug. 955 Fixes: https://github.com/tukaani-project/xz/issues/45 956 957 configure.ac | 16 ++++++++-------- 958 1 file changed, 8 insertions(+), 8 deletions(-) 959 960commit 0673c9ec98b6bae12b33dc295564514aaa26e2fc 961Author: Lasse Collin <lasse.collin@tukaani.org> 962Date: 2023-03-19 22:45:59 +0200 963 964 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h. 965 966 Thanks to Christian Hesse for reporting the issue. 967 Fixes: https://github.com/tukaani-project/xz/issues/44 968 969 src/liblzma/common/memcmplen.h | 3 ++- 970 1 file changed, 2 insertions(+), 1 deletion(-) 971 972commit 6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8 973Author: Jia Tan <jiat0218@gmail.com> 974Date: 2023-03-18 23:22:06 +0800 975 976 Bump version and soname for 5.4.2. 977 978 src/liblzma/Makefile.am | 2 +- 979 src/liblzma/api/lzma/version.h | 2 +- 980 2 files changed, 2 insertions(+), 2 deletions(-) 981 982commit ce4f246600db10e77fc93d492ea045b4c9830bc6 983Author: Jia Tan <jiat0218@gmail.com> 984Date: 2023-03-18 22:10:57 +0800 985 986 Add NEWS for 5.4.2. 987 988 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 989 1 file changed, 48 insertions(+) 990 991commit 3634fe330788fc0df217acdb6581031a851600a3 992Author: Lasse Collin <lasse.collin@tukaani.org> 993Date: 2023-03-18 16:00:54 +0200 994 995 Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3. 996 997 COPYING.GPLv3 | 8 ++++---- 998 1 file changed, 4 insertions(+), 4 deletions(-) 999 1000commit 97679d25ce7cb014328f1455bb338903c003d54f 1001Author: Lasse Collin <lasse.collin@tukaani.org> 1002Date: 2023-03-18 15:51:57 +0200 1003 1004 Change a few HTTP URLs to HTTPS. 1005 1006 The xz man page timestamp was intentionally left unchanged. 1007 1008 INSTALL | 2 +- 1009 README | 8 ++++---- 1010 configure.ac | 2 +- 1011 dos/INSTALL.txt | 4 ++-- 1012 src/liblzma/api/lzma.h | 8 ++++---- 1013 src/liblzma/check/sha256.c | 2 +- 1014 src/xz/xz.1 | 2 +- 1015 windows/INSTALL-MinGW.txt | 10 +++++----- 1016 8 files changed, 19 insertions(+), 19 deletions(-) 1017 1018commit 01a67e89a56c3ebf5f6681bd06f0edc22a1ae594 1019Author: Jia Tan <jiat0218@gmail.com> 1020Date: 2023-03-18 00:40:28 +0800 1021 1022 CMake: Fix typo in a comment. 1023 1024 CMakeLists.txt | 2 +- 1025 1 file changed, 1 insertion(+), 1 deletion(-) 1026 1027commit 5dca3f5cbab31105196c89cd6df0a9bbc3307c05 1028Author: Lasse Collin <lasse.collin@tukaani.org> 1029Date: 2023-03-17 18:36:22 +0200 1030 1031 Windows: build.bash: Copy liblzma API docs to the output package. 1032 1033 windows/build.bash | 3 ++- 1034 1 file changed, 2 insertions(+), 1 deletion(-) 1035 1036commit ae252862b30b509ab88b2bbcaa08e8d51b57e928 1037Author: Lasse Collin <lasse.collin@tukaani.org> 1038Date: 2023-03-17 08:53:38 +0200 1039 1040 Windows: Add microlzma_*.c to the VS project files. 1041 1042 These should have been included in 5.3.2alpha already. 1043 1044 windows/vs2013/liblzma.vcxproj | 2 ++ 1045 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 1046 windows/vs2017/liblzma.vcxproj | 2 ++ 1047 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 1048 windows/vs2019/liblzma.vcxproj | 2 ++ 1049 windows/vs2019/liblzma_dll.vcxproj | 2 ++ 1050 6 files changed, 12 insertions(+) 1051 1052commit 147d282cc3733e2723df82622b6540ddfb52635e 1053Author: Lasse Collin <lasse.collin@tukaani.org> 1054Date: 2023-03-17 08:43:51 +0200 1055 1056 CMake: Add microlzma_*.c to the build. 1057 1058 These should have been included in 5.3.2alpha already. 1059 1060 CMakeLists.txt | 2 ++ 1061 1 file changed, 2 insertions(+) 1062 1063commit 4523a5ee29f45c0256af67a15771bc8bbd25ba53 1064Author: Lasse Collin <lasse.collin@tukaani.org> 1065Date: 2023-03-17 08:41:36 +0200 1066 1067 Build: Update comments about unaligned access to mention 64-bit. 1068 1069 cmake/tuklib_integer.cmake | 7 +++---- 1070 m4/tuklib_integer.m4 | 4 ++-- 1071 2 files changed, 5 insertions(+), 6 deletions(-) 1072 1073commit 82aacb40367dc580b09c5a7b270f6c98b63e49b9 1074Author: Lasse Collin <lasse.collin@tukaani.org> 1075Date: 2023-03-17 00:02:30 +0200 1076 1077 Tests: Update .gitignore. 1078 1079 .gitignore | 3 ++- 1080 1 file changed, 2 insertions(+), 1 deletion(-) 1081 1082commit 5d022c24921eec938604a8cb10d70aa08dbd8575 1083Author: Lasse Collin <lasse.collin@tukaani.org> 1084Date: 2023-03-14 20:04:03 +0200 1085 1086 po4a/update-po: Display the script name consistently in error messages. 1087 1088 po4a/update-po | 2 +- 1089 1 file changed, 1 insertion(+), 1 deletion(-) 1090 1091commit 896295117324f323c0b8db6a31ad6ebfaa88793d 1092Author: Jia Tan <jiat0218@gmail.com> 1093Date: 2023-03-17 01:30:36 +0800 1094 1095 Doc: Rename Doxygen HTML doc directory name liblzma => api. 1096 1097 When the docs are installed, calling the directory "liblzma" is 1098 confusing since multiple other files in the doc directory are for 1099 liblzma. This should also make it more natural for distros when they 1100 package the documentation. 1101 1102 .gitignore | 2 +- 1103 Makefile.am | 18 +++++++++--------- 1104 PACKAGERS | 4 ++-- 1105 doxygen/Doxyfile | 2 +- 1106 doxygen/update-doxygen | 18 +++++++++--------- 1107 5 files changed, 22 insertions(+), 22 deletions(-) 1108 1109commit 94097157fae308b2c1a5edb4e8597c68b45eeaea 1110Author: Jia Tan <jiat0218@gmail.com> 1111Date: 2023-03-16 22:07:15 +0800 1112 1113 liblzma: Remove note from lzma_options_bcj about the ARM64 exception. 1114 1115 This was left in by mistake since an early version of the ARM64 filter 1116 used a different struct for its options. 1117 1118 src/liblzma/api/lzma/bcj.h | 2 +- 1119 1 file changed, 1 insertion(+), 1 deletion(-) 1120 1121commit da16d0b73b79d7785ece6f78a577fadd1fb59d0e 1122Author: Lasse Collin <lasse.collin@tukaani.org> 1123Date: 2023-03-15 19:19:13 +0200 1124 1125 COPYING: Add a note about the included Doxygen-generated HTML. 1126 1127 COPYING | 11 +++++++++++ 1128 1 file changed, 11 insertions(+) 1129 1130commit e57c74f9ef19201f72c106f2c347596f40229936 1131Author: Jia Tan <jiat0218@gmail.com> 1132Date: 2023-03-16 21:41:09 +0800 1133 1134 Doc: Update PACKAGERS with details about liblzma API docs install. 1135 1136 PACKAGERS | 22 ++++++++++++++++------ 1137 1 file changed, 16 insertions(+), 6 deletions(-) 1138 1139commit 7e2fa48bb73edb25457232e2e62a4f81c6b95281 1140Author: Jia Tan <jiat0218@gmail.com> 1141Date: 2023-03-16 21:38:32 +0800 1142 1143 liblzma: Add set lzma.h as the main page for Doxygen documentation. 1144 1145 The \mainpage command is used in the first block of comments in lzma.h. 1146 This changes the previously nearly empty index.html to use the first 1147 comment block in lzma.h for its contents. 1148 1149 lzma.h is no longer documented separately, but this is for the better 1150 since lzma.h only defined a few macros that users do not need to use. 1151 The individual API header files all have a disclaimer that they should 1152 not be #included directly, so there should be no confusion on the fact 1153 that lzma.h should be the only header used by applications. 1154 1155 Additionally, the note "See ../lzma.h for information about liblzma as 1156 a whole." was removed since lzma.h is now the main page of the 1157 generated HTML and does not have its own page anymore. So it would be 1158 confusing in the HTML version and was only a "nice to have" when 1159 browsing the source files. 1160 1161 src/liblzma/api/lzma.h | 1 + 1162 src/liblzma/api/lzma/base.h | 2 -- 1163 src/liblzma/api/lzma/bcj.h | 2 -- 1164 src/liblzma/api/lzma/block.h | 2 -- 1165 src/liblzma/api/lzma/check.h | 2 -- 1166 src/liblzma/api/lzma/container.h | 2 -- 1167 src/liblzma/api/lzma/delta.h | 2 -- 1168 src/liblzma/api/lzma/filter.h | 2 -- 1169 src/liblzma/api/lzma/hardware.h | 2 -- 1170 src/liblzma/api/lzma/index.h | 2 -- 1171 src/liblzma/api/lzma/index_hash.h | 4 +--- 1172 src/liblzma/api/lzma/lzma12.h | 2 -- 1173 src/liblzma/api/lzma/stream_flags.h | 2 -- 1174 src/liblzma/api/lzma/version.h | 2 -- 1175 src/liblzma/api/lzma/vli.h | 2 -- 1176 15 files changed, 2 insertions(+), 29 deletions(-) 1177 1178commit d42977c7acfdf7fd9acc8803cf411eca7dc10478 1179Author: Jia Tan <jiat0218@gmail.com> 1180Date: 2023-03-16 21:37:32 +0800 1181 1182 Build: Generate doxygen documentation in autogen.sh. 1183 1184 Another command line option (--no-doxygen) was added to disable 1185 creating the doxygen documenation in cases where it not wanted or 1186 if the doxygen tool is not installed. 1187 1188 autogen.sh | 35 +++++++++++++++++++++++++++++------ 1189 1 file changed, 29 insertions(+), 6 deletions(-) 1190 1191commit 8fc712fcf41d821069c670f22b8bf628e7a4a877 1192Author: Jia Tan <jiat0218@gmail.com> 1193Date: 2023-03-16 21:35:55 +0800 1194 1195 Build: Create doxygen/update-doxygen script. 1196 1197 This is a helper script to generate the Doxygen documentation. It can be 1198 run in 'liblzma' or 'internal' mode by setting the first argument. It 1199 will default to 'liblzma' mode and only generate documentation for the 1200 liblzma API header files. 1201 1202 The helper script will be run during the custom mydist hook when we 1203 create releases. This hook already alters the source directory, so its 1204 fine to do it here too. This way, we can include the Doxygen generated 1205 files in the distrubtion and when installing. 1206 1207 In 'liblzma' mode, the JavaScript is stripped from the .html files and 1208 the .js files are removed. This avoids license hassle from jQuery and 1209 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form. 1210 1211 Makefile.am | 1 + 1212 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++ 1213 2 files changed, 112 insertions(+) 1214 1215commit 77d2c025d19fbac7277c63239cfb1338f02c66c0 1216Author: Jia Tan <jiat0218@gmail.com> 1217Date: 2023-03-16 21:34:36 +0800 1218 1219 Build: Install Doxygen docs and include in distribution if generated. 1220 1221 Added a install-data-local target to install the Doxygen documentation 1222 only when it has been generated. In order to correctly remove the docs, 1223 a corresponding uninstall-local target was added. 1224 1225 If the doxygen docs exist in the source tree, they will also be included 1226 in the distribution now too. 1227 1228 Makefile.am | 18 ++++++++++++++++++ 1229 1 file changed, 18 insertions(+) 1230 1231commit 9af8f6f947a43974a4ff025f4c896f2fb4c91b4f 1232Author: Jia Tan <jiat0218@gmail.com> 1233Date: 2023-01-03 20:37:30 +0800 1234 1235 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile. 1236 1237 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile 1238 can have the tags that need to be configured piped into the doxygen 1239 command through stdin with the overrides after Doxyfile's contents. 1240 1241 Going forward, the documentation should be generated in two different 1242 modes: liblzma or internal. 1243 1244 liblzma is useful for most users. It is the documentation for just 1245 the liblzma API header files. This is the default. 1246 1247 internal is for people who want to understand how xz and liblzma work. 1248 It might be useful for people who want to contribute to the project. 1249 1250 .gitignore | 3 +- 1251 Doxyfile.in | 1234 ------------------------- 1252 Makefile.am | 1 - 1253 configure.ac | 1 - 1254 doxygen/Doxyfile | 2684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1255 5 files changed, 2686 insertions(+), 1237 deletions(-) 1256 1257commit 1c558a26928b753fcf1c0d4bce9c0643285edd86 1258Author: Jia Tan <jiat0218@gmail.com> 1259Date: 2023-02-28 23:22:36 +0800 1260 1261 Tests: Remove unused macros and functions. 1262 1263 tests/tests.h | 75 ----------------------------------------------------------- 1264 1 file changed, 75 deletions(-) 1265 1266commit 7479a69a45a1b8fdb9a209e11f247dce11ac1ba0 1267Author: Jia Tan <jiat0218@gmail.com> 1268Date: 2023-01-12 22:29:07 +0800 1269 1270 Tests: Refactors existing lzma_index tests. 1271 1272 Converts the existing lzma_index tests into tuktests and covers every 1273 API function from index.h except for lzma_file_info_decoder, which can 1274 be tested in the future. 1275 1276 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++-------------- 1277 1 file changed, 1492 insertions(+), 544 deletions(-) 1278 1279commit fd56d5353360279c10e8e5e05f5bc6ea03f64584 1280Author: Lasse Collin <lasse.collin@tukaani.org> 1281Date: 2023-03-07 19:59:23 +0200 1282 1283 xz: Make Capsicum sandbox more strict with stdin and stdout. 1284 1285 src/xz/file_io.c | 8 ++++++++ 1286 1 file changed, 8 insertions(+) 1287 1288commit d1bdaaebc68cae7f0ba457fa990b520df2186fd1 1289Author: Lasse Collin <lasse.collin@tukaani.org> 1290Date: 2023-03-11 19:31:40 +0200 1291 1292 xz: Don't fail if Capsicum is enabled but kernel doesn't support it. 1293 1294 (This commit combines related commits from the master branch.) 1295 1296 If Capsicum support is missing from the kernel or xz is being run 1297 in an emulator that lacks Capsicum suport, the syscalls will fail 1298 and set errno to ENOSYS. Previously xz would display and error and 1299 exit, making xz unusable. Now it will check for ENOSYS and run 1300 without sandbox support. Other tools like ssh behave similarly. 1301 1302 Displaying a warning for missing Capsicum support was considered 1303 but such extra output would quickly become annoying. It would also 1304 break test_scripts.sh in "make check". 1305 1306 Also move cap_enter() to be the first step instead of the last one. 1307 This matches the example in the cap_rights_limit(2) man page. With 1308 the current code it shouldn't make any practical difference though. 1309 1310 Thanks to Xin Li for the bug report, suggesting a fix, and testing: 1311 https://github.com/tukaani-project/xz/pull/43 1312 1313 Thanks to Jia Tan for most of the original commits. 1314 1315 src/xz/file_io.c | 15 ++++++++++++--- 1316 1 file changed, 12 insertions(+), 3 deletions(-) 1317 1318commit 5d351c69c19d212ddd2cf1f3bdb24900820c6776 1319Author: Jia Tan <jiat0218@gmail.com> 1320Date: 2023-02-04 21:06:35 +0800 1321 1322 Build: Adjust CMake version search regex. 1323 1324 Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH 1325 macros do not need to be on consecutive lines in version.h. They can be 1326 separated by more whitespace, comments, or even other content, as long 1327 as they appear in the proper order (major, minor, patch). 1328 1329 CMakeLists.txt | 2 ++ 1330 1 file changed, 2 insertions(+) 1331 1332commit b82d4831e3f2339c4cdbc47776c99462088c11b7 1333Author: Jia Tan <jiat0218@gmail.com> 1334Date: 2023-01-26 09:50:21 +0800 1335 1336 liblzma: Improve documentation for version.h. 1337 1338 Specified parameter and return values for API functions and documented 1339 a few more of the macros. 1340 1341 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++------- 1342 1 file changed, 22 insertions(+), 7 deletions(-) 1343 1344commit 2caba3efe3e0c2d7c6dca00e22c56812326a34e6 1345Author: Jia Tan <jiat0218@gmail.com> 1346Date: 2023-02-24 23:46:23 +0800 1347 1348 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h. 1349 1350 lzma_lzma_preset() does not guarentee that the lzma_options_lzma are 1351 usable in an encoder even if it returns false (success). If liblzma 1352 is built with default configurations, then the options will always be 1353 usable. However if the match finders hc3, hc4, or bt4 are disabled, then 1354 the options may not be usable depending on the preset level requested. 1355 1356 The documentation was updated to reflect this complexity, since this 1357 behavior was unclear before. 1358 1359 src/liblzma/api/lzma/lzma12.h | 5 +++++ 1360 1 file changed, 5 insertions(+) 1361 1362commit 594f904673ba55a833adfa60bbab6b60d4902d08 1363Author: Lasse Collin <lasse.collin@tukaani.org> 1364Date: 2023-02-27 18:38:35 +0200 1365 1366 CMake: Require that the C compiler supports C99 or a newer standard. 1367 1368 Thanks to autoantwort for reporting the issue and suggesting 1369 a different patch: 1370 https://github.com/tukaani-project/xz/pull/42 1371 1372 CMakeLists.txt | 8 ++++++++ 1373 1 file changed, 8 insertions(+) 1374 1375commit 88101143cb774bca6b7006c8335b09dc3f334140 1376Author: Jia Tan <jiat0218@gmail.com> 1377Date: 2023-02-24 18:10:37 +0800 1378 1379 Tests: Small tweak to test-vli.c. 1380 1381 The static global variables can be disabled if encoders and decoders 1382 are not built. If they are not disabled and -Werror is used, it will 1383 cause an usused warning as an error. 1384 1385 tests/test_vli.c | 2 ++ 1386 1 file changed, 2 insertions(+) 1387 1388commit 4042dbf03a06e019ccdd1e9d1b94cf613d62d5a9 1389Author: Jia Tan <jiat0218@gmail.com> 1390Date: 2023-02-06 21:46:43 +0800 1391 1392 liblzma: Replace '\n' -> newline in filter.h documentation. 1393 1394 The '\n' renders as a newline when the comments are converted to html 1395 by Doxygen. 1396 1397 src/liblzma/api/lzma/filter.h | 2 +- 1398 1 file changed, 1 insertion(+), 1 deletion(-) 1399 1400commit 3971f5c5024750ce8286891c6f79ae1661047483 1401Author: Jia Tan <jiat0218@gmail.com> 1402Date: 2023-02-06 21:45:37 +0800 1403 1404 liblzma: Shorten return description for two functions in filter.h. 1405 1406 Shorten the description for lzma_raw_encoder_memusage() and 1407 lzma_raw_decoder_memusage(). 1408 1409 src/liblzma/api/lzma/filter.h | 8 ++------ 1410 1 file changed, 2 insertions(+), 6 deletions(-) 1411 1412commit 5e61b39432752b6cd1a7b518f0f9e4f0c3f0f242 1413Author: Jia Tan <jiat0218@gmail.com> 1414Date: 2023-02-06 21:44:45 +0800 1415 1416 liblzma: Reword a few lines in filter.h 1417 1418 src/liblzma/api/lzma/filter.h | 10 +++++----- 1419 1 file changed, 5 insertions(+), 5 deletions(-) 1420 1421commit 8a53533869defa1191b41f176a0312cb53a139e2 1422Author: Jia Tan <jiat0218@gmail.com> 1423Date: 2023-02-06 21:35:06 +0800 1424 1425 liblzma: Improve documentation in filter.h. 1426 1427 All functions now explicitly specify parameter and return values. 1428 The notes and code annotations were moved before the parameter and 1429 return value descriptions for consistency. 1430 1431 Also, the description above lzma_filter_encoder_is_supported() about 1432 not being able to list available filters was removed since 1433 lzma_str_list_filters() will do this. 1434 1435 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++---------------- 1436 1 file changed, 143 insertions(+), 83 deletions(-) 1437 1438commit 6d05b08b17ac8cb93165ee8f310fdd925b0b258f 1439Author: Lasse Collin <lasse.collin@tukaani.org> 1440Date: 2023-02-23 20:46:16 +0200 1441 1442 Update THANKS. 1443 1444 THANKS | 1 + 1445 1 file changed, 1 insertion(+) 1446 1447commit dfc9a54082e0fc7b3b796ea15336b5075acc79d5 1448Author: Lasse Collin <lasse.collin@tukaani.org> 1449Date: 2023-02-21 22:57:10 +0200 1450 1451 liblzma: Avoid null pointer + 0 (undefined behavior in C). 1452 1453 In the C99 and C17 standards, section 6.5.6 paragraph 8 means that 1454 adding 0 to a null pointer is undefined behavior. As of writing, 1455 "clang -fsanitize=undefined" (Clang 15) diagnoses this. However, 1456 I'm not aware of any compiler that would take advantage of this 1457 when optimizing (Clang 15 included). It's good to avoid this anyway 1458 since compilers might some day infer that pointer arithmetic implies 1459 that the pointer is not NULL. That is, the following foo() would then 1460 unconditionally return 0, even for foo(NULL, 0): 1461 1462 void bar(char *a, char *b); 1463 1464 int foo(char *a, size_t n) 1465 { 1466 bar(a, a + n); 1467 return a == NULL; 1468 } 1469 1470 In contrast to C, C++ explicitly allows null pointer + 0. So if 1471 the above is compiled as C++ then there is no undefined behavior 1472 in the foo(NULL, 0) call. 1473 1474 To me it seems that changing the C standard would be the sane 1475 thing to do (just add one sentence) as it would ensure that a huge 1476 amount of old code won't break in the future. Based on web searches 1477 it seems that a large number of codebases (where null pointer + 0 1478 occurs) are being fixed instead to be future-proof in case compilers 1479 will some day optimize based on it (like making the above foo(NULL, 0) 1480 return 0) which in the worst case will cause security bugs. 1481 1482 Some projects don't plan to change it. For example, gnulib and thus 1483 many GNU tools currently require that null pointer + 0 is defined: 1484 1485 https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html 1486 1487 https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html 1488 1489 In XZ Utils null pointer + 0 issue should be fixed after this 1490 commit. This adds a few if-statements and thus branches to avoid 1491 null pointer + 0. These check for size > 0 instead of ptr != NULL 1492 because this way bugs where size > 0 && ptr == NULL will likely 1493 get caught quickly. None of them are in hot spots so it shouldn't 1494 matter for performance. 1495 1496 A little less readable version would be replacing 1497 1498 ptr + offset 1499 1500 with 1501 1502 offset != 0 ? ptr + offset : ptr 1503 1504 or creating a macro for it: 1505 1506 #define my_ptr_add(ptr, offset) \ 1507 ((offset) != 0 ? ((ptr) + (offset)) : (ptr)) 1508 1509 Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1, 1510 Clang >= 7, and Clang-based ICX to optimize it to the very same code 1511 as ptr + offset. That is, it won't create a branch. So for hot code 1512 this could be a good solution to avoid null pointer + 0. Unfortunately 1513 other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a 1514 branch from my_ptr_add(). 1515 1516 Thanks to Marcin Kowalczyk for reporting the problem: 1517 https://github.com/tukaani-project/xz/issues/36 1518 1519 src/liblzma/common/block_decoder.c | 5 ++++- 1520 src/liblzma/common/block_encoder.c | 7 +++++-- 1521 src/liblzma/common/common.c | 20 ++++++++++++++------ 1522 src/liblzma/common/index_decoder.c | 13 ++++++++++--- 1523 src/liblzma/common/index_encoder.c | 11 +++++++++-- 1524 src/liblzma/common/index_hash.c | 13 ++++++++++--- 1525 src/liblzma/common/lzip_decoder.c | 6 +++++- 1526 src/liblzma/delta/delta_decoder.c | 7 ++++++- 1527 src/liblzma/delta/delta_encoder.c | 12 ++++++++++-- 1528 src/liblzma/simple/simple_coder.c | 6 ++++-- 1529 10 files changed, 77 insertions(+), 23 deletions(-) 1530 1531commit f6dce49cb656b358e2fb2a3032e35e20af34dc84 1532Author: Jia Tan <jiat0218@gmail.com> 1533Date: 2023-02-07 00:00:44 +0800 1534 1535 liblzma: Adjust container.h for consistency with filter.h. 1536 1537 src/liblzma/api/lzma/container.h | 20 +++++++++----------- 1538 1 file changed, 9 insertions(+), 11 deletions(-) 1539 1540commit 173d240bb4763aedc8c01df4d9c83e311d954c33 1541Author: Jia Tan <jiat0218@gmail.com> 1542Date: 2023-02-07 00:00:09 +0800 1543 1544 liblzma: Fix small typos and reword a few things in filter.h. 1545 1546 src/liblzma/api/lzma/container.h | 13 ++++++------- 1547 1 file changed, 6 insertions(+), 7 deletions(-) 1548 1549commit 17797bacde3f7264048ef0976c137a600148d6cf 1550Author: Jia Tan <jiat0218@gmail.com> 1551Date: 2023-02-06 23:42:08 +0800 1552 1553 liblzma: Convert list of flags in lzma_mt to bulleted list. 1554 1555 src/liblzma/api/lzma/container.h | 9 ++++++--- 1556 1 file changed, 6 insertions(+), 3 deletions(-) 1557 1558commit 37da0e727161b401b8bfd8dccf163a4b2fc0460b 1559Author: Jia Tan <jiat0218@gmail.com> 1560Date: 2023-01-26 23:17:41 +0800 1561 1562 liblzma: Fix typo in documentation in container.h 1563 1564 lzma_microlzma_decoder -> lzma_microlzma_encoder 1565 1566 src/liblzma/api/lzma/container.h | 2 +- 1567 1 file changed, 1 insertion(+), 1 deletion(-) 1568 1569commit b8331077c626e6bf14f4671d09b561146eaf816a 1570Author: Jia Tan <jiat0218@gmail.com> 1571Date: 2023-01-26 23:16:34 +0800 1572 1573 liblzma: Improve documentation for container.h 1574 1575 Standardizing each function to always specify parameters and return 1576 values. Also moved the parameters and return values to the end of each 1577 function description. 1578 1579 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++-------------- 1580 1 file changed, 93 insertions(+), 53 deletions(-) 1581 1582commit b9a3511bb61d3b6ce49abd33dce6155a573f5272 1583Author: Jia Tan <jiat0218@gmail.com> 1584Date: 2023-02-22 20:59:41 +0800 1585 1586 CMake: Add LZIP decoder test to list of tests. 1587 1588 CMakeLists.txt | 1 + 1589 1 file changed, 1 insertion(+) 1590 1591commit cd82ef2fb48b174c57cd03b84a9a0f978772cb89 1592Author: Lasse Collin <lasse.collin@tukaani.org> 1593Date: 2023-02-17 20:56:49 +0200 1594 1595 Update THANKS. 1596 1597 THANKS | 1 + 1598 1 file changed, 1 insertion(+) 1599 1600commit 076e911ba25cadf2cbdfbd0f65991a002e210c0b 1601Author: Lasse Collin <lasse.collin@tukaani.org> 1602Date: 2023-02-17 20:48:28 +0200 1603 1604 Build: Use only the generic symbol versioning on MicroBlaze. 1605 1606 On MicroBlaze, GCC 12 is broken in sense that 1607 __has_attribute(__symver__) returns true but it still doesn't 1608 support the __symver__ attribute even though the platform is ELF 1609 and symbol versioning is supported if using the traditional 1610 __asm__(".symver ...") method. Avoiding the traditional method is 1611 good because it breaks LTO (-flto) builds with GCC. 1612 1613 See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 1614 1615 For now the only extra symbols in liblzma_linux.map are the 1616 compatibility symbols with the patch that spread from RHEL/CentOS 7. 1617 These require the use of __symver__ attribute or __asm__(".symver ...") 1618 in the C code. Compatibility with the patch from CentOS 7 doesn't 1619 seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze 1620 instead. It doesn't require anything special in the C code and thus 1621 no LTO issues either. 1622 1623 An alternative would be to detect support for __symver__ 1624 attribute in configure.ac and CMakeLists.txt and fall back 1625 to __asm__(".symver ...") but then LTO would be silently broken 1626 on MicroBlaze. It sounds likely that MicroBlaze is a special 1627 case so let's treat it as a such because that is simpler. If 1628 a similar issue exists on some other platform too then hopefully 1629 someone will report it and this can be reconsidered. 1630 1631 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should 1632 but perhaps CMake build of liblzma doesn't matter much on MicroBlaze. 1633 The problem breaks the build so it's easy to notice and can be fixed 1634 later.) 1635 1636 Thanks to Vincent Fazio for reporting the problem and proposing 1637 a patch (in the end that solution wasn't used): 1638 https://github.com/tukaani-project/xz/pull/32 1639 1640 configure.ac | 12 ++++++++++-- 1641 1 file changed, 10 insertions(+), 2 deletions(-) 1642 1643commit bc34e5ac9996667d2c1ec9a7895ec5931ac4caea 1644Author: Lasse Collin <lasse.collin@tukaani.org> 1645Date: 2023-02-16 21:09:00 +0200 1646 1647 liblzma: Very minor API doc tweaks. 1648 1649 Use "member" to refer to struct members as that's the term used 1650 by the C standard. 1651 1652 Use lzma_options_delta.dist and such in docs so that in Doxygen's 1653 HTML output they will link to the doc of the struct member. 1654 1655 Clean up a few trailing white spaces too. 1656 1657 src/liblzma/api/lzma/block.h | 6 +++--- 1658 src/liblzma/api/lzma/delta.h | 6 +++--- 1659 src/liblzma/api/lzma/index.h | 10 +++++----- 1660 src/liblzma/api/lzma/stream_flags.h | 6 +++--- 1661 4 files changed, 14 insertions(+), 14 deletions(-) 1662 1663commit d31fbd28be5b79eb682db50004b0fb7aad5299ec 1664Author: Jia Tan <jiat0218@gmail.com> 1665Date: 2023-02-17 00:54:33 +0800 1666 1667 liblzma: Adjust spacing in doc headers in bcj.h. 1668 1669 src/liblzma/api/lzma/bcj.h | 14 +++++++------- 1670 1 file changed, 7 insertions(+), 7 deletions(-) 1671 1672commit 701e9be6bede19771895f756082db0c017f86f07 1673Author: Jia Tan <jiat0218@gmail.com> 1674Date: 2023-02-17 00:44:44 +0800 1675 1676 liblzma: Adjust documentation in bcj.h for consistent style. 1677 1678 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++--------------------- 1679 1 file changed, 22 insertions(+), 21 deletions(-) 1680 1681commit 762c4d0b62d2694cf3a01e030fdfe68e09e7b503 1682Author: Jia Tan <jiat0218@gmail.com> 1683Date: 2023-02-17 00:36:05 +0800 1684 1685 liblzma: Rename field => member in documentation. 1686 1687 Also adjusted preset value => preset level. 1688 1689 src/liblzma/api/lzma/base.h | 18 +++++++-------- 1690 src/liblzma/api/lzma/block.h | 44 ++++++++++++++++++------------------- 1691 src/liblzma/api/lzma/container.h | 26 +++++++++++----------- 1692 src/liblzma/api/lzma/delta.h | 12 +++++----- 1693 src/liblzma/api/lzma/index.h | 30 ++++++++++++------------- 1694 src/liblzma/api/lzma/lzma12.h | 28 +++++++++++------------ 1695 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++-------------- 1696 7 files changed, 95 insertions(+), 95 deletions(-) 1697 1698commit 0ce1db0223854d94b4a0d17737ac0486a75d9e6a 1699Author: Lasse Collin <lasse.collin@tukaani.org> 1700Date: 2023-02-16 17:59:50 +0200 1701 1702 liblzma: Silence a warning from MSVC. 1703 1704 It gives C4146 here since unary minus with unsigned integer 1705 is still unsigned (which is the intention here). Doing it 1706 with substraction makes it clearer and avoids the warning. 1707 1708 Thanks to Nathan Moinvaziri for reporting this. 1709 1710 src/liblzma/check/crc64_fast.c | 2 +- 1711 1 file changed, 1 insertion(+), 1 deletion(-) 1712 1713commit d83da006b3e8dbad9112e6cde6b27049d193c9ec 1714Author: Jia Tan <jiat0218@gmail.com> 1715Date: 2023-02-16 21:04:54 +0800 1716 1717 liblzma: Improve documentation for stream_flags.h 1718 1719 Standardizing each function to always specify parameters and return 1720 values. Also moved the parameters and return values to the end of each 1721 function description. 1722 1723 A few small things were reworded and long sentences broken up. 1724 1725 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++--------------- 1726 1 file changed, 46 insertions(+), 30 deletions(-) 1727 1728commit 2796bb4736f645d34939b5d62d5958f534e41e69 1729Author: Jia Tan <jiat0218@gmail.com> 1730Date: 2023-02-14 21:50:16 +0800 1731 1732 liblzma: Improve documentation in lzma12.h. 1733 1734 All functions now explicitly specify parameter and return values. 1735 1736 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++--------- 1737 1 file changed, 23 insertions(+), 9 deletions(-) 1738 1739commit ebebaa8d9381afea440eb1b01917117551adf68f 1740Author: Jia Tan <jiat0218@gmail.com> 1741Date: 2023-01-27 22:44:06 +0800 1742 1743 liblzma: Improve documentation in check.h. 1744 1745 All functions now explicitly specify parameter and return values. 1746 Also moved the note about SHA-256 functions not being exported to the 1747 top of the file. 1748 1749 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++------------- 1750 1 file changed, 28 insertions(+), 13 deletions(-) 1751 1752commit 765fa2865aab97ea713c1715922e322b3cf599a7 1753Author: Jia Tan <jiat0218@gmail.com> 1754Date: 2023-02-08 21:33:52 +0800 1755 1756 liblzma: Improve documentation in index.h 1757 1758 All functions now explicitly specify parameter and return values. 1759 1760 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++------------- 1761 1 file changed, 126 insertions(+), 51 deletions(-) 1762 1763commit 918e208af5960728b6def01e692b395f7d8e3701 1764Author: Jia Tan <jiat0218@gmail.com> 1765Date: 2023-02-08 20:35:32 +0800 1766 1767 liblzma: Reword a comment in index.h. 1768 1769 src/liblzma/api/lzma/index.h | 4 ++-- 1770 1 file changed, 2 insertions(+), 2 deletions(-) 1771 1772commit 1f157d214bc09338876d2467b549935679abc0bf 1773Author: Jia Tan <jiat0218@gmail.com> 1774Date: 2023-02-08 20:30:23 +0800 1775 1776 liblzma: Omit lzma_index_iter's internal field from Doxygen docs. 1777 1778 Add \private above this field and its sub-fields since it is not meant 1779 to be modified by users. 1780 1781 src/liblzma/api/lzma/index.h | 9 ++++++++- 1782 1 file changed, 8 insertions(+), 1 deletion(-) 1783 1784commit 28757fa46d8e0f0a9c17628b2b6af9bcb3cd96fc 1785Author: Jia Tan <jiat0218@gmail.com> 1786Date: 2023-01-21 21:32:03 +0800 1787 1788 liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR. 1789 1790 LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put 1791 documentation after a member. 1792 1793 src/liblzma/api/lzma/base.h | 2 +- 1794 1 file changed, 1 insertion(+), 1 deletion(-) 1795 1796commit 135d5a1a65a9e199b9a5550c1f788cf43cd81018 1797Author: Jia Tan <jiat0218@gmail.com> 1798Date: 2023-01-21 00:29:38 +0800 1799 1800 liblzma: Improve documentation for base.h. 1801 1802 Standardizing each function to always specify params and return values. 1803 Also fixed a small grammar mistake. 1804 1805 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++----- 1806 1 file changed, 25 insertions(+), 5 deletions(-) 1807 1808commit 2287d5668384e289d51e72724997dc920483768e 1809Author: Jia Tan <jiat0218@gmail.com> 1810Date: 2023-02-14 00:08:33 +0800 1811 1812 liblzma: Minor improvements to vli.h. 1813 1814 Added [out] annotations to parameters that are pointers and can have 1815 their value changed. Also added a clarification to lzma_vli_is_valid. 1816 1817 src/liblzma/api/lzma/vli.h | 15 ++++++++------- 1818 1 file changed, 8 insertions(+), 7 deletions(-) 1819 1820commit 7124b8a16ae60cb2e93218ff531868eebd673bde 1821Author: Jia Tan <jiat0218@gmail.com> 1822Date: 2023-02-10 21:38:02 +0800 1823 1824 liblzma: Add comments for macros in delta.h. 1825 1826 Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness 1827 and to avoid Doxygen warnings. 1828 1829 src/liblzma/api/lzma/delta.h | 8 ++++++++ 1830 1 file changed, 8 insertions(+) 1831 1832commit 59c7bb8931159fdb1a31bbbeaed0e6984e2d3c81 1833Author: Jia Tan <jiat0218@gmail.com> 1834Date: 2023-02-10 21:35:23 +0800 1835 1836 liblzma: Improve documentation in index_hash.h. 1837 1838 All functions now explicitly specify parameter and return values. 1839 Also reworded the description of lzma_index_hash_init() for readability. 1840 1841 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++--------- 1842 1 file changed, 27 insertions(+), 9 deletions(-) 1843 1844commit e970c28ac3cb2e8051925f81db2fe953664c2645 1845Author: Jia Tan <jiat0218@gmail.com> 1846Date: 2023-02-03 00:33:32 +0800 1847 1848 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length. 1849 1850 The bug is only a problem in applications that do not properly terminate 1851 the filters[] array with LZMA_VLI_UNKNOWN or have more than 1852 LZMA_FILTERS_MAX filters. This bug does not affect xz. 1853 1854 src/liblzma/common/string_conversion.c | 7 +++++++ 1855 1 file changed, 7 insertions(+) 1856 1857commit 85e01266a96689448abb249da6c6abc3afcd4a4e 1858Author: Jia Tan <jiat0218@gmail.com> 1859Date: 2023-02-03 00:32:47 +0800 1860 1861 Tests: Create test_filter_str.c. 1862 1863 Tests lzma_str_to_filters(), lzma_str_from_filters(), and 1864 lzma_str_list_filters() API functions. 1865 1866 CMakeLists.txt | 1 + 1867 tests/Makefile.am | 2 + 1868 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++ 1869 3 files changed, 596 insertions(+) 1870 1871commit 3fa0f3ba12dd3383f62dbfa18a864f9b4217fa0a 1872Author: Jia Tan <jiat0218@gmail.com> 1873Date: 2023-01-22 08:49:00 +0800 1874 1875 liblzma: Fix typos in comments in string_conversion.c. 1876 1877 src/liblzma/common/string_conversion.c | 4 ++-- 1878 1 file changed, 2 insertions(+), 2 deletions(-) 1879 1880commit 32dbe045d74e94f75c53236fa2a6c0454d7b6d9e 1881Author: Jia Tan <jiat0218@gmail.com> 1882Date: 2023-02-03 00:20:20 +0800 1883 1884 liblzma: Clarify block encoder and decoder documentation. 1885 1886 Added a few sentences to the description for lzma_block_encoder() and 1887 lzma_block_decoder() to highlight that the Block Header must be coded 1888 before calling these functions. 1889 1890 src/liblzma/api/lzma/block.h | 15 +++++++++++---- 1891 1 file changed, 11 insertions(+), 4 deletions(-) 1892 1893commit ccf12acbfa7331b1bbb99ec55879186eb35f879f 1894Author: Jia Tan <jiat0218@gmail.com> 1895Date: 2023-02-03 00:12:24 +0800 1896 1897 Update lzma_block documentation for lzma_block_uncomp_encode(). 1898 1899 src/liblzma/api/lzma/block.h | 3 +++ 1900 1 file changed, 3 insertions(+) 1901 1902commit 6a0b168dd9dc1ef437255c4bfdc6eff8b96fdb24 1903Author: Jia Tan <jiat0218@gmail.com> 1904Date: 2023-02-03 00:11:37 +0800 1905 1906 liblzma: Minor edits to lzma_block header_size documentation. 1907 1908 src/liblzma/api/lzma/block.h | 3 ++- 1909 1 file changed, 2 insertions(+), 1 deletion(-) 1910 1911commit 84ce36f90e68471fec1f0e61cd93ac7ed9ab4883 1912Author: Jia Tan <jiat0218@gmail.com> 1913Date: 2023-02-03 00:11:07 +0800 1914 1915 liblzma: Enumerate functions that read version in lzma_block. 1916 1917 src/liblzma/api/lzma/block.h | 13 +++++++++++-- 1918 1 file changed, 11 insertions(+), 2 deletions(-) 1919 1920commit d6620774682830d606f57109861b6763805b3492 1921Author: Jia Tan <jiat0218@gmail.com> 1922Date: 2023-02-03 00:10:34 +0800 1923 1924 liblzma: Clarify comment in block.h. 1925 1926 src/liblzma/api/lzma/block.h | 3 ++- 1927 1 file changed, 2 insertions(+), 1 deletion(-) 1928 1929commit 880adb5aa25f66a53d81c2f3acc716f7a4d373d1 1930Author: Jia Tan <jiat0218@gmail.com> 1931Date: 2023-02-03 00:07:23 +0800 1932 1933 liblzma: Improve documentation for block.h. 1934 1935 Standardizing each function to always specify params and return values. 1936 Output pointer parameters are also marked with doxygen style [out] to 1937 make it clear. Any note sections were also moved above the parameter and 1938 return sections for consistency. 1939 1940 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++---------- 1941 1 file changed, 75 insertions(+), 21 deletions(-) 1942 1943commit b5b1b1f061c342271e4977ce5cba604a19c0ca52 1944Author: Jia Tan <jiat0218@gmail.com> 1945Date: 2023-02-01 23:38:30 +0800 1946 1947 liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION. 1948 1949 The flag description for LZMA_STR_NO_VALIDATION was previously confusing 1950 about the treatment for filters than cannot be used with .xz format 1951 (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that 1952 LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS. 1953 1954 src/liblzma/api/lzma/filter.h | 5 +++-- 1955 1 file changed, 3 insertions(+), 2 deletions(-) 1956 1957commit e904e778b82b14f2779aab80d6c8f3c01a3fc54b 1958Author: Jia Tan <jiat0218@gmail.com> 1959Date: 2023-01-27 20:14:51 +0800 1960 1961 Translations: Add Brazilian Portuguese translation of man pages. 1962 1963 Thanks to Rafael Fontenelle. 1964 1965 po4a/po4a.conf | 2 +- 1966 po4a/pt_BR.po | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1967 2 files changed, 3678 insertions(+), 1 deletion(-) 1968 1969commit e9c47e79c9584ba1126f5fa0dbe6c96e67411aa6 1970Author: Jia Tan <jiat0218@gmail.com> 1971Date: 2023-01-24 20:48:50 +0800 1972 1973 liblzma: Fix documentation in filter.h for lzma_str_to_filters() 1974 1975 The previous documentation for lzma_str_to_filters() was technically 1976 correct, but misleading. lzma_str_to_filters() returns NULL on success, 1977 which is in practice always defined to 0. This is the same value as 1978 LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should 1979 be more clear. 1980 1981 src/liblzma/api/lzma/filter.h | 2 +- 1982 1 file changed, 1 insertion(+), 1 deletion(-) 1983 1984commit 99575947a58a60416c570eb78038d18a1ea4cef4 1985Author: Jia Tan <jiat0218@gmail.com> 1986Date: 2023-01-07 21:55:06 +0800 1987 1988 xz: Refactor duplicated check for custom suffix when using --format=raw 1989 1990 src/xz/args.c | 8 ++++++++ 1991 src/xz/suffix.c | 26 ++++++++------------------ 1992 src/xz/suffix.h | 8 ++++++++ 1993 3 files changed, 24 insertions(+), 18 deletions(-) 1994 1995commit 76dec92fcca4a9ccd2063ed6d5d9e3474665baad 1996Author: Jia Tan <jiat0218@gmail.com> 1997Date: 2023-01-20 21:53:14 +0800 1998 1999 liblzma: Set documentation on all reserved fields to private. 2000 2001 This prevents the reserved fields from being part of the generated 2002 Doxygen documentation. 2003 2004 src/liblzma/api/lzma/base.h | 17 +++++++++++++++ 2005 src/liblzma/api/lzma/block.h | 43 +++++++++++++++++++++++++++++++++++++ 2006 src/liblzma/api/lzma/container.h | 24 +++++++++++++++++++++ 2007 src/liblzma/api/lzma/delta.h | 12 +++++++++++ 2008 src/liblzma/api/lzma/index.h | 27 +++++++++++++++++++++++ 2009 src/liblzma/api/lzma/lzma12.h | 22 +++++++++++++++++++ 2010 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++ 2011 7 files changed, 173 insertions(+) 2012 2013commit bd213d06ebf92cf42eeb97e7c578bddc857f8ea8 2014Author: Jia Tan <jiat0218@gmail.com> 2015Date: 2022-12-21 23:59:43 +0800 2016 2017 liblzma: Highlight liblzma API headers should not be included directly. 2018 2019 This improves the generated Doxygen HTML files to better highlight 2020 how to properly use the liblzma API header files. 2021 2022 src/liblzma/api/lzma/base.h | 5 +++-- 2023 src/liblzma/api/lzma/bcj.h | 5 +++-- 2024 src/liblzma/api/lzma/block.h | 5 +++-- 2025 src/liblzma/api/lzma/check.h | 5 +++-- 2026 src/liblzma/api/lzma/container.h | 5 +++-- 2027 src/liblzma/api/lzma/delta.h | 5 +++-- 2028 src/liblzma/api/lzma/filter.h | 5 +++-- 2029 src/liblzma/api/lzma/hardware.h | 5 +++-- 2030 src/liblzma/api/lzma/index.h | 5 +++-- 2031 src/liblzma/api/lzma/index_hash.h | 5 +++-- 2032 src/liblzma/api/lzma/lzma12.h | 5 +++-- 2033 src/liblzma/api/lzma/stream_flags.h | 5 +++-- 2034 src/liblzma/api/lzma/version.h | 5 +++-- 2035 src/liblzma/api/lzma/vli.h | 5 +++-- 2036 14 files changed, 42 insertions(+), 28 deletions(-) 2037 2038commit 257dbff0ba1a7bc45a74d203ece015c9f70c88cd 2039Author: Jia Tan <jiat0218@gmail.com> 2040Date: 2023-01-19 20:35:09 +0800 2041 2042 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64. 2043 2044 tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64 2045 to retrieve a function address. The proper way to do this is to cast the 2046 return value to the type of function pointer retrieved. Unfortunately, 2047 this causes a cast-function-type warning, so the best solution is to 2048 simply ignore the warning. 2049 2050 src/common/tuklib_physmem.c | 18 ++++++++++++++++++ 2051 1 file changed, 18 insertions(+) 2052 2053commit 720ad4a44282a7ee59aa9920eaf495d85d245d97 2054Author: Jia Tan <jiat0218@gmail.com> 2055Date: 2023-01-16 21:35:45 +0800 2056 2057 xz: Add missing comment for coder_set_compression_settings() 2058 2059 src/xz/coder.h | 3 ++- 2060 1 file changed, 2 insertions(+), 1 deletion(-) 2061 2062commit 88dc19163421282369c0989e997c05f9a447edc6 2063Author: Jia Tan <jiat0218@gmail.com> 2064Date: 2023-01-16 20:55:10 +0800 2065 2066 xz: Do not set compression settings with raw format in list mode. 2067 2068 Calling coder_set_compression_settings() in list mode with verbose mode 2069 on caused the filter chain and memory requirements to print. This was 2070 unnecessary since the command results in an error and not consistent 2071 with other formats like lzma and alone. 2072 2073 src/xz/args.c | 3 ++- 2074 1 file changed, 2 insertions(+), 1 deletion(-) 2075 2076commit 039e0ab13efb144642f9d99eeeb9c668e76bb430 2077Author: Jia Tan <jiat0218@gmail.com> 2078Date: 2023-01-13 20:37:06 +0800 2079 2080 Translations: Update the Brazilian Portuguese translation. 2081 2082 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++-------------------------- 2083 1 file changed, 344 insertions(+), 259 deletions(-) 2084 2085commit 718f7a60e740b26b8353965edaaddc7d4deb4d85 2086Author: Lasse Collin <lasse.collin@tukaani.org> 2087Date: 2023-01-12 13:04:05 +0200 2088 2089 Build: Omit -Wmissing-noreturn from the default warnings. 2090 2091 It's not that important. It can be annoying in builds that 2092 disable many features since in those cases the tests programs 2093 will correctly trigger this warning with Clang. 2094 2095 configure.ac | 1 - 2096 1 file changed, 1 deletion(-) 2097 2098commit 3ccedb09724c998c39d708c945f6da5852c39e13 2099Author: Lasse Collin <lasse.collin@tukaani.org> 2100Date: 2023-01-12 06:05:58 +0200 2101 2102 xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1). 2103 2104 It makes no difference here as the return value fits into an int 2105 too and it then gets ignored but this looks better. 2106 2107 src/xz/file_io.c | 2 +- 2108 1 file changed, 1 insertion(+), 1 deletion(-) 2109 2110commit 09fbd2f0527def89e839c8907de4fe7ef6bc5019 2111Author: Lasse Collin <lasse.collin@tukaani.org> 2112Date: 2023-01-12 06:01:12 +0200 2113 2114 xz: Silence warnings from -Wsign-conversion in a 32-bit build. 2115 2116 src/common/tuklib_mbstr_fw.c | 2 +- 2117 src/xz/list.c | 4 ++-- 2118 2 files changed, 3 insertions(+), 3 deletions(-) 2119 2120commit 683d3f178ef1487b5418be49f331b0131a101b40 2121Author: Lasse Collin <lasse.collin@tukaani.org> 2122Date: 2023-01-12 05:38:48 +0200 2123 2124 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build. 2125 2126 It doesn't warn on a 64-bit system because truncating 2127 a ptrdiff_t (signed long) to uint32_t is diagnosed under 2128 -Wconversion by GCC and -Wshorten-64-to-32 by Clang. 2129 2130 src/liblzma/lz/lz_encoder_mf.c | 7 ++++--- 2131 1 file changed, 4 insertions(+), 3 deletions(-) 2132 2133commit 2b8062ef94a38d0f9ad0d1b309e8748db52f5c15 2134Author: Lasse Collin <lasse.collin@tukaani.org> 2135Date: 2023-01-12 04:46:45 +0200 2136 2137 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build. 2138 2139 src/common/mythread.h | 4 ++-- 2140 1 file changed, 2 insertions(+), 2 deletions(-) 2141 2142commit b16b9c0d22227012518595c2222facc73bd833a8 2143Author: Lasse Collin <lasse.collin@tukaani.org> 2144Date: 2023-01-12 04:17:24 +0200 2145 2146 Build: Make configure add more warning flags for GCC and Clang. 2147 2148 -Wstrict-aliasing was removed from the list since it is enabled 2149 by -Wall already. 2150 2151 A normal build is clean with these on GNU/Linux x86-64 with 2152 GCC 12.2.0 and Clang 14.0.6. 2153 2154 configure.ac | 36 +++++++++++++++++++++++++++++++----- 2155 1 file changed, 31 insertions(+), 5 deletions(-) 2156 2157commit c47ecd6d3909d0d3ff48dfd6e2ee41e7c7130b94 2158Author: Lasse Collin <lasse.collin@tukaani.org> 2159Date: 2023-01-12 04:14:18 +0200 2160 2161 Tests: Fix warnings from clang --Wassign-enum. 2162 2163 Explicitly casting the integer to lzma_check silences the warning. 2164 Since such an invalid value is needed in multiple tests, a constant 2165 INVALID_LZMA_CHECK_ID was added to tests.h. 2166 2167 The use of 0x1000 for lzma_block.check wasn't optimal as if 2168 the underlying type is a char then 0x1000 will be truncated to 0. 2169 However, in these test cases the value is ignored, thus even with 2170 such truncation the test would have passed. 2171 2172 tests/test_block_header.c | 6 +++--- 2173 tests/test_check.c | 2 +- 2174 tests/test_stream_flags.c | 8 ++++---- 2175 tests/tests.h | 9 +++++++++ 2176 4 files changed, 17 insertions(+), 8 deletions(-) 2177 2178commit 34e13ce015232968731de2a9ec3440a08b0084b1 2179Author: Lasse Collin <lasse.collin@tukaani.org> 2180Date: 2023-01-12 03:51:07 +0200 2181 2182 Tests: Silence warnings from -Wsign-conversion. 2183 2184 Note that assigning an unsigned int to lzma_check doesn't warn 2185 on GNU/Linux x86-64 since the enum type is unsigned on that 2186 platform. The enum can be signed on some other platform though 2187 so it's best to use enumeration type lzma_check in these situations. 2188 2189 tests/test_check.c | 6 +++--- 2190 tests/test_stream_flags.c | 10 +++++----- 2191 2 files changed, 8 insertions(+), 8 deletions(-) 2192 2193commit 6671d0fe46b77f0fafce860836b7a12dc3cda14a 2194Author: Lasse Collin <lasse.collin@tukaani.org> 2195Date: 2023-01-12 03:19:59 +0200 2196 2197 liblzma: Silence warnings from clang -Wconditional-uninitialized. 2198 2199 This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0. 2200 The actual initialization of the variables is done inside 2201 mythread_sync() macro. Clang doesn't seem to see that 2202 the initialization code inside the macro is always executed. 2203 2204 src/liblzma/common/stream_decoder_mt.c | 8 +++++--- 2205 src/liblzma/common/stream_encoder_mt.c | 2 +- 2206 2 files changed, 6 insertions(+), 4 deletions(-) 2207 2208commit d3e833ca1d2abda54648494c33aca73a40a47efe 2209Author: Lasse Collin <lasse.collin@tukaani.org> 2210Date: 2023-01-12 03:11:40 +0200 2211 2212 Fix warnings from clang -Wdocumentation. 2213 2214 src/liblzma/check/check.h | 4 ---- 2215 src/liblzma/lz/lz_encoder_mf.c | 4 ++-- 2216 src/xz/options.c | 4 ++-- 2217 3 files changed, 4 insertions(+), 8 deletions(-) 2218 2219commit 977dd2e26bc50efec8d30fb90380394042d24558 2220Author: Lasse Collin <lasse.collin@tukaani.org> 2221Date: 2023-01-12 03:04:28 +0200 2222 2223 Tests: test_lzip_decoder: Remove trailing white-space. 2224 2225 tests/test_lzip_decoder.c | 4 ++-- 2226 1 file changed, 2 insertions(+), 2 deletions(-) 2227 2228commit c55157ed7437ab14f2afb7fecf331e321f2edf9a 2229Author: Lasse Collin <lasse.collin@tukaani.org> 2230Date: 2023-01-12 03:03:55 +0200 2231 2232 Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion. 2233 2234 tests/test_lzip_decoder.c | 13 +++++++------ 2235 1 file changed, 7 insertions(+), 6 deletions(-) 2236 2237commit 18b845e69752c975dfeda418ec00eda22605c2ee 2238Author: Lasse Collin <lasse.collin@tukaani.org> 2239Date: 2023-01-11 18:52:54 +0200 2240 2241 Bump version and soname for 5.4.1. 2242 2243 src/liblzma/Makefile.am | 2 +- 2244 src/liblzma/api/lzma/version.h | 2 +- 2245 2 files changed, 2 insertions(+), 2 deletions(-) 2246 2247commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960 2248Author: Jia Tan <jiat0218@gmail.com> 2249Date: 2023-01-11 23:58:16 +0800 2250 2251 Add NEWS for 5.4.1. 2252 2253 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2254 1 file changed, 70 insertions(+) 2255 2256commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2 2257Author: Lasse Collin <lasse.collin@tukaani.org> 2258Date: 2023-01-10 11:56:11 +0200 2259 2260 sysdefs.h: Don't include strings.h anymore. 2261 2262 On some platforms src/xz/suffix.c may need <strings.h> for 2263 strcasecmp() but suffix.c includes the header when it needs it. 2264 2265 Unless there is an old system that otherwise supports enough C99 2266 to build XZ Utils but doesn't have C89/C90-compatible <string.h>, 2267 there should be no need to include <strings.h> in sysdefs.h. 2268 2269 src/common/sysdefs.h | 6 ------ 2270 1 file changed, 6 deletions(-) 2271 2272commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6 2273Author: Lasse Collin <lasse.collin@tukaani.org> 2274Date: 2023-01-10 11:23:41 +0200 2275 2276 xz: Include <strings.h> in suffix.c if needed for strcasecmp(). 2277 2278 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>. 2279 Of these, strcasecmp() is used on some platforms in suffix.c. 2280 Nothing else in the project needs <strings.h> (at least if 2281 building on a modern system). 2282 2283 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is 2284 defined and suffix.c relied on this. 2285 2286 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though 2287 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() 2288 is also in <string.h> in DJGPP. 2289 2290 src/xz/suffix.c | 3 +++ 2291 1 file changed, 3 insertions(+) 2292 2293commit aea639e81beb548e3114c74b6d9a894d6e036189 2294Author: Jia Tan <jiat0218@gmail.com> 2295Date: 2023-01-11 22:46:48 +0800 2296 2297 xz: Fix warning -Wformat-nonliteral on clang in message.c. 2298 2299 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will 2300 allow a non-literal format string as long as the function takes its 2301 format arguments as a va_list. 2302 2303 src/xz/message.c | 9 +++++++++ 2304 1 file changed, 9 insertions(+) 2305 2306commit e3b42bfcb0f67988beee7c7022fed0361282be45 2307Author: Jia Tan <jiat0218@gmail.com> 2308Date: 2023-01-11 20:58:31 +0800 2309 2310 Tests: Fix test_filter_flags copy/paste error. 2311 2312 tests/test_filter_flags.c | 4 ++-- 2313 1 file changed, 2 insertions(+), 2 deletions(-) 2314 2315commit 21625b7e11d004788e40eb5eb88d9d89f65fe347 2316Author: Jia Tan <jiat0218@gmail.com> 2317Date: 2023-01-11 20:42:29 +0800 2318 2319 Tests: Fix type-limits warning in test_filter_flags. 2320 2321 This only occurs in test_filter_flags when the BCJ filters are not 2322 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a 2323 type-limits warning with the loop variable since an unsigned number will 2324 always be >= 0. 2325 2326 tests/test_filter_flags.c | 13 ++++++++++--- 2327 1 file changed, 10 insertions(+), 3 deletions(-) 2328 2329commit c337983e928682d56ce3470b286a8d5b8646e0ad 2330Author: Lasse Collin <lasse.collin@tukaani.org> 2331Date: 2023-01-10 22:14:03 +0200 2332 2333 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. 2334 2335 This affects only 32-bit x86 builds. x86-64 is OK as is. 2336 2337 I still cannot easily test this myself. The reporter has tested 2338 this and it passes the tests included in the CMake build and 2339 performance is good: raw CRC64 is 2-3 times faster than the 2340 C version of the slice-by-four method. (Note that liblzma doesn't 2341 include a MSVC-compatible version of the 32-bit x86 assembly code 2342 for the slice-by-four method.) 2343 2344 Thanks to Iouri Kharon for figuring out a fix, testing, and 2345 benchmarking. 2346 2347 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ 2348 1 file changed, 18 insertions(+) 2349 2350commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7 2351Author: Jia Tan <jiat0218@gmail.com> 2352Date: 2023-01-11 01:18:50 +0800 2353 2354 Tests: Fix unused function warning in test_block_header. 2355 2356 One of the global arrays of filters was only used in a test that 2357 required both encoders and decoders to be configured in the build. 2358 2359 tests/test_block_header.c | 4 ++++ 2360 1 file changed, 4 insertions(+) 2361 2362commit 68e9ef036d18d7c3952bff0b391d5989b86934da 2363Author: Jia Tan <jiat0218@gmail.com> 2364Date: 2023-01-11 01:08:03 +0800 2365 2366 Tests: Fix unused function warning in test_index_hash. 2367 2368 test_index_hash does not use fill_index_hash() unless both encoders 2369 and decoders are configured in the build. 2370 2371 tests/test_index_hash.c | 4 +--- 2372 1 file changed, 1 insertion(+), 3 deletions(-) 2373 2374commit a387707cd8cdefbffb5b7429bda4b7fcc192954a 2375Author: Lasse Collin <lasse.collin@tukaani.org> 2376Date: 2023-01-10 00:33:14 +0200 2377 2378 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. 2379 2380 windows/INSTALL-MSVC.txt | 19 ++++++++++++------- 2381 1 file changed, 12 insertions(+), 7 deletions(-) 2382 2383commit 52902ad69518255a14b0144f0a2379e06fde5b6e 2384Author: Lasse Collin <lasse.collin@tukaani.org> 2385Date: 2023-01-10 12:47:16 +0200 2386 2387 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." 2388 2389 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. 2390 2391 It was reported that it wasn't a good enough fix and MSVC 2392 still produced (different kind of) bad code when building 2393 for 32-bit x86 if optimizations are enabled. 2394 2395 Thanks to Iouri Kharon. 2396 2397 src/liblzma/check/crc64_fast.c | 6 ------ 2398 1 file changed, 6 deletions(-) 2399 2400commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496 2401Author: Lasse Collin <lasse.collin@tukaani.org> 2402Date: 2023-01-10 10:05:13 +0200 2403 2404 sysdefs.h: Fix a comment. 2405 2406 src/common/sysdefs.h | 2 +- 2407 1 file changed, 1 insertion(+), 1 deletion(-) 2408 2409commit 6e89ab58b031aa046308a0b3504ff0a5be042571 2410Author: Lasse Collin <lasse.collin@tukaani.org> 2411Date: 2023-01-10 10:04:06 +0200 2412 2413 sysdefs.h: Don't include memory.h anymore even if it were available. 2414 2415 It quite probably was never needed, that is, any system where memory.h 2416 was required likely couldn't compile XZ Utils for other reasons anyway. 2417 2418 XZ Utils 5.2.6 and later source packages were generated using 2419 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code 2420 being removed is no longer used anyway. 2421 2422 src/common/sysdefs.h | 8 ++------ 2423 1 file changed, 2 insertions(+), 6 deletions(-) 2424 2425commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123 2426Author: Lasse Collin <lasse.collin@tukaani.org> 2427Date: 2023-01-10 08:50:26 +0200 2428 2429 CMake/Windows: Add a workaround for windres from GNU binutils. 2430 2431 This is combined from the following commits in the master branch: 2432 443dfebced041adc88f10d824188eeef5b5821a9 2433 6b117d3b1fe91eb26d533ab16a2e552f84148d47 2434 5e34774c31d1b7509b5cb77a3be9973adec59ea0 2435 2436 Thanks to Iouri Kharon for the bug report, the original patch, 2437 and testing. 2438 2439 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++- 2440 1 file changed, 31 insertions(+), 1 deletion(-) 2441 2442commit 43521e77acc907863fa4f94aae276366172cb9ee 2443Author: Lasse Collin <lasse.collin@tukaani.org> 2444Date: 2023-01-06 22:53:38 +0200 2445 2446 Tests: test_filter_flags: Clean up minor issues. 2447 2448 Here are the list of the most significant issues addressed: 2449 - Avoid using internal common.h header. It's not good to copy the 2450 constants like this but common.h cannot be included for use outside 2451 of liblzma. This is the quickest thing to do that could be fixed later. 2452 2453 - Omit the INIT_FILTER macro. Initialization should be done with just 2454 regular designated initializers. 2455 2456 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter 2457 Flags encoder and decoder don't validate the options thoroughly. 2458 257 is valid only for the x86 filter. This is a bit silly but 2459 not a significant problem in practice because the encoder and 2460 decoder initialization functions will catch bad alignment still. 2461 Perhaps this should be fixed but it's not urgent and doesn't need 2462 to be in 5.4.x. 2463 2464 - Various tweaks to comments such as filter id -> Filter ID 2465 2466 tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- 2467 1 file changed, 78 insertions(+), 75 deletions(-) 2468 2469commit 6b44cead95d767414272dc3a67898a36bfdf95b3 2470Author: Jia Tan <jiat0218@gmail.com> 2471Date: 2022-12-29 23:33:33 +0800 2472 2473 Tests: Refactors existing filter flags tests. 2474 2475 Converts the existing filter flags tests into tuktests. 2476 2477 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- 2478 1 file changed, 457 insertions(+), 198 deletions(-) 2479 2480commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7 2481Author: Lasse Collin <lasse.collin@tukaani.org> 2482Date: 2023-01-08 00:32:29 +0200 2483 2484 Tests: tuktest.h: Support tuktest_malloc(0). 2485 2486 It's not needed in XZ Utils at least for now. It's good to support 2487 it still because if such use is needed later, it wouldn't be 2488 caught on GNU/Linux since malloc(0) from glibc returns non-NULL. 2489 2490 tests/tuktest.h | 4 ++-- 2491 1 file changed, 2 insertions(+), 2 deletions(-) 2492 2493commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee 2494Author: Lasse Collin <lasse.collin@tukaani.org> 2495Date: 2023-01-07 21:57:11 +0200 2496 2497 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. 2498 2499 The changes listed on cmake-policies(7) for versions 3.17 to 3.25 2500 shouldn't affect this project. 2501 2502 CMakeLists.txt | 2 +- 2503 1 file changed, 1 insertion(+), 1 deletion(-) 2504 2505commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2 2506Author: Lasse Collin <lasse.collin@tukaani.org> 2507Date: 2023-01-08 00:24:23 +0200 2508 2509 Update THANKS. 2510 2511 THANKS | 1 + 2512 1 file changed, 1 insertion(+) 2513 2514commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab 2515Author: Lasse Collin <lasse.collin@tukaani.org> 2516Date: 2023-01-07 19:50:35 +0200 2517 2518 Update THANKS. 2519 2520 THANKS | 1 + 2521 1 file changed, 1 insertion(+) 2522 2523commit 3d45987451b1c3bb42697b29341824c0e5484cba 2524Author: Lasse Collin <lasse.collin@tukaani.org> 2525Date: 2023-01-09 11:27:24 +0200 2526 2527 CMake: Fix a copypaste error in xzdec Windows resource file handling. 2528 2529 It was my mistake. Thanks to Iouri Kharon for the bug report. 2530 2531 CMakeLists.txt | 4 ++-- 2532 1 file changed, 2 insertions(+), 2 deletions(-) 2533 2534commit 706bce5018d7cf83094e13454a0731169ec119b5 2535Author: Lasse Collin <lasse.collin@tukaani.org> 2536Date: 2023-01-07 19:50:03 +0200 2537 2538 CMake/Windows: Add resource files to xz.exe and xzdec.exe. 2539 2540 The command line tools cannot be built with MSVC for now but 2541 they can be built with MinGW-w64. 2542 2543 Thanks to Iouri Kharon for the bug report and the original patch. 2544 2545 CMakeLists.txt | 16 ++++++++++++++++ 2546 1 file changed, 16 insertions(+) 2547 2548commit e96dee55df04113c33b387ccdb6cb70935422d91 2549Author: Lasse Collin <lasse.collin@tukaani.org> 2550Date: 2023-01-09 12:22:05 +0200 2551 2552 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). 2553 2554 I haven't tested with MSVC myself and there doesn't seem to be 2555 information about the problem online, so I'm relying on the bug report. 2556 2557 Thanks to Iouri Kharon for the bug report and the patch. 2558 2559 src/liblzma/check/crc64_fast.c | 6 ++++++ 2560 1 file changed, 6 insertions(+) 2561 2562commit 52bc1ee34dda9bb6fb40175e5952863066681b77 2563Author: Lasse Collin <lasse.collin@tukaani.org> 2564Date: 2023-01-07 19:31:15 +0200 2565 2566 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. 2567 2568 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets 2569 disabled with VS2013. 2570 2571 Thanks to Iouri Kharon for the bug report. 2572 2573 CMakeLists.txt | 3 ++- 2574 configure.ac | 8 ++++++-- 2575 2 files changed, 8 insertions(+), 3 deletions(-) 2576 2577commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa 2578Author: Jia Tan <jiat0218@gmail.com> 2579Date: 2022-12-29 00:25:18 +0800 2580 2581 Tests: Creates test_index_hash.c 2582 2583 Tests all API functions exported from index_hash.h. Does not have a 2584 dedicated test for lzma_index_hash_end. 2585 2586 [Minor edits were made by Lasse Collin.] 2587 2588 .gitignore | 1 + 2589 CMakeLists.txt | 2 + 2590 tests/Makefile.am | 3 + 2591 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++ 2592 4 files changed, 394 insertions(+) 2593 2594commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1 2595Author: Jia Tan <jiat0218@gmail.com> 2596Date: 2023-01-05 20:57:25 +0800 2597 2598 liblzma: Remove common.h include from common/index.h. 2599 2600 common/index.h is needed by liblzma internally and tests. common.h will 2601 include and define many things that are not needed by the tests. 2602 2603 Also, this prevents include order problems because both common.h and 2604 lzma.h define LZMA_API. On most platforms it results only in a warning 2605 but on Windows it would break the build as the definition in common.h 2606 must be used only for building liblzma itself. 2607 2608 src/liblzma/common/index.c | 1 + 2609 src/liblzma/common/index.h | 9 +++++++-- 2610 src/liblzma/common/index_decoder.h | 1 + 2611 src/liblzma/common/stream_buffer_encoder.c | 1 + 2612 4 files changed, 10 insertions(+), 2 deletions(-) 2613 2614commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb 2615Author: Jia Tan <jiat0218@gmail.com> 2616Date: 2022-08-17 20:20:16 +0800 2617 2618 liblzma: Add NULL check to lzma_index_hash_append. 2619 2620 This is for consistency with lzma_index_append. 2621 2622 src/liblzma/common/index_hash.c | 2 +- 2623 1 file changed, 1 insertion(+), 1 deletion(-) 2624 2625commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc 2626Author: Jia Tan <jiat0218@gmail.com> 2627Date: 2022-08-17 17:59:51 +0800 2628 2629 liblzma: Replaced hardcoded 0x0 index indicator byte with macro 2630 2631 src/liblzma/common/index.h | 3 +++ 2632 src/liblzma/common/index_decoder.c | 2 +- 2633 src/liblzma/common/index_encoder.c | 2 +- 2634 src/liblzma/common/index_hash.c | 2 +- 2635 src/liblzma/common/stream_decoder.c | 3 ++- 2636 src/liblzma/common/stream_decoder_mt.c | 2 +- 2637 6 files changed, 9 insertions(+), 5 deletions(-) 2638 2639commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6 2640Author: Jia Tan <jiat0218@gmail.com> 2641Date: 2023-01-06 20:43:31 +0800 2642 2643 Style: Change #if !defined() to #ifndef in mythread.h. 2644 2645 src/common/mythread.h | 2 +- 2646 1 file changed, 1 insertion(+), 1 deletion(-) 2647 2648commit 3f0130aa288e4ed57ace609517db9700a41223af 2649Author: Jia Tan <jiat0218@gmail.com> 2650Date: 2023-01-06 20:35:55 +0800 2651 2652 Build: Add missing stream_decoder_mt.c to .vcxproj files. 2653 2654 The line in the .vcxproj files for building with was missing in 5.4.0. 2655 Thank to Hajin Jang for reporting the issue. 2656 2657 windows/vs2013/liblzma.vcxproj | 1 + 2658 windows/vs2013/liblzma_dll.vcxproj | 1 + 2659 windows/vs2017/liblzma.vcxproj | 1 + 2660 windows/vs2017/liblzma_dll.vcxproj | 1 + 2661 windows/vs2019/liblzma.vcxproj | 1 + 2662 windows/vs2019/liblzma_dll.vcxproj | 1 + 2663 6 files changed, 6 insertions(+) 2664 2665commit f204d1050a515d17851eed9049862ce5a9c729c1 2666Author: Lasse Collin <lasse.collin@tukaani.org> 2667Date: 2023-01-04 22:40:54 +0200 2668 2669 Update THANKS. 2670 2671 THANKS | 1 + 2672 1 file changed, 1 insertion(+) 2673 2674commit 34a9c2d650d6c30bd88e1b21910dd863209aa884 2675Author: Lasse Collin <lasse.collin@tukaani.org> 2676Date: 2023-01-04 18:40:28 +0200 2677 2678 Tests: Adjust style in test_compress.sh. 2679 2680 tests/test_compress.sh | 12 +++++++----- 2681 1 file changed, 7 insertions(+), 5 deletions(-) 2682 2683commit 761c208d58e0c3daa0f46e68b406adfc318d2a46 2684Author: Jia Tan <jiat0218@gmail.com> 2685Date: 2023-01-04 23:58:58 +0800 2686 2687 Tests: Replace non portable shell parameter expansion 2688 2689 The shell parameter expansion using # and ## is not supported in 2690 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully 2691 portable, so we should avoid it. 2692 2693 tests/create_compress_files.c | 2 +- 2694 tests/test_compress.sh | 20 +++++++++++++------- 2695 tests/test_compress_prepared_bcj_sparc | 2 +- 2696 tests/test_compress_prepared_bcj_x86 | 2 +- 2697 4 files changed, 16 insertions(+), 10 deletions(-) 2698 2699commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4 2700Author: Jia Tan <jiat0218@gmail.com> 2701Date: 2023-01-03 21:02:38 +0800 2702 2703 Translations: Add Korean translation of man pages. 2704 2705 Thanks to Seong-ho Cho 2706 2707 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2708 po4a/po4a.conf | 2 +- 2709 2 files changed, 5553 insertions(+), 1 deletion(-) 2710 2711commit ca2af49bb8be5995eb0e6a3abf457622626d49a7 2712Author: Jia Tan <jiat0218@gmail.com> 2713Date: 2023-01-03 20:47:27 +0800 2714 2715 Translations: Update the Esperanto translation. 2716 2717 po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- 2718 1 file changed, 332 insertions(+), 288 deletions(-) 2719 2720commit bfba3394aed03311fe9a746d3141b2e16d8b9325 2721Author: Lasse Collin <lasse.collin@tukaani.org> 2722Date: 2023-01-02 17:05:07 +0200 2723 2724 Build: Fix config.h comments. 2725 2726 configure.ac | 2 +- 2727 m4/tuklib_progname.m4 | 2 +- 2728 2 files changed, 2 insertions(+), 2 deletions(-) 2729 2730commit 507648ad114c2ae0cd6d181063e1ac07e8106718 2731Author: Jia Tan <jiat0218@gmail.com> 2732Date: 2023-01-02 22:33:48 +0800 2733 2734 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. 2735 2736 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to 2737 HAVE_PROGRAM_INVOCATION_NAME. Previously, 2738 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when 2739 building with autotools. CMake would only set this when it was 1, and the 2740 dos/config.h did not define it. The new macro definition is consistent 2741 across build systems. 2742 2743 cmake/tuklib_progname.cmake | 5 ++--- 2744 m4/tuklib_progname.m4 | 5 ++++- 2745 src/common/tuklib_progname.c | 2 +- 2746 src/common/tuklib_progname.h | 2 +- 2747 4 files changed, 8 insertions(+), 6 deletions(-) 2748 2749commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5 2750Author: Lasse Collin <lasse.collin@tukaani.org> 2751Date: 2022-12-30 20:10:08 +0200 2752 2753 Tests: test_check: Test corner cases of CLMUL CRC64. 2754 2755 tests/test_check.c | 27 +++++++++++++++++++++++++++ 2756 1 file changed, 27 insertions(+) 2757 2758commit 8791826f31733fda0a13b411c2ed930faaeb25aa 2759Author: Lasse Collin <lasse.collin@tukaani.org> 2760Date: 2022-12-30 19:36:49 +0200 2761 2762 Tests: Clarify a comment in test_lzip_decoder.c. 2763 2764 tests/test_lzip_decoder.c | 8 ++++++-- 2765 1 file changed, 6 insertions(+), 2 deletions(-) 2766 2767commit c410d812ea12bfc74f6b727c1a799478c79f19ca 2768Author: Jia Tan <jiat0218@gmail.com> 2769Date: 2022-12-29 01:55:19 +0800 2770 2771 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c. 2772 2773 Previously, mytime.c depended on mythread.h for <time.h> to be included. 2774 2775 src/xz/mytime.c | 4 +++- 2776 1 file changed, 3 insertions(+), 1 deletion(-) 2777 2778commit 501c6013d4a59fae5d4368e9657c4885493db809 2779Author: Jia Tan <jiat0218@gmail.com> 2780Date: 2022-12-29 01:15:27 +0800 2781 2782 liblzma: Includes sys/time.h conditionally in mythread 2783 2784 Previously, <sys/time.h> was always included, even if mythread only used 2785 clock_gettime. <time.h> is still needed even if clock_gettime is not used 2786 though because struct timespec is needed for mythread_condtime. 2787 2788 src/common/mythread.h | 8 +++++++- 2789 1 file changed, 7 insertions(+), 1 deletion(-) 2790 2791commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f 2792Author: Jia Tan <jiat0218@gmail.com> 2793Date: 2022-12-29 01:10:53 +0800 2794 2795 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. 2796 2797 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always 2798 be set to 0 or 1. However, this macro was needed in xz so if xz was not 2799 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but 2800 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, 2801 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and 2802 will only be set if it is 1. 2803 2804 CMakeLists.txt | 8 +++----- 2805 configure.ac | 5 ++++- 2806 src/common/mythread.h | 4 ++-- 2807 src/xz/mytime.c | 5 ++--- 2808 4 files changed, 11 insertions(+), 11 deletions(-) 2809 2810commit 6fc3e5467911572fa9af4021ea46396261aae796 2811Author: Jia Tan <jiat0218@gmail.com> 2812Date: 2022-12-28 01:14:07 +0800 2813 2814 Translations: Add Ukrainian translations of man pages. 2815 2816 Thanks to Yuri Chornoivan 2817 2818 po4a/po4a.conf | 2 +- 2819 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2820 2 files changed, 3677 insertions(+), 1 deletion(-) 2821 2822commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e 2823Author: Jia Tan <jiat0218@gmail.com> 2824Date: 2022-12-22 23:14:53 +0800 2825 2826 liblzma: Update documentation for lzma_filter_encoder. 2827 2828 src/liblzma/common/filter_encoder.c | 7 +++++-- 2829 1 file changed, 5 insertions(+), 2 deletions(-) 2830 2831commit b14b8dbba9a3b232787ae218b46430b9246383dd 2832Author: Jia Tan <jiat0218@gmail.com> 2833Date: 2022-12-21 21:12:03 +0800 2834 2835 Tests: Adds lzip decoder tests 2836 2837 .gitignore | 1 + 2838 tests/Makefile.am | 2 + 2839 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ 2840 3 files changed, 474 insertions(+) 2841 2842commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710 2843Author: Jia Cheong Tan <jiat0218@gmail.com> 2844Date: 2022-12-20 22:05:21 +0800 2845 2846 Doxygen: Update .gitignore for generating docs for in source build. 2847 2848 In source builds are not recommended, but we should still ignore 2849 the generated artifacts. 2850 2851 .gitignore | 2 ++ 2852 1 file changed, 2 insertions(+) 2853 2854commit d3e6fe44196bf9478ad193522e2b48febf2eca6b 2855Author: Jia Tan <jiat0218@gmail.com> 2856Date: 2022-12-20 20:46:44 +0800 2857 2858 liblzma: Fix lzma_microlzma_encoder() return value. 2859 2860 Using return_if_error on lzma_lzma_lclppb_encode was improper because 2861 return_if_error is expecting an lzma_ret value, but 2862 lzma_lzma_lclppb_encode returns a boolean. This could result in 2863 lzma_microlzma_encoder, which would be misleading for applications. 2864 2865 src/liblzma/common/microlzma_encoder.c | 3 ++- 2866 1 file changed, 2 insertions(+), 1 deletion(-) 2867 2868commit b55a27b46f52524a4a8d9cdef03e6689cefc1375 2869Author: Lasse Collin <lasse.collin@tukaani.org> 2870Date: 2022-12-16 18:30:02 +0200 2871 2872 liblzma: Update authors list in arm64.c. 2873 2874 src/liblzma/simple/arm64.c | 1 + 2875 1 file changed, 1 insertion(+) 2876 2877commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d 2878Author: Jia Tan <jiat0218@gmail.com> 2879Date: 2022-12-16 20:58:55 +0800 2880 2881 CMake: Update .gitignore for CMake artifacts from in source build. 2882 2883 In source builds are not recommended, but we can make it easier 2884 by ignoring the generated artifacts from CMake. 2885 2886 .gitignore | 23 +++++++++++++++++++++++ 2887 1 file changed, 23 insertions(+) 2888 2889commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 2890Author: Lasse Collin <lasse.collin@tukaani.org> 2891Date: 2022-12-13 20:37:17 +0200 2892 2893 Bump version to 5.4.0 and soname to 5.4.0. 2894 2895 src/liblzma/Makefile.am | 2 +- 2896 src/liblzma/api/lzma/version.h | 6 +++--- 2897 src/liblzma/liblzma_generic.map | 2 +- 2898 src/liblzma/liblzma_linux.map | 2 +- 2899 4 files changed, 6 insertions(+), 6 deletions(-) 2900 2901commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19 2902Author: Lasse Collin <lasse.collin@tukaani.org> 2903Date: 2022-12-13 20:29:39 +0200 2904 2905 Update INSTALL: CMake on Windows isn't experimental anymore. 2906 2907 Using CMake to build liblzma should work on a few other OSes 2908 but building the command line tools is still subtly broken. 2909 2910 It is known that shared library versioning may differ between 2911 CMake and Libtool builds on some OSes, most notably Darwin. 2912 2913 INSTALL | 10 ++++------ 2914 1 file changed, 4 insertions(+), 6 deletions(-) 2915 2916commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852 2917Author: Lasse Collin <lasse.collin@tukaani.org> 2918Date: 2022-12-13 19:47:53 +0200 2919 2920 Add NEWS for 5.4.0. 2921 2922 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2923 1 file changed, 202 insertions(+) 2924 2925commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14 2926Author: Lasse Collin <lasse.collin@tukaani.org> 2927Date: 2022-12-13 17:41:20 +0200 2928 2929 Fix a typo in NEWS. 2930 2931 NEWS | 2 +- 2932 1 file changed, 1 insertion(+), 1 deletion(-) 2933 2934commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245 2935Author: Lasse Collin <lasse.collin@tukaani.org> 2936Date: 2022-12-13 17:41:03 +0200 2937 2938 Add NEWS for 5.2.10. 2939 2940 NEWS | 12 ++++++++++++ 2941 1 file changed, 12 insertions(+) 2942 2943commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6 2944Author: Lasse Collin <lasse.collin@tukaani.org> 2945Date: 2022-12-13 12:30:45 +0200 2946 2947 Tests: Fix a typo in tests/files/README. 2948 2949 tests/files/README | 2 +- 2950 1 file changed, 1 insertion(+), 1 deletion(-) 2951 2952commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5 2953Author: Lasse Collin <lasse.collin@tukaani.org> 2954Date: 2022-12-13 12:30:09 +0200 2955 2956 Tests: Add two ARM64 test files. 2957 2958 tests/files/README | 7 +++++++ 2959 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes 2960 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes 2961 tests/test_files.sh | 5 +++++ 2962 4 files changed, 12 insertions(+) 2963 2964commit f5e419550619c548c7c35d7e367cf00580a56521 2965Author: Lasse Collin <lasse.collin@tukaani.org> 2966Date: 2022-12-12 22:44:21 +0200 2967 2968 Translations: Update the Catalan translation. 2969 2970 po/ca.po | 657 +++++++++++++++++++++++++++++---------------------------------- 2971 1 file changed, 306 insertions(+), 351 deletions(-) 2972 2973commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8 2974Author: Lasse Collin <lasse.collin@tukaani.org> 2975Date: 2022-12-12 19:18:12 +0200 2976 2977 Update THANKS. 2978 2979 THANKS | 1 + 2980 1 file changed, 1 insertion(+) 2981 2982commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc 2983Author: Lasse Collin <lasse.collin@tukaani.org> 2984Date: 2022-12-12 19:07:58 +0200 2985 2986 Update AUTHORS. 2987 2988 AUTHORS | 12 ++++++++++++ 2989 1 file changed, 12 insertions(+) 2990 2991commit f2d98e691099d82054d5f3071ef6f5e809932e44 2992Author: Lasse Collin <lasse.collin@tukaani.org> 2993Date: 2022-12-12 15:31:14 +0200 2994 2995 Docs: Omit multi-threaded decompress from TODO. 2996 2997 The TODO file outdated still. 2998 2999 TODO | 2 -- 3000 1 file changed, 2 deletions(-) 3001 3002commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da 3003Author: Lasse Collin <lasse.collin@tukaani.org> 3004Date: 2022-12-11 21:16:09 +0200 3005 3006 Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter. 3007 3008 doc/xz-file-format.txt | 29 ++++++++++++++++++++++------- 3009 1 file changed, 22 insertions(+), 7 deletions(-) 3010 3011commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f 3012Author: Lasse Collin <lasse.collin@tukaani.org> 3013Date: 2022-12-11 21:13:57 +0200 3014 3015 xz: Rename --experimental-arm64 to --arm64. 3016 3017 src/xz/args.c | 2 +- 3018 1 file changed, 1 insertion(+), 1 deletion(-) 3019 3020commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5 3021Author: Lasse Collin <lasse.collin@tukaani.org> 3022Date: 2022-12-11 21:13:06 +0200 3023 3024 liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A. 3025 3026 src/liblzma/api/lzma/bcj.h | 6 +----- 3027 1 file changed, 1 insertion(+), 5 deletions(-) 3028 3029commit 01b3549e523edac899ec4925b282ceddd20da116 3030Author: Lasse Collin <lasse.collin@tukaani.org> 3031Date: 2022-12-08 19:24:22 +0200 3032 3033 xz: Make args_info.files_name a const pointer. 3034 3035 src/xz/args.c | 2 +- 3036 src/xz/args.h | 2 +- 3037 2 files changed, 2 insertions(+), 2 deletions(-) 3038 3039commit bc665b84ea6bf7946394a08122177efe41b26a5f 3040Author: Lasse Collin <lasse.collin@tukaani.org> 3041Date: 2022-12-08 19:18:16 +0200 3042 3043 xz: Don't modify argv[]. 3044 3045 The code that parses --memlimit options and --block-list modified 3046 the argv[] when parsing the option string from optarg. This was 3047 visible in "ps auxf" and such and could be confusing. I didn't 3048 understand it back in the day when I wrote that code. Now a copy 3049 is allocated when modifiable strings are needed. 3050 3051 src/xz/args.c | 23 +++++++++++++++++++---- 3052 1 file changed, 19 insertions(+), 4 deletions(-) 3053 3054commit a13064e1c290de7933db72b6dffbd65cfce59c9f 3055Author: Lasse Collin <lasse.collin@tukaani.org> 3056Date: 2022-12-08 18:18:57 +0200 3057 3058 Translations: Update the German man page translations. 3059 3060 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------ 3061 1 file changed, 1374 insertions(+), 3196 deletions(-) 3062 3063commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a 3064Author: Jia Tan <jiat0218@gmail.com> 3065Date: 2022-12-06 23:05:56 +0800 3066 3067 Translations: Update the German translation. 3068 3069 po/de.po | 586 ++++++++++++++++++++++++++++++++++----------------------------- 3070 1 file changed, 315 insertions(+), 271 deletions(-) 3071 3072commit 5c304b57c24ef40ff57f864301065f0244c05bde 3073Author: Jia Tan <jiat0218@gmail.com> 3074Date: 2022-12-06 23:04:25 +0800 3075 3076 Translations: Update the Turkish translation. 3077 3078 po/tr.po | 221 +++++++++++++++++++++++++++++++-------------------------------- 3079 1 file changed, 108 insertions(+), 113 deletions(-) 3080 3081commit 6d86781fdb937970486500447ebb49b98244235b 3082Author: Jia Tan <jiat0218@gmail.com> 3083Date: 2022-12-06 23:02:11 +0800 3084 3085 Translations: Update the Croatian translation. 3086 3087 po/hr.po | 228 +++++++++++++++++++++++++++++++-------------------------------- 3088 1 file changed, 113 insertions(+), 115 deletions(-) 3089 3090commit 7a5b4b8075eb36026b1796f04ffed5830c42396a 3091Author: Jia Tan <jiat0218@gmail.com> 3092Date: 2022-12-06 22:56:30 +0800 3093 3094 Translations: Add Romanian translation of man pages. 3095 3096 Thanks to Remus-Gabriel Chelu. 3097 3098 po4a/po4a.conf | 2 +- 3099 po4a/ro.po | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3100 2 files changed, 3693 insertions(+), 1 deletion(-) 3101 3102commit c6977e7400088177556e8771bcb839eb7d90caa3 3103Author: Jia Tan <jiat0218@gmail.com> 3104Date: 2022-12-06 22:52:13 +0800 3105 3106 Translations: Update the Romanian translation. 3107 3108 po/ro.po | 294 +++++++++++++++++++++++++++++++-------------------------------- 3109 1 file changed, 147 insertions(+), 147 deletions(-) 3110 3111commit ac2a747e939c2cbccff7a49c399769af5e02d2ab 3112Author: Lasse Collin <lasse.collin@tukaani.org> 3113Date: 2022-12-08 17:30:09 +0200 3114 3115 liblzma: Check for unexpected NULL pointers in block_header_decode(). 3116 3117 The API docs gave an impression that such checks are done 3118 but they actually weren't done. In practice it made little 3119 difference since the calling code has a bug if these are NULL. 3120 3121 Thanks to Jia Tan for the original patch that checked for 3122 block->filters == NULL. 3123 3124 src/liblzma/common/block_header_decoder.c | 4 ++++ 3125 1 file changed, 4 insertions(+) 3126 3127commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25 3128Author: Lasse Collin <lasse.collin@tukaani.org> 3129Date: 2022-12-01 20:59:32 +0200 3130 3131 Bump version number for 5.3.5beta. 3132 3133 This also sorts the symbol names alphabetically in liblzma_*.map. 3134 3135 src/liblzma/api/lzma/version.h | 4 ++-- 3136 src/liblzma/liblzma_generic.map | 10 +++++----- 3137 src/liblzma/liblzma_linux.map | 10 +++++----- 3138 3 files changed, 12 insertions(+), 12 deletions(-) 3139 3140commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa 3141Author: Lasse Collin <lasse.collin@tukaani.org> 3142Date: 2022-12-01 20:57:26 +0200 3143 3144 Add NEWS for 5.3.5beta. 3145 3146 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 3147 1 file changed, 43 insertions(+) 3148 3149commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e 3150Author: Lasse Collin <lasse.collin@tukaani.org> 3151Date: 2022-12-01 20:57:09 +0200 3152 3153 Update THANKS. 3154 3155 THANKS | 3 +++ 3156 1 file changed, 3 insertions(+) 3157 3158commit 62b270988ec67314d69976df484d2974c6eacfda 3159Author: Lasse Collin <lasse.collin@tukaani.org> 3160Date: 2022-12-01 20:04:17 +0200 3161 3162 liblzma: Use __has_attribute(__symver__) to fix Clang detection. 3163 3164 If someone sets up Clang to define __GNUC__ to 10 or greater 3165 then symvers broke. __has_attribute is supported by such GCC 3166 and Clang versions that don't support __symver__ so this should 3167 be much better and simpler way to detect if __symver__ is 3168 actually supported. 3169 3170 Thanks to Tomasz Gajc for the bug report. 3171 3172 src/liblzma/common/common.h | 15 ++++++++++++++- 3173 1 file changed, 14 insertions(+), 1 deletion(-) 3174 3175commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb 3176Author: Lasse Collin <lasse.collin@tukaani.org> 3177Date: 2022-12-01 18:51:52 +0200 3178 3179 liblzma: Omit zero-skipping from ARM64 filter. 3180 3181 It has some complicated downsides and its usefulness is more limited 3182 than I originally thought. So this change is bad for certain very 3183 specific situations but a generic solution that works for other 3184 filters (and is otherwise better too) is planned anyway. And this 3185 way 7-Zip can use the same compatible filter for the .7z format. 3186 3187 This is still marked as experimental with a new temporary Filter ID. 3188 3189 src/liblzma/api/lzma/bcj.h | 2 +- 3190 src/liblzma/simple/arm64.c | 81 +++++++++++++--------------------------------- 3191 2 files changed, 24 insertions(+), 59 deletions(-) 3192 3193commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b 3194Author: Lasse Collin <lasse.collin@tukaani.org> 3195Date: 2022-12-01 18:13:27 +0200 3196 3197 xz: Omit the special notes about ARM64 filter on the man page. 3198 3199 src/xz/xz.1 | 5 ++--- 3200 1 file changed, 2 insertions(+), 3 deletions(-) 3201 3202commit 0c3627b51862eb0dcdd4fc283d046250571991c6 3203Author: Lasse Collin <lasse.collin@tukaani.org> 3204Date: 2022-12-01 18:12:03 +0200 3205 3206 liblzma: Don't be over-specific in lzma_str_to_filters API doc. 3207 3208 src/liblzma/api/lzma/filter.h | 3 +-- 3209 1 file changed, 1 insertion(+), 2 deletions(-) 3210 3211commit 94adf057f27b1970f493dc99cd166407d7255639 3212Author: Lasse Collin <lasse.collin@tukaani.org> 3213Date: 2022-12-01 17:54:23 +0200 3214 3215 liblzma: Silence unused variable warning when BCJ filters are disabled. 3216 3217 Thanks to Jia Tan for the original patch. 3218 3219 src/liblzma/common/string_conversion.c | 15 +++++++++++++++ 3220 1 file changed, 15 insertions(+) 3221 3222commit c68af4441744e5ffc41a472e1be9c9d53a1d9780 3223Author: Lasse Collin <lasse.collin@tukaani.org> 3224Date: 2022-12-01 17:38:03 +0200 3225 3226 Translations: Update the Chinese (simplified) translation. 3227 3228 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++-------------------------- 3229 1 file changed, 348 insertions(+), 260 deletions(-) 3230 3231commit 3be6942e5c27d29995d41da52fbe274e4ce4a537 3232Author: Lasse Collin <lasse.collin@tukaani.org> 3233Date: 2022-11-30 18:55:03 +0200 3234 3235 Add NEWS for 5.2.9. 3236 3237 NEWS | 34 ++++++++++++++++++++++++++++++++++ 3238 1 file changed, 34 insertions(+) 3239 3240commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d 3241Author: Jia Tan <jiat0218@gmail.com> 3242Date: 2022-11-30 23:33:08 +0800 3243 3244 xz: Remove message_filters_to_str function prototype from message.h. 3245 3246 This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b. 3247 3248 src/xz/message.h | 16 ---------------- 3249 1 file changed, 16 deletions(-) 3250 3251commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7 3252Author: Lasse Collin <lasse.collin@tukaani.org> 3253Date: 2022-11-30 18:08:34 +0200 3254 3255 Change the bug report address. 3256 3257 It forwards to me and Jia Tan. 3258 3259 Also update the IRC reference in README as #tukaani was moved 3260 to Libera Chat long ago. 3261 3262 CMakeLists.txt | 2 +- 3263 README | 11 +++++------ 3264 configure.ac | 2 +- 3265 dos/config.h | 2 +- 3266 windows/README-Windows.txt | 2 +- 3267 5 files changed, 9 insertions(+), 10 deletions(-) 3268 3269commit c21983c76031e01da01ad3c6cc716fe4b8a75070 3270Author: Lasse Collin <lasse.collin@tukaani.org> 3271Date: 2022-11-30 17:50:17 +0200 3272 3273 Build: Add string_conversion.c to CMake, DOS, and VS files. 3274 3275 CMakeLists.txt | 1 + 3276 dos/Makefile | 1 + 3277 windows/vs2013/liblzma.vcxproj | 1 + 3278 windows/vs2013/liblzma_dll.vcxproj | 1 + 3279 windows/vs2017/liblzma.vcxproj | 1 + 3280 windows/vs2017/liblzma_dll.vcxproj | 1 + 3281 windows/vs2019/liblzma.vcxproj | 1 + 3282 windows/vs2019/liblzma_dll.vcxproj | 1 + 3283 8 files changed, 8 insertions(+) 3284 3285commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82 3286Author: Lasse Collin <lasse.collin@tukaani.org> 3287Date: 2022-11-30 17:38:32 +0200 3288 3289 Update to HTTPS URLs in AUTHORS. 3290 3291 AUTHORS | 6 +++--- 3292 1 file changed, 3 insertions(+), 3 deletions(-) 3293 3294commit 0a72b9ca2fe20082da9b7128fe0d908af947a851 3295Author: Jia Tan <jiat0218@gmail.com> 3296Date: 2022-11-30 00:52:06 +0800 3297 3298 liblzma: Improve documentation for string to filter functions. 3299 3300 src/liblzma/api/lzma/filter.h | 17 +++++++++-------- 3301 1 file changed, 9 insertions(+), 8 deletions(-) 3302 3303commit a6e21fcede3b196160a52dd294d965c508a4bb33 3304Author: Lasse Collin <lasse.collin@tukaani.org> 3305Date: 2022-11-29 22:27:42 +0200 3306 3307 liblzma: Two fixes to lzma_str_list_filters() API docs. 3308 3309 Thanks to Jia Tan. 3310 3311 src/liblzma/api/lzma/filter.h | 6 +++--- 3312 1 file changed, 3 insertions(+), 3 deletions(-) 3313 3314commit 7484744af6cbabe81e92af7d9e061dfd597fff7b 3315Author: Lasse Collin <lasse.collin@tukaani.org> 3316Date: 2022-11-28 21:57:47 +0200 3317 3318 xz: Use lzma_str_from_filters(). 3319 3320 Two uses: Displaying encoder filter chain when compressing with -vv, 3321 and displaying the decoder filter chain in --list -vv. 3322 3323 src/xz/list.c | 28 ++++++--- 3324 src/xz/message.c | 175 +++---------------------------------------------------- 3325 2 files changed, 28 insertions(+), 175 deletions(-) 3326 3327commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203 3328Author: Lasse Collin <lasse.collin@tukaani.org> 3329Date: 2022-11-28 21:37:48 +0200 3330 3331 liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters. 3332 3333 lzma_str_to_filters() uses static error messages which makes 3334 them not very precise. It tells the position in the string 3335 where an error occurred though which helps quite a bit if 3336 applications take advantage of it. Dynamic error messages can 3337 be added later with a new flag if it seems important enough. 3338 3339 src/liblzma/api/lzma/filter.h | 258 +++++++ 3340 src/liblzma/common/Makefile.inc | 1 + 3341 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++ 3342 src/liblzma/liblzma_generic.map | 3 + 3343 src/liblzma/liblzma_linux.map | 3 + 3344 5 files changed, 1567 insertions(+) 3345 3346commit 072ebf7b1335421193ffa9d4a70d5533786b8995 3347Author: Lasse Collin <lasse.collin@tukaani.org> 3348Date: 2022-11-28 21:02:19 +0200 3349 3350 liblzma: Make lzma_validate_chain() available outside filter_common.c. 3351 3352 src/liblzma/common/filter_common.c | 8 ++++---- 3353 src/liblzma/common/filter_common.h | 3 +++ 3354 2 files changed, 7 insertions(+), 4 deletions(-) 3355 3356commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf 3357Author: Lasse Collin <lasse.collin@tukaani.org> 3358Date: 2022-11-28 10:51:03 +0200 3359 3360 liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused. 3361 3362 src/liblzma/lz/lz_decoder.c | 14 -------------- 3363 src/liblzma/lz/lz_decoder.h | 3 --- 3364 2 files changed, 17 deletions(-) 3365 3366commit cee83206465b95729ab649aa2f57fdbde8dcaf89 3367Author: Lasse Collin <lasse.collin@tukaani.org> 3368Date: 2022-11-28 10:48:53 +0200 3369 3370 liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder(). 3371 3372 Here too this avoids the slightly ugly method to set 3373 the uncompressed size. 3374 3375 Also moved the setting of dict_size to the struct initializer. 3376 3377 src/liblzma/common/microlzma_decoder.c | 15 ++++++++------- 3378 1 file changed, 8 insertions(+), 7 deletions(-) 3379 3380commit e310e8b6a490dfb468f4ed68feff246d776b323c 3381Author: Lasse Collin <lasse.collin@tukaani.org> 3382Date: 2022-11-28 10:28:20 +0200 3383 3384 liblzma: Use LZMA1EXT feature in lzma_alone_decoder(). 3385 3386 This avoids the need to use the slightly ugly method to 3387 set the uncompressed size. 3388 3389 src/liblzma/common/alone_decoder.c | 18 +++++++++++++----- 3390 1 file changed, 13 insertions(+), 5 deletions(-) 3391 3392commit 33b8a24b6646a9dbfd8358405aec466b13078559 3393Author: Lasse Collin <lasse.collin@tukaani.org> 3394Date: 2022-11-27 23:16:21 +0200 3395 3396 liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker. 3397 3398 Some file formats need support for LZMA1 streams that don't use 3399 the end of payload marker (EOPM) alias end of stream (EOS) marker. 3400 So far liblzma API has supported decompressing such streams via 3401 lzma_alone_decoder() when .lzma header specifies a known 3402 uncompressed size. Encoding support hasn't been available in the API. 3403 3404 Instead of adding a new LZMA1-only API for this purpose, this commit 3405 adds a new filter ID for use with raw encoder and decoder. The main 3406 benefit of this approach is that then also filter chains are possible, 3407 for example, if someone wants to implement support for .7z files that 3408 use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported 3409 in liblzma). 3410 3411 src/liblzma/api/lzma/lzma12.h | 123 ++++++++++++++++++++++++++++++-- 3412 src/liblzma/common/filter_common.c | 7 ++ 3413 src/liblzma/common/filter_decoder.c | 6 ++ 3414 src/liblzma/common/filter_encoder.c | 9 +++ 3415 src/liblzma/lzma/lzma2_encoder.c | 2 +- 3416 src/liblzma/lzma/lzma_decoder.c | 26 ++++++- 3417 src/liblzma/lzma/lzma_encoder.c | 40 +++++++++-- 3418 src/liblzma/lzma/lzma_encoder.h | 3 +- 3419 src/liblzma/lzma/lzma_encoder_private.h | 3 + 3420 9 files changed, 204 insertions(+), 15 deletions(-) 3421 3422commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede 3423Author: Lasse Collin <lasse.collin@tukaani.org> 3424Date: 2022-11-27 18:43:07 +0200 3425 3426 liblzma: Avoid unneeded use of void pointer in LZMA decoder. 3427 3428 src/liblzma/lzma/lzma_decoder.c | 3 +-- 3429 src/liblzma/lzma/lzma_decoder.h | 2 +- 3430 2 files changed, 2 insertions(+), 3 deletions(-) 3431 3432commit 218394958c7683f892275bb40eae880620feebcc 3433Author: Lasse Collin <lasse.collin@tukaani.org> 3434Date: 2022-11-27 18:20:33 +0200 3435 3436 liblzma: Pass the Filter ID to LZ encoder and decoder. 3437 3438 This allows using two Filter IDs with the same 3439 initialization function and data structures. 3440 3441 src/liblzma/common/alone_decoder.c | 1 + 3442 src/liblzma/common/alone_encoder.c | 1 + 3443 src/liblzma/common/common.h | 7 +++++-- 3444 src/liblzma/common/lzip_decoder.c | 1 + 3445 src/liblzma/common/microlzma_decoder.c | 1 + 3446 src/liblzma/common/microlzma_encoder.c | 1 + 3447 src/liblzma/lz/lz_decoder.c | 5 +++-- 3448 src/liblzma/lz/lz_decoder.h | 3 ++- 3449 src/liblzma/lz/lz_encoder.c | 5 +++-- 3450 src/liblzma/lz/lz_encoder.h | 3 ++- 3451 src/liblzma/lzma/lzma2_decoder.c | 3 ++- 3452 src/liblzma/lzma/lzma2_encoder.c | 3 ++- 3453 src/liblzma/lzma/lzma_decoder.c | 2 +- 3454 src/liblzma/lzma/lzma_encoder.c | 2 +- 3455 14 files changed, 26 insertions(+), 12 deletions(-) 3456 3457commit 1663c7676b76f4c514031797f3db1896e8100f7f 3458Author: Lasse Collin <lasse.collin@tukaani.org> 3459Date: 2022-11-27 01:03:16 +0200 3460 3461 liblzma: Remove two FIXME comments. 3462 3463 src/liblzma/common/filter_encoder.c | 4 ++-- 3464 1 file changed, 2 insertions(+), 2 deletions(-) 3465 3466commit 11fe708db783ac36ebeeb85da164e29e8c300910 3467Author: Lasse Collin <lasse.collin@tukaani.org> 3468Date: 2022-11-26 22:25:30 +0200 3469 3470 xz: Use lzma_filters_free(). 3471 3472 src/xz/list.c | 8 ++------ 3473 1 file changed, 2 insertions(+), 6 deletions(-) 3474 3475commit e782af9110d8499c7ac2929bc871540eefea5ea1 3476Author: Lasse Collin <lasse.collin@tukaani.org> 3477Date: 2022-11-26 22:21:13 +0200 3478 3479 liblzma: Use lzma_filters_free() in more places. 3480 3481 src/liblzma/common/block_header_decoder.c | 20 ++------------------ 3482 src/liblzma/common/stream_decoder.c | 4 +--- 3483 src/liblzma/common/stream_decoder_mt.c | 22 +++++----------------- 3484 3 files changed, 8 insertions(+), 38 deletions(-) 3485 3486commit 90caaded2dc6db1d6a55b01160d7e87f4a423628 3487Author: Lasse Collin <lasse.collin@tukaani.org> 3488Date: 2022-11-25 18:04:37 +0200 3489 3490 liblzma: Omit simple coder init functions if they are disabled. 3491 3492 src/liblzma/simple/arm.c | 4 ++++ 3493 src/liblzma/simple/armthumb.c | 4 ++++ 3494 src/liblzma/simple/ia64.c | 4 ++++ 3495 src/liblzma/simple/powerpc.c | 4 ++++ 3496 src/liblzma/simple/sparc.c | 4 ++++ 3497 src/liblzma/simple/x86.c | 4 ++++ 3498 6 files changed, 24 insertions(+) 3499 3500commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45 3501Author: Lasse Collin <lasse.collin@tukaani.org> 3502Date: 2022-11-24 23:24:59 +0200 3503 3504 xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 3505 3506 Now that liblzma accepts these, we avoid the extra check and 3507 there's one message less for translators too. 3508 3509 src/xz/options.c | 5 ----- 3510 1 file changed, 5 deletions(-) 3511 3512commit 3be88ae071371caa279b44e13f4836fb178fe4ae 3513Author: Lasse Collin <lasse.collin@tukaani.org> 3514Date: 2022-11-24 23:23:55 +0200 3515 3516 liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 3517 3518 That is, if the specified nice_len is smaller than the minimum 3519 of the match finder, silently use the match finder's minimum value 3520 instead of reporting an error. The old behavior is annoying to users 3521 and it complicates xz options handling too. 3522 3523 src/liblzma/lz/lz_encoder.c | 14 +++++++++----- 3524 src/liblzma/lz/lz_encoder.h | 9 +++++++++ 3525 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++--- 3526 3 files changed, 26 insertions(+), 8 deletions(-) 3527 3528commit 93439cfafe1768b3b18d67d2356ef7e7559bba59 3529Author: Lasse Collin <lasse.collin@tukaani.org> 3530Date: 2022-11-24 16:25:10 +0200 3531 3532 liblzma: Add lzma_filters_update() support to the multi-threaded encoder. 3533 3534 A tiny downside of this is that now a 1-4 tiny allocations are made 3535 for every Block because each worker thread needs its own copy of 3536 the filter chain. 3537 3538 src/liblzma/api/lzma/filter.h | 36 +++++++------ 3539 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++--- 3540 2 files changed, 109 insertions(+), 23 deletions(-) 3541 3542commit 17ac51e689794eb41cab3e80946fec689caea2d2 3543Author: Lasse Collin <lasse.collin@tukaani.org> 3544Date: 2022-11-24 14:53:22 +0200 3545 3546 Update THANKS. 3547 3548 THANKS | 1 + 3549 1 file changed, 1 insertion(+) 3550 3551commit 06824396b2b6c84f3a235cb7c19c2a9701167797 3552Author: Lasse Collin <lasse.collin@tukaani.org> 3553Date: 2022-11-24 14:52:44 +0200 3554 3555 Build: Don't put GNU/Linux-specific symbol versions into static liblzma. 3556 3557 It not only makes no sense to put symbol versions into a static library 3558 but it can also cause breakage. 3559 3560 By default Libtool #defines PIC if building a shared library and 3561 doesn't define it for static libraries. This is documented in the 3562 Libtool manual. It can be overriden using --with-pic or --without-pic. 3563 configure.ac detects if --with-pic or --without-pic is used and then 3564 gives an error if neither --disable-shared nor --disable-static was 3565 used at the same time. Thus, in normal situations it works to build 3566 both shared and static library at the same time on GNU/Linux, 3567 only --with-pic or --without-pic requires that only one type of 3568 library is built. 3569 3570 Thanks to John Paul Adrian Glaubitz from Debian for reporting 3571 the problem that occurred on ia64: 3572 https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html 3573 3574 CMakeLists.txt | 5 +- 3575 configure.ac | 143 +++++++++++++++++++++++++++++--------------- 3576 src/liblzma/common/common.h | 12 ++++ 3577 3 files changed, 111 insertions(+), 49 deletions(-) 3578 3579commit e1acf7107291f8b3d6d609a7133331ff36d35d14 3580Author: Lasse Collin <lasse.collin@tukaani.org> 3581Date: 2022-11-24 01:32:16 +0200 3582 3583 liblzma: Refactor to use lzma_filters_free(). 3584 3585 lzma_filters_free() sets the options to NULL and ids to 3586 LZMA_VLI_UNKNOWN so there is no need to do it by caller; 3587 the filter arrays will always be left in a safe state. 3588 3589 Also use memcpy() instead of a loop to copy a filter chain 3590 when it is known to be safe to copy LZMA_FILTERS_MAX + 1 3591 (even if the elements past the terminator might be uninitialized). 3592 3593 src/liblzma/common/stream_encoder.c | 16 ++++------------ 3594 src/liblzma/common/stream_encoder_mt.c | 11 ++--------- 3595 2 files changed, 6 insertions(+), 21 deletions(-) 3596 3597commit cb05dbcf8b868441ec805016222f3fd77f1c5caa 3598Author: Lasse Collin <lasse.collin@tukaani.org> 3599Date: 2022-11-24 01:26:37 +0200 3600 3601 liblzma: Fix another invalid free() after memory allocation failure. 3602 3603 This time it can happen when lzma_stream_encoder_mt() is used 3604 to reinitialize an existing multi-threaded Stream encoder 3605 and one of 1-4 tiny allocations in lzma_filters_copy() fail. 3606 3607 It's very similar to the previous bug 3608 10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with 3609 an array of lzma_filter structures whose old options are freed 3610 but the replacement never arrives due to a memory allocation 3611 failure in lzma_filters_copy(). 3612 3613 src/liblzma/common/stream_encoder_mt.c | 4 ++++ 3614 1 file changed, 4 insertions(+) 3615 3616commit 75f1a6c26df4ce329da0882786403e3ccf5cd898 3617Author: Jia Tan <jiat0218@gmail.com> 3618Date: 2022-05-05 20:53:42 +0800 3619 3620 liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder. 3621 3622 The documentation mentions that lzma_block_encoder() supports 3623 LZMA_SYNC_FLUSH but it was never added to supported_actions[] 3624 in the internal structure. Because of this, LZMA_SYNC_FLUSH could 3625 not be used with the Block encoder unless it was the next coder 3626 after something like stream_encoder() or stream_encoder_mt(). 3627 3628 src/liblzma/common/block_encoder.c | 1 + 3629 1 file changed, 1 insertion(+) 3630 3631commit d0901645170b638c517f5c50866b6ef48f491c65 3632Author: Lasse Collin <lasse.collin@tukaani.org> 3633Date: 2022-11-24 01:02:50 +0200 3634 3635 liblzma: Add new API function lzma_filters_free(). 3636 3637 This is small but convenient and should have been added 3638 a long time ago. 3639 3640 src/liblzma/api/lzma/filter.h | 21 +++++++++++++++++++++ 3641 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++ 3642 src/liblzma/liblzma_generic.map | 1 + 3643 src/liblzma/liblzma_linux.map | 1 + 3644 4 files changed, 49 insertions(+) 3645 3646commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5 3647Author: Lasse Collin <lasse.collin@tukaani.org> 3648Date: 2022-11-24 00:02:31 +0200 3649 3650 CMake: Don't use symbol versioning with static library. 3651 3652 CMakeLists.txt | 10 +++++++--- 3653 1 file changed, 7 insertions(+), 3 deletions(-) 3654 3655commit 48c1b99dc537a27e1ca929d8837e778e5ba32191 3656Author: Lasse Collin <lasse.collin@tukaani.org> 3657Date: 2022-11-23 21:55:22 +0200 3658 3659 liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy(). 3660 3661 src/liblzma/api/lzma/filter.h | 3 ++- 3662 1 file changed, 2 insertions(+), 1 deletion(-) 3663 3664commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b 3665Author: Lasse Collin <lasse.collin@tukaani.org> 3666Date: 2022-11-23 21:26:21 +0200 3667 3668 liblzma: Fix invalid free() after memory allocation failure. 3669 3670 The bug was in the single-threaded .xz Stream encoder 3671 in the code that is used for both re-initialization and for 3672 lzma_filters_update(). To trigger it, an application had 3673 to either re-initialize an existing encoder instance with 3674 lzma_stream_encoder() or use lzma_filters_update(), and 3675 then one of the 1-4 tiny allocations in lzma_filters_copy() 3676 (called from stream_encoder_update()) must fail. An error 3677 was correctly reported but the encoder state was corrupted. 3678 3679 This is related to the recent fix in 3680 f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but 3681 it wasn't enough to fix the main problem in stream_encoder.c. 3682 3683 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++-------- 3684 1 file changed, 31 insertions(+), 8 deletions(-) 3685 3686commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70 3687Author: Lasse Collin <lasse.collin@tukaani.org> 3688Date: 2022-11-22 16:37:15 +0200 3689 3690 liblzma: Fix language in a comment. 3691 3692 src/liblzma/common/stream_encoder.c | 2 +- 3693 1 file changed, 1 insertion(+), 1 deletion(-) 3694 3695commit c392bf8ccba857baaf50399c4b460119befacd54 3696Author: Lasse Collin <lasse.collin@tukaani.org> 3697Date: 2022-11-22 11:20:17 +0200 3698 3699 liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB. 3700 3701 The encoder doesn't support dictionary sizes larger than 1536 MiB. 3702 This is validated, for example, when calculating the memory usage 3703 via lzma_raw_encoder_memusage(). It is also enforced by the LZ 3704 part of the encoder initialization. However, LZMA encoder with 3705 LZMA_MODE_NORMAL did an unsafe calculation with dict_size before 3706 such validation and that results in an infinite loop if dict_size 3707 was 2 << 30 or greater. 3708 3709 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++---- 3710 1 file changed, 15 insertions(+), 4 deletions(-) 3711 3712commit f50534c973a591ccf65485adfc827a8a7126ca6c 3713Author: Lasse Collin <lasse.collin@tukaani.org> 3714Date: 2022-11-21 13:02:33 +0200 3715 3716 liblzma: Fix two Doxygen commands in the API headers. 3717 3718 These were caught by clang -Wdocumentation. 3719 3720 src/liblzma/api/lzma/hardware.h | 2 +- 3721 src/liblzma/api/lzma/index_hash.h | 2 +- 3722 2 files changed, 2 insertions(+), 2 deletions(-) 3723 3724commit 649d4872ed2f55196114a061d45b416fc4353569 3725Author: Lasse Collin <lasse.collin@tukaani.org> 3726Date: 2022-11-19 19:09:55 +0200 3727 3728 xz: Refactor duplicate code from hardware_memlimit_mtenc_get(). 3729 3730 src/xz/hardware.c | 2 +- 3731 1 file changed, 1 insertion(+), 1 deletion(-) 3732 3733commit d327743bb547a53364e5951a16e5f1663fe4b9ff 3734Author: Lasse Collin <lasse.collin@tukaani.org> 3735Date: 2022-11-19 19:06:13 +0200 3736 3737 xz: Add support --threads=+N so that -T+1 gives threaded mode. 3738 3739 src/xz/args.c | 18 +++++++++++++++--- 3740 src/xz/hardware.c | 17 +++++++++++++++-- 3741 src/xz/hardware.h | 1 + 3742 src/xz/xz.1 | 21 ++++++++++++++++++++- 3743 4 files changed, 51 insertions(+), 6 deletions(-) 3744 3745commit a11a2b8b5e830ba682c1d81aaa7078842b296995 3746Author: Jia Tan <jiat0218@gmail.com> 3747Date: 2022-11-19 23:18:04 +0800 3748 3749 CMake: Adds test_memlimit to CMake tests 3750 3751 CMakeLists.txt | 1 + 3752 1 file changed, 1 insertion(+) 3753 3754commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f 3755Author: Lasse Collin <lasse.collin@tukaani.org> 3756Date: 2022-11-15 19:10:21 +0200 3757 3758 Translations: Update the Korean translation. 3759 3760 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++--------------------------- 3761 1 file changed, 371 insertions(+), 281 deletions(-) 3762 3763commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385 3764Author: Lasse Collin <lasse.collin@tukaani.org> 3765Date: 2022-11-15 19:09:28 +0200 3766 3767 Translations: Update the Turkish translation. 3768 3769 po/tr.po | 568 ++++++++++++++++++++++++++++++++++----------------------------- 3770 1 file changed, 310 insertions(+), 258 deletions(-) 3771 3772commit b9a67d9a5fa207062d4aa8a01639234609315d31 3773Author: Lasse Collin <lasse.collin@tukaani.org> 3774Date: 2022-11-15 10:58:39 +0200 3775 3776 Bump version number for 5.3.4alpha. 3777 3778 src/liblzma/api/lzma/version.h | 2 +- 3779 src/liblzma/liblzma_generic.map | 2 +- 3780 src/liblzma/liblzma_linux.map | 2 +- 3781 3 files changed, 3 insertions(+), 3 deletions(-) 3782 3783commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5 3784Author: Lasse Collin <lasse.collin@tukaani.org> 3785Date: 2022-11-15 10:54:40 +0200 3786 3787 Add NEWS for 5.3.4alpha. 3788 3789 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3790 1 file changed, 96 insertions(+) 3791 3792commit ce8db9e37da4f6c87691c5066f51f91f2411c44a 3793Author: Lasse Collin <lasse.collin@tukaani.org> 3794Date: 2022-11-15 10:54:08 +0200 3795 3796 Add NEWS for 5.2.8. 3797 3798 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3799 1 file changed, 79 insertions(+) 3800 3801commit b56bc8251d2736224af6bdaaae734ceb8926a879 3802Author: Lasse Collin <lasse.collin@tukaani.org> 3803Date: 2022-11-14 23:19:57 +0200 3804 3805 Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options." 3806 3807 This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 3808 and also does equivalent change to arm64.c. 3809 3810 Now that ARM64 filter will use lzma_options_bcj, this change 3811 is not needed anymore. 3812 3813 src/liblzma/simple/arm.c | 2 +- 3814 src/liblzma/simple/arm64.c | 2 +- 3815 src/liblzma/simple/armthumb.c | 2 +- 3816 src/liblzma/simple/ia64.c | 2 +- 3817 src/liblzma/simple/powerpc.c | 2 +- 3818 src/liblzma/simple/simple_coder.c | 4 ++-- 3819 src/liblzma/simple/simple_private.h | 2 +- 3820 src/liblzma/simple/sparc.c | 2 +- 3821 src/liblzma/simple/x86.c | 3 +-- 3822 9 files changed, 10 insertions(+), 11 deletions(-) 3823 3824commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35 3825Author: Lasse Collin <lasse.collin@tukaani.org> 3826Date: 2022-11-14 23:14:41 +0200 3827 3828 Replace the experimental ARM64 filter with a new experimental version. 3829 3830 This is incompatible with the previous version. 3831 3832 This has space/tab fixes in filter_*.c and bcj.h too. 3833 3834 src/liblzma/api/lzma/bcj.h | 41 +----- 3835 src/liblzma/common/filter_common.c | 14 +- 3836 src/liblzma/common/filter_decoder.c | 12 +- 3837 src/liblzma/common/filter_encoder.c | 17 +-- 3838 src/liblzma/simple/arm64.c | 283 ++++++++++++++---------------------- 3839 src/liblzma/simple/simple_decoder.h | 4 - 3840 src/liblzma/simple/simple_encoder.h | 2 - 3841 src/xz/args.c | 2 +- 3842 src/xz/message.c | 13 +- 3843 src/xz/options.c | 39 ----- 3844 src/xz/options.h | 7 - 3845 11 files changed, 147 insertions(+), 287 deletions(-) 3846 3847commit f644473a211394447824ea00518d0a214ff3f7f2 3848Author: Lasse Collin <lasse.collin@tukaani.org> 3849Date: 2022-11-14 21:34:57 +0200 3850 3851 liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. 3852 3853 It also works on E2K as it supports these intrinsics. 3854 3855 On x86-64 runtime detection is used so the code keeps working on 3856 older processors too. A CLMUL-only build can be done by using 3857 -msse4.1 -mpclmul in CFLAGS and this will reduce the library 3858 size since the generic implementation and its 8 KiB lookup table 3859 will be omitted. 3860 3861 On 32-bit x86 this isn't used by default for now because by default 3862 on 32-bit x86 the separate assembly file crc64_x86.S is used. 3863 If --disable-assembler is used then this new CLMUL code is used 3864 the same way as on 64-bit x86. However, a CLMUL-only build 3865 (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on 3866 32-bit x86 due to a currently-missing check for disabled 3867 assembler usage. 3868 3869 The configure.ac check should be such that the code won't be 3870 built if something in the toolchain doesn't support it but 3871 --disable-clmul-crc option can be used to unconditionally 3872 disable this feature. 3873 3874 CLMUL speeds up decompression of files that have compressed very 3875 well (assuming CRC64 is used as a check type). It is know that 3876 the CLMUL code is significantly slower than the generic code for 3877 tiny inputs (especially 1-8 bytes but up to 16 bytes). If that 3878 is a real-world problem then there is already a commented-out 3879 variant that uses the generic version for small inputs. 3880 3881 Thanks to Ilya Kurdyukov for the original patch which was 3882 derived from a white paper from Intel [1] (published in 2009) 3883 and public domain code from [2] (released in 2016). 3884 3885 [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf 3886 [2] https://github.com/rawrunprotected/crc 3887 3888 CMakeLists.txt | 26 ++- 3889 INSTALL | 12 ++ 3890 configure.ac | 59 +++++- 3891 src/liblzma/check/crc64_fast.c | 449 +++++++++++++++++++++++++++++++++++++++- 3892 src/liblzma/check/crc64_table.c | 21 +- 3893 5 files changed, 554 insertions(+), 13 deletions(-) 3894 3895commit 3b466bc79672bb2b06d1245a500588e6026e0ba0 3896Author: Lasse Collin <lasse.collin@tukaani.org> 3897Date: 2022-11-14 20:14:34 +0200 3898 3899 Translations: Update the Swedish translation one more time. 3900 3901 po/sv.po | 6 +++--- 3902 1 file changed, 3 insertions(+), 3 deletions(-) 3903 3904commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6 3905Author: Lasse Collin <lasse.collin@tukaani.org> 3906Date: 2022-11-14 19:34:15 +0200 3907 3908 Translations: Update the Swedish translation again. 3909 3910 po/sv.po | 16 ++++++++-------- 3911 1 file changed, 8 insertions(+), 8 deletions(-) 3912 3913commit a4bc689a823a2254f29ac9d233170add5121b307 3914Author: Lasse Collin <lasse.collin@tukaani.org> 3915Date: 2022-11-14 19:07:45 +0200 3916 3917 Translations: Update the Swedish translation. 3918 3919 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++--------------------------- 3920 1 file changed, 382 insertions(+), 289 deletions(-) 3921 3922commit bbf2073d824ab4ba33bed4b77f467435abd333a5 3923Author: Lasse Collin <lasse.collin@tukaani.org> 3924Date: 2022-11-14 18:58:09 +0200 3925 3926 Translations: Update the Ukrainian translation. 3927 3928 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++--------------------------- 3929 1 file changed, 354 insertions(+), 264 deletions(-) 3930 3931commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6 3932Author: Lasse Collin <lasse.collin@tukaani.org> 3933Date: 2022-11-14 17:58:07 +0200 3934 3935 Build: Omit x86_64 from --enable-assembler. 3936 3937 It didn't do anything. There are only 32-bit x86 assembly files 3938 and it feels likely that new files won't be added as intrinsics 3939 in C are more portable across toolchains and OSes. 3940 3941 configure.ac | 6 ++---- 3942 1 file changed, 2 insertions(+), 4 deletions(-) 3943 3944commit eb0f1450ad9f23dac03050d9c8375980240aee21 3945Author: Lasse Collin <lasse.collin@tukaani.org> 3946Date: 2022-11-14 16:00:52 +0200 3947 3948 liblzma: Use __attribute__((__constructor__)) if available. 3949 3950 This uses it for CRC table initializations when using --disable-small. 3951 It avoids mythread_once() overhead. It also means that then 3952 --disable-small --disable-threads is thread-safe if this attribute 3953 is supported. 3954 3955 CMakeLists.txt | 15 +++++++++++++++ 3956 INSTALL | 4 +++- 3957 configure.ac | 31 ++++++++++++++++++++++++++++--- 3958 src/liblzma/check/crc32_small.c | 7 +++++++ 3959 src/liblzma/check/crc64_small.c | 5 +++++ 3960 src/liblzma/lz/lz_encoder.c | 2 +- 3961 6 files changed, 59 insertions(+), 5 deletions(-) 3962 3963commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1 3964Author: Lasse Collin <lasse.collin@tukaani.org> 3965Date: 2022-11-12 21:19:52 +0200 3966 3967 Translations: Update the Romanian translation. 3968 3969 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++-------------------------- 3970 1 file changed, 380 insertions(+), 271 deletions(-) 3971 3972commit db97e69e12393becc29f8febd53133d0d36989bd 3973Author: Lasse Collin <lasse.collin@tukaani.org> 3974Date: 2022-11-12 21:17:45 +0200 3975 3976 Translations: Update the Hungarian translation. 3977 3978 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++--------------------------- 3979 1 file changed, 357 insertions(+), 268 deletions(-) 3980 3981commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4 3982Author: Lasse Collin <lasse.collin@tukaani.org> 3983Date: 2022-11-11 17:58:57 +0200 3984 3985 Translations: Update the Finnish translation. 3986 3987 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++--------------------------- 3988 1 file changed, 348 insertions(+), 262 deletions(-) 3989 3990commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f 3991Author: Lasse Collin <lasse.collin@tukaani.org> 3992Date: 2022-11-11 17:58:18 +0200 3993 3994 Translations: Update the Croatian translation. 3995 3996 po/hr.po | 680 +++++++++++++++++++++++++++++++++++---------------------------- 3997 1 file changed, 381 insertions(+), 299 deletions(-) 3998 3999commit 26c3359eac0988d6f3986735cd1363bec1678e8e 4000Author: Lasse Collin <lasse.collin@tukaani.org> 4001Date: 2022-11-11 17:57:18 +0200 4002 4003 Translations: Update the Polish translation. 4004 4005 po/pl.po | 569 ++++++++++++++++++++++++++++++++++----------------------------- 4006 1 file changed, 309 insertions(+), 260 deletions(-) 4007 4008commit 577e467b137c735afb8de6ae71ac7a73c2960cc4 4009Author: Lasse Collin <lasse.collin@tukaani.org> 4010Date: 2022-11-11 17:56:44 +0200 4011 4012 Translations: Update the Spanish translation. 4013 4014 po/es.po | 598 ++++++++++++++++++++++++++++++++++++--------------------------- 4015 1 file changed, 344 insertions(+), 254 deletions(-) 4016 4017commit f9b4ff6e9a0f1678650775582d3e4fe782abce97 4018Author: Lasse Collin <lasse.collin@tukaani.org> 4019Date: 2022-11-11 17:16:03 +0200 4020 4021 Update THANKS. 4022 4023 THANKS | 1 + 4024 1 file changed, 1 insertion(+) 4025 4026commit a39961ef211e1bf030b17edeea3cff29fe263b67 4027Author: Lasse Collin <lasse.collin@tukaani.org> 4028Date: 2022-11-11 17:15:25 +0200 4029 4030 liblzma: Fix building with Intel ICC (the classic compiler). 4031 4032 It claims __GNUC__ >= 10 but doesn't support __symver__ attribute. 4033 4034 Thanks to Stephen Sachs. 4035 4036 src/liblzma/common/common.h | 2 +- 4037 1 file changed, 1 insertion(+), 1 deletion(-) 4038 4039commit c715f683dcb1a817d565da292cddfbceda643e12 4040Author: Lasse Collin <lasse.collin@tukaani.org> 4041Date: 2022-11-11 14:35:58 +0200 4042 4043 liblzma: Fix incorrect #ifdef for x86 SSE2 support. 4044 4045 __SSE2__ is the correct macro for SSE2 support with GCC, Clang, 4046 and ICC. __SSE2_MATH__ means doing floating point math with SSE2 4047 instead of 387. Often the latter macro is defined if the first 4048 one is but it was still a bug. 4049 4050 src/liblzma/common/memcmplen.h | 3 +-- 4051 1 file changed, 1 insertion(+), 2 deletions(-) 4052 4053commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce 4054Author: Lasse Collin <lasse.collin@tukaani.org> 4055Date: 2022-11-11 13:27:06 +0200 4056 4057 Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2). 4058 4059 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4060 1 file changed, 74 insertions(+) 4061 4062commit 3c7860cf49de6f81046b3a4034a89f3a4803a576 4063Author: Lasse Collin <lasse.collin@tukaani.org> 4064Date: 2022-11-11 13:16:21 +0200 4065 4066 xzdiff: Add support for .lz files. 4067 4068 The other scripts don't need changes for .lz support because 4069 in those scripts it is enough that xz supports .lz. 4070 4071 src/scripts/xzdiff.in | 10 +++++----- 4072 1 file changed, 5 insertions(+), 5 deletions(-) 4073 4074commit d76c752a6d77052e5ad57ade555082585f7ac5d8 4075Author: Lasse Collin <lasse.collin@tukaani.org> 4076Date: 2022-11-11 12:23:58 +0200 4077 4078 Scripts: Ignore warnings from xz. 4079 4080 In practice this means making the scripts work when 4081 the input files have an unsupported check type which 4082 isn't a problem in practice unless support for 4083 some check types has been disabled at build time. 4084 4085 src/scripts/xzdiff.in | 5 +++-- 4086 src/scripts/xzgrep.in | 2 +- 4087 src/scripts/xzless.in | 4 ++-- 4088 src/scripts/xzmore.in | 4 ++-- 4089 4 files changed, 8 insertions(+), 7 deletions(-) 4090 4091commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c 4092Author: Lasse Collin <lasse.collin@tukaani.org> 4093Date: 2022-11-10 12:34:43 +0200 4094 4095 Translations: Rename poa4/fr_FR.po to po4a/fr.po. 4096 4097 That's how it is preferred at the Translation Project. 4098 On my system /usr/share/man/fr_FR doesn't contain any 4099 other man pages than XZ Utils while /usr/share/man/fr 4100 has quite a few, so this will fix that too. 4101 4102 Thanks to Benno Schulenberg from the Translation Project. 4103 4104 po4a/{fr_FR.po => fr.po} | 0 4105 po4a/po4a.conf | 2 +- 4106 2 files changed, 1 insertion(+), 1 deletion(-) 4107 4108commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a 4109Author: Lasse Collin <lasse.collin@tukaani.org> 4110Date: 2022-11-09 18:48:50 +0200 4111 4112 xz: Update the man page about BCJ filters, including upcoming --arm64. 4113 4114 The --arm64 isn't actually implemented yet in the form 4115 described in this commit. 4116 4117 Thanks to Jia Tan. 4118 4119 src/xz/xz.1 | 66 +++++++++++++++++++++++++++---------------------------------- 4120 1 file changed, 29 insertions(+), 37 deletions(-) 4121 4122commit ba2ae3596f6be1587495f33b367488f6e00e56f1 4123Author: Lasse Collin <lasse.collin@tukaani.org> 4124Date: 2022-11-09 18:14:14 +0200 4125 4126 xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb). 4127 4128 Modern 32-bit ARM in big endian mode use little endian for 4129 instruction encoding still, so the filters work on such 4130 executables too. It's likely less confusing for users this way. 4131 4132 The --arm64 option hasn't been implemented yet (there is 4133 --experimental-arm64 but it's different). The --arm64 option 4134 is added now anyway because this is the likely result and the 4135 strings need to be ready for translators. 4136 4137 Thanks to Jia Tan. 4138 4139 src/xz/message.c | 5 +++-- 4140 1 file changed, 3 insertions(+), 2 deletions(-) 4141 4142commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55 4143Author: Lasse Collin <lasse.collin@tukaani.org> 4144Date: 2022-11-09 15:12:13 +0200 4145 4146 Windows: Update the VS project files for ARM64 and .lz support. 4147 4148 windows/vs2013/config.h | 9 +++++++++ 4149 windows/vs2013/liblzma.vcxproj | 5 ++++- 4150 windows/vs2013/liblzma_dll.vcxproj | 5 ++++- 4151 windows/vs2017/config.h | 9 +++++++++ 4152 windows/vs2017/liblzma.vcxproj | 3 +++ 4153 windows/vs2017/liblzma_dll.vcxproj | 3 +++ 4154 windows/vs2019/config.h | 9 +++++++++ 4155 windows/vs2019/liblzma.vcxproj | 5 ++++- 4156 windows/vs2019/liblzma_dll.vcxproj | 5 ++++- 4157 9 files changed, 49 insertions(+), 4 deletions(-) 4158 4159commit 5846aeda05972bc803c6094821ae836229ebe691 4160Author: Lasse Collin <lasse.collin@tukaani.org> 4161Date: 2022-11-09 14:57:48 +0200 4162 4163 DOS: Update Makefile and config.h to include ARM64 and .lz support. 4164 4165 dos/Makefile | 2 ++ 4166 dos/config.h | 9 +++++++++ 4167 2 files changed, 11 insertions(+) 4168 4169commit 781da8d6c44de6aa278c916375250668a0b107f2 4170Author: Lasse Collin <lasse.collin@tukaani.org> 4171Date: 2022-11-09 14:45:05 +0200 4172 4173 CMake: Add lzip decoder files and #define to the build. 4174 4175 CMakeLists.txt | 3 +++ 4176 1 file changed, 3 insertions(+) 4177 4178commit df8ad4af65a9c4846b108550d0083770a69dee64 4179Author: Lasse Collin <lasse.collin@tukaani.org> 4180Date: 2022-11-09 14:41:56 +0200 4181 4182 Docs: Update INSTALL and also add new prohibited options to PACKAGERS. 4183 4184 INSTALL | 49 +++++++++++++++++++++++++++++++++++++++++-------- 4185 PACKAGERS | 2 ++ 4186 2 files changed, 43 insertions(+), 8 deletions(-) 4187 4188commit c8ef089c149afaab413c3a51be827dd1d11afe0e 4189Author: Lasse Collin <lasse.collin@tukaani.org> 4190Date: 2022-10-20 17:39:06 +0300 4191 4192 Tests: Test the .lz files in test_files.sh. 4193 4194 tests/test_files.sh | 25 +++++++++++++++++++++++++ 4195 1 file changed, 25 insertions(+) 4196 4197commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7 4198Author: Lasse Collin <lasse.collin@tukaani.org> 4199Date: 2022-10-20 15:35:59 +0300 4200 4201 Tests: Add .lz (lzip) test files. 4202 4203 tests/files/README | 109 +++++++++++++++++++++++++++++---- 4204 tests/files/bad-1-v0-uncomp-size.lz | Bin 0 -> 42 bytes 4205 tests/files/bad-1-v1-crc32.lz | Bin 0 -> 50 bytes 4206 tests/files/bad-1-v1-dict-1.lz | Bin 0 -> 50 bytes 4207 tests/files/bad-1-v1-dict-2.lz | Bin 0 -> 50 bytes 4208 tests/files/bad-1-v1-magic-1.lz | Bin 0 -> 50 bytes 4209 tests/files/bad-1-v1-magic-2.lz | Bin 0 -> 50 bytes 4210 tests/files/bad-1-v1-member-size.lz | Bin 0 -> 50 bytes 4211 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes 4212 tests/files/bad-1-v1-uncomp-size.lz | Bin 0 -> 50 bytes 4213 tests/files/good-1-v0-trailing-1.lz | Bin 0 -> 59 bytes 4214 tests/files/good-1-v0.lz | Bin 0 -> 42 bytes 4215 tests/files/good-1-v1-trailing-1.lz | Bin 0 -> 67 bytes 4216 tests/files/good-1-v1-trailing-2.lz | Bin 0 -> 70 bytes 4217 tests/files/good-1-v1.lz | Bin 0 -> 50 bytes 4218 tests/files/good-2-v0-v1.lz | Bin 0 -> 78 bytes 4219 tests/files/good-2-v1-v0.lz | Bin 0 -> 78 bytes 4220 tests/files/good-2-v1-v1.lz | Bin 0 -> 86 bytes 4221 tests/files/unsupported-1-v234.lz | Bin 0 -> 50 bytes 4222 19 files changed, 98 insertions(+), 11 deletions(-) 4223 4224commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f 4225Author: Lasse Collin <lasse.collin@tukaani.org> 4226Date: 2022-10-19 22:32:51 +0300 4227 4228 xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz. 4229 4230 src/xz/args.c | 2 -- 4231 src/xz/coder.h | 1 - 4232 src/xz/suffix.c | 9 --------- 4233 3 files changed, 12 deletions(-) 4234 4235commit 3176f992c55b8d788c4633809aaf9447376a5a12 4236Author: Lasse Collin <lasse.collin@tukaani.org> 4237Date: 2022-10-08 21:28:15 +0300 4238 4239 xz: Add .lz (lzip) decompression support. 4240 4241 If configured with --disable-lzip-decoder then --long-help will 4242 still list `lzip' in --format but I left it like that since 4243 due to translations it would be messy to have two help strings. 4244 Features are disabled only in special situations so wrong help 4245 in such a situation shouldn't matter much. 4246 4247 Thanks to Michał Górny for the original patch. 4248 4249 src/xz/args.c | 9 ++++++++ 4250 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 4251 src/xz/coder.h | 3 +++ 4252 src/xz/message.c | 2 +- 4253 src/xz/suffix.c | 26 ++++++++++++++++++---- 4254 src/xz/xz.1 | 46 +++++++++++++++++++++++++++++++++----- 4255 6 files changed, 141 insertions(+), 13 deletions(-) 4256 4257commit 034086e1ae1459210837a24e04878435c86dc41b 4258Author: Lasse Collin <lasse.collin@tukaani.org> 4259Date: 2022-10-08 00:29:20 +0300 4260 4261 liblzma: Add .lz support to lzma_auto_decoder(). 4262 4263 Thanks to Michał Górny for the original patch. 4264 4265 src/liblzma/api/lzma/container.h | 10 ++++++---- 4266 src/liblzma/common/Makefile.inc | 3 ++- 4267 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------ 4268 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++ 4269 4 files changed, 47 insertions(+), 11 deletions(-) 4270 4271commit 0538db038f3cdc352007dacb42454aa1806b8e40 4272Author: Lasse Collin <lasse.collin@tukaani.org> 4273Date: 2022-10-06 15:50:20 +0300 4274 4275 liblzma: Add .lz (lzip) decompression support (format versions 0 and 1). 4276 4277 Support for format version 0 was removed from lzip 1.18 for some 4278 reason. .lz format version 0 files are rare (and old) but some 4279 source packages were released in this format, and some people might 4280 have personal files in this format too. It's very little extra code 4281 to support it along side format version 1 so this commits adds 4282 support for both. 4283 4284 The Sync Flush marker extentension to the original .lz format 4285 version 1 isn't supported. It would require changes to the 4286 LZMA decoder itself. Such files are very rare anyway. 4287 4288 See the API doc for lzma_lzip_decoder() for more details about 4289 the .lz format support. 4290 4291 Thanks to Michał Górny for the original patch. 4292 4293 configure.ac | 21 ++ 4294 src/liblzma/api/lzma/container.h | 62 +++++- 4295 src/liblzma/common/Makefile.inc | 5 + 4296 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++ 4297 src/liblzma/liblzma_generic.map | 1 + 4298 src/liblzma/liblzma_linux.map | 1 + 4299 6 files changed, 501 insertions(+), 2 deletions(-) 4300 4301commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c 4302Author: Lasse Collin <lasse.collin@tukaani.org> 4303Date: 2022-11-09 14:17:23 +0200 4304 4305 liblzma: Add the missing Makefile.inc change for --disable-microlzma. 4306 4307 This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8. 4308 4309 src/liblzma/common/Makefile.inc | 12 ++++++++++-- 4310 1 file changed, 10 insertions(+), 2 deletions(-) 4311 4312commit 724285dadbdc88765c8fb83eab9816575a260966 4313Author: Lasse Collin <lasse.collin@tukaani.org> 4314Date: 2022-11-09 14:10:52 +0200 4315 4316 xz: Add comments about stdin and src_st.st_size. 4317 4318 "xz -v < regular_file > out.xz" doesn't display the percentage 4319 and estimated remaining time because it doesn't even try to 4320 check the input file size when input is read from stdin. 4321 This could be improved but for now there's just a comment 4322 to remind about it. 4323 4324 src/xz/coder.c | 9 +++++++++ 4325 src/xz/file_io.c | 4 ++++ 4326 2 files changed, 13 insertions(+) 4327 4328commit f723eec68b0e44234910f669a29119de33018967 4329Author: Lasse Collin <lasse.collin@tukaani.org> 4330Date: 2022-11-09 12:48:22 +0200 4331 4332 xz: Fix displaying of file sizes in progress indicator in passthru mode. 4333 4334 It worked for one input file since the counters are zero when 4335 xz starts but they weren't reset when starting a new file in 4336 passthru mode. For example, if files A, B, and C are one byte each, 4337 then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes 4338 instead of 1, 1, and 1 byte. 4339 4340 src/xz/coder.c | 6 +++++- 4341 1 file changed, 5 insertions(+), 1 deletion(-) 4342 4343commit 69265d0f223ddf1d66f799b8b047df22923e376f 4344Author: Lasse Collin <lasse.collin@tukaani.org> 4345Date: 2022-11-09 11:27:20 +0200 4346 4347 xz: Add a comment why --to-stdout is not in --help. 4348 4349 It is on the man page still. 4350 4351 src/xz/message.c | 3 +++ 4352 1 file changed, 3 insertions(+) 4353 4354commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7 4355Author: Lasse Collin <lasse.collin@tukaani.org> 4356Date: 2022-11-08 23:05:37 +0200 4357 4358 xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress. 4359 4360 src/xz/list.c | 20 +++++++++++++++----- 4361 1 file changed, 15 insertions(+), 5 deletions(-) 4362 4363commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a 4364Author: Lasse Collin <lasse.collin@tukaani.org> 4365Date: 2022-11-08 22:26:54 +0200 4366 4367 Docs: Update faq.txt a little. 4368 4369 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++--------------------- 4370 1 file changed, 43 insertions(+), 23 deletions(-) 4371 4372commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b 4373Author: Lasse Collin <lasse.collin@tukaani.org> 4374Date: 2022-11-08 16:57:17 +0200 4375 4376 Translations: Update Turkish translation. 4377 4378 po/tr.po | 2 +- 4379 1 file changed, 1 insertion(+), 1 deletion(-) 4380 4381commit ed3a4822963b4940d84e6f44d47277c394fc046d 4382Author: Lasse Collin <lasse.collin@tukaani.org> 4383Date: 2022-11-08 14:55:32 +0200 4384 4385 Translations: Update Croatian translation. 4386 4387 po/hr.po | 190 ++++++++++++++++++++++++++++++++------------------------------- 4388 1 file changed, 96 insertions(+), 94 deletions(-) 4389 4390commit 4746f5ec721316bc4c6fec9905b2902e0360e0af 4391Author: Lasse Collin <lasse.collin@tukaani.org> 4392Date: 2022-11-08 14:13:03 +0200 4393 4394 liblzma: Update API docs about decoder flags. 4395 4396 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 4397 1 file changed, 17 insertions(+), 4 deletions(-) 4398 4399commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d 4400Author: Lasse Collin <lasse.collin@tukaani.org> 4401Date: 2022-11-08 14:01:50 +0200 4402 4403 liblzma: Use the return_if_error() macro in alone_decoder.c. 4404 4405 src/liblzma/common/alone_decoder.c | 6 ++---- 4406 1 file changed, 2 insertions(+), 4 deletions(-) 4407 4408commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc 4409Author: Lasse Collin <lasse.collin@tukaani.org> 4410Date: 2022-11-08 14:00:58 +0200 4411 4412 liblzma: Fix a comment in auto_decoder.c. 4413 4414 src/liblzma/common/auto_decoder.c | 4 ++-- 4415 1 file changed, 2 insertions(+), 2 deletions(-) 4416 4417commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334 4418Author: Lasse Collin <lasse.collin@tukaani.org> 4419Date: 2022-11-08 13:43:19 +0200 4420 4421 xz: Initialize the pledge(2) sandbox at the very beginning of main(). 4422 4423 It feels better that the initializations are sandboxed too. 4424 They don't do anything that the pledge() call wouldn't allow. 4425 4426 src/xz/main.c | 27 ++++++++++++++------------- 4427 1 file changed, 14 insertions(+), 13 deletions(-) 4428 4429commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5 4430Author: Lasse Collin <lasse.collin@tukaani.org> 4431Date: 2022-11-07 22:51:16 +0200 4432 4433 xz: Extend --robot --info-memory output. 4434 4435 Now it includes everything that the human-readable --info-memory shows. 4436 4437 src/xz/hardware.c | 24 +++++++++++++++--------- 4438 src/xz/xz.1 | 47 +++++++++++++++++++++++++++++++++++++++++------ 4439 2 files changed, 56 insertions(+), 15 deletions(-) 4440 4441commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8 4442Author: Lasse Collin <lasse.collin@tukaani.org> 4443Date: 2022-11-07 17:22:04 +0200 4444 4445 liblzma: Include cached memory in reported memusage in threaded decoder. 4446 4447 This affects lzma_memusage() and lzma_memlimit_set() when used 4448 with the threaded decompressor. Now all allocations are reported 4449 by lzma_memusage() (so it's not misleading) and lzma_memlimit_set() 4450 cannot lower the limit below that value. 4451 4452 The alternative would have been to allow lowering the limit if 4453 doing so is possible by freeing the cached memory but since 4454 the primary use case of lzma_memlimit_set() is to increase 4455 memlimit after LZMA_MEMLIMIT_ERROR this simple approach 4456 was selected. 4457 4458 The cached memory was always included when enforcing 4459 the memory usage limit while decoding. 4460 4461 Thanks to Jia Tan. 4462 4463 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++--- 4464 1 file changed, 19 insertions(+), 3 deletions(-) 4465 4466commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1 4467Author: Jia Tan <jiat0218@gmail.com> 4468Date: 2022-11-07 16:24:14 +0200 4469 4470 xz: Avoid a compiler warning in progress_speed() in message.c. 4471 4472 This should be smaller too since it avoids the string constants. 4473 4474 src/xz/message.c | 9 +++------ 4475 1 file changed, 3 insertions(+), 6 deletions(-) 4476 4477commit cf118c014683069b5dbe91898acdc40f2f0a1f5d 4478Author: Lasse Collin <lasse.collin@tukaani.org> 4479Date: 2022-10-31 16:26:05 +0200 4480 4481 Build: Clarify comment in configure.ac about SSE2. 4482 4483 configure.ac | 5 ++++- 4484 1 file changed, 4 insertions(+), 1 deletion(-) 4485 4486commit aad3c609ffb72f581a7a2b67be3ad70b2b327840 4487Author: Lasse Collin <lasse.collin@tukaani.org> 4488Date: 2022-10-31 16:16:37 +0200 4489 4490 Build: Remove obsolete commented-out lines from configure.ac. 4491 4492 configure.ac | 4 ---- 4493 1 file changed, 4 deletions(-) 4494 4495commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba 4496Author: Lasse Collin <lasse.collin@tukaani.org> 4497Date: 2022-10-31 13:31:58 +0200 4498 4499 Windows: Fix mythread_once() macro with Vista threads. 4500 4501 Don't call InitOnceComplete() if initialization was already done. 4502 4503 So far mythread_once() has been needed only when building 4504 with --enable-small. windows/build.bash does this together 4505 with --disable-threads so the Vista-specific mythread_once() 4506 is never needed by those builds. VS project files or 4507 CMake-builds don't support HAVE_SMALL builds at all. 4508 4509 src/common/mythread.h | 7 ++++--- 4510 1 file changed, 4 insertions(+), 3 deletions(-) 4511 4512commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58 4513Author: Lasse Collin <lasse.collin@tukaani.org> 4514Date: 2022-10-31 11:54:44 +0200 4515 4516 liblzma: Silence -Wconversion warning from crc64_fast.c. 4517 4518 src/liblzma/check/crc64_fast.c | 5 +++-- 4519 1 file changed, 3 insertions(+), 2 deletions(-) 4520 4521commit a243c617ff249d915ac123de4f536b80322c1fdb 4522Author: Lasse Collin <lasse.collin@tukaani.org> 4523Date: 2022-10-31 11:49:47 +0200 4524 4525 CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4. 4526 4527 This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43. 4528 4529 cmake/tuklib_cpucores.cmake | 5 +++++ 4530 1 file changed, 5 insertions(+) 4531 4532commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75 4533Author: Lasse Collin <lasse.collin@tukaani.org> 4534Date: 2022-10-27 15:49:18 +0300 4535 4536 Tests: test_files.sh: Make it not fail if features were disabled at build. 4537 4538 It now tries to test as many files as easily possible. 4539 The exit status indicates skipping if any of the files were 4540 skipped. This way it is easy to notice if something is being 4541 skipped when it isn't expected. 4542 4543 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 4544 1 file changed, 46 insertions(+), 4 deletions(-) 4545 4546commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de 4547Author: Lasse Collin <lasse.collin@tukaani.org> 4548Date: 2022-10-27 15:30:13 +0300 4549 4550 Tests: test_files.sh: Suppress an expected warning from the log. 4551 4552 xz (but not xzdec) will normally warn about unsupported check 4553 but since we are testing specifically such a file, it's better 4554 to silence that warning so that it doesn't look suspicious in 4555 test_files.sh.log. 4556 4557 The use of -q and -Q in xzdec is just for consistency and 4558 doesn't affect the result at least for now. 4559 4560 tests/test_files.sh | 4 ++-- 4561 1 file changed, 2 insertions(+), 2 deletions(-) 4562 4563commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce 4564Author: Lasse Collin <lasse.collin@tukaani.org> 4565Date: 2022-10-27 15:27:50 +0300 4566 4567 Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing. 4568 4569 tests/test_files.sh | 1 + 4570 1 file changed, 1 insertion(+) 4571 4572commit c1dd8524e1af07f16b790463899de06a6a5fcc08 4573Author: Lasse Collin <lasse.collin@tukaani.org> 4574Date: 2022-10-27 01:12:40 +0300 4575 4576 Tests: Keep test_compress_* working when some filters are unavailable. 4577 4578 tests/test_compress.sh | 34 ++++++++++++++++++++-------------- 4579 1 file changed, 20 insertions(+), 14 deletions(-) 4580 4581commit ce30ada91951d0746879ae438da11f1ee8a90aa0 4582Author: Jia Tan <jiat0218@gmail.com> 4583Date: 2022-10-23 21:01:08 +0800 4584 4585 Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled. 4586 4587 tests/test_bcj_exact_size.c | 3 +++ 4588 1 file changed, 3 insertions(+) 4589 4590commit 89c5cfcacaca7130509fac836e2f30c46b824502 4591Author: Lasse Collin <lasse.collin@tukaani.org> 4592Date: 2022-10-26 00:05:57 +0300 4593 4594 Tests: Test also unsupported-*.xz. 4595 4596 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++ 4597 1 file changed, 37 insertions(+) 4598 4599commit a4b214b93ac741edef9c41e55865b0b867ca2587 4600Author: Lasse Collin <lasse.collin@tukaani.org> 4601Date: 2022-10-25 23:45:03 +0300 4602 4603 Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER. 4604 4605 We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS. 4606 4607 There is a warning about AC_PROG_CC_C99 being obsolete but 4608 it cannot be removed because it is needed with Autoconf 2.69. 4609 4610 configure.ac | 2 +- 4611 1 file changed, 1 insertion(+), 1 deletion(-) 4612 4613commit 04f299b64e73f50afc188c2590ebebc6b73ed744 4614Author: Lasse Collin <lasse.collin@tukaani.org> 4615Date: 2022-10-25 23:31:44 +0300 4616 4617 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 4618 4619 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++------- 4620 1 file changed, 22 insertions(+), 7 deletions(-) 4621 4622commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8 4623Author: Lasse Collin <lasse.collin@tukaani.org> 4624Date: 2022-10-25 23:28:34 +0300 4625 4626 Build: Add configure option --disable-microlzma. 4627 4628 MicroLZMA was made for EROFS and used by erofs-utils. 4629 It might be used by something else in the future but 4630 those wanting a smaller build for specific situations 4631 can now disable this rarely-needed feature. 4632 4633 configure.ac | 22 ++++++++++++++++++++++ 4634 1 file changed, 22 insertions(+) 4635 4636commit 054ccd6d14b2cc6eddc56897af280d3221414150 4637Author: Lasse Collin <lasse.collin@tukaani.org> 4638Date: 2022-10-25 23:09:11 +0300 4639 4640 xz: Fix --single-stream with an empty .xz Stream. 4641 4642 Example: 4643 4644 $ xz -dc --single-stream good-0-empty.xz 4645 xz: good-0-empty.xz: Internal error (bug) 4646 4647 The code, that is tries to catch some input file issues early, 4648 didn't anticipate LZMA_STREAM_END which is possible in that 4649 code only when --single-stream is used. 4650 4651 src/xz/coder.c | 9 +++++++++ 4652 1 file changed, 9 insertions(+) 4653 4654commit 563288ea705e83ff5cb292adf794650c263bca1d 4655Author: Lasse Collin <lasse.collin@tukaani.org> 4656Date: 2022-10-25 21:11:58 +0300 4657 4658 xz: Add support for OpenBSD's pledge() sandbox. 4659 4660 configure.ac | 12 +++++++++--- 4661 src/xz/file_io.c | 11 +++++++++++ 4662 src/xz/main.c | 13 +++++++++++++ 4663 src/xz/private.h | 2 +- 4664 4 files changed, 34 insertions(+), 4 deletions(-) 4665 4666commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944 4667Author: Lasse Collin <lasse.collin@tukaani.org> 4668Date: 2022-10-25 19:07:17 +0300 4669 4670 xz: Fix decompressor behavior if input uses an unsupported check type. 4671 4672 Now files with unsupported check will make xz display 4673 a warning, set the exit status to 2 (unless --no-warn is used), 4674 and then decompress the file normally. This is how it was 4675 supposed to work since the beginning but this was broken by 4676 the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is, 4677 a little before 5.0.0 was released. The buggy behavior displayed 4678 a message, set exit status 1 (error), and xz didn't attempt to 4679 to decompress the file. 4680 4681 This doesn't matter today except for special builds that disable 4682 CRC64 or SHA-256 at build time (but such builds should be used 4683 in special situations only). The bug matters if new check type 4684 is added in the future and an old xz version is used to decompress 4685 such a file; however, it's likely that such files would use a new 4686 filter too and an old xz wouldn't be able to decompress the file 4687 anyway. 4688 4689 The first hunk in the commit is the actual fix. The second hunk 4690 is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz. 4691 4692 There is a test file for unsupported check type but it wasn't 4693 used by test_files.sh, perhaps due to different behavior between 4694 xz and the simpler xzdec. 4695 4696 src/xz/coder.c | 19 +++++++++++++++---- 4697 1 file changed, 15 insertions(+), 4 deletions(-) 4698 4699commit aa4fe145b9486adc454f44fd3e09be9add808a0f 4700Author: Lasse Collin <lasse.collin@tukaani.org> 4701Date: 2022-10-25 18:36:19 +0300 4702 4703 xz: Clarify the man page: input file isn't removed if an error occurs. 4704 4705 src/xz/xz.1 | 5 +++-- 4706 1 file changed, 3 insertions(+), 2 deletions(-) 4707 4708commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d 4709Author: Lasse Collin <lasse.collin@tukaani.org> 4710Date: 2022-10-25 18:30:55 +0300 4711 4712 xz: Refactor to remove is_empty_filename(). 4713 4714 Long ago it was used in list.c too but nowadays it's needed 4715 only in io_open_src() so it's nicer to avoid a separate function. 4716 4717 src/xz/file_io.c | 4 +++- 4718 src/xz/util.c | 12 ------------ 4719 src/xz/util.h | 4 ---- 4720 3 files changed, 3 insertions(+), 17 deletions(-) 4721 4722commit 85624015978b0de294cff3df79006df987c552b1 4723Author: Lasse Collin <lasse.collin@tukaani.org> 4724Date: 2022-10-25 18:23:54 +0300 4725 4726 xz: If input file cannot be removed, treat it as a warning, not error. 4727 4728 Treating it as a warning (message + exit status 2) matches gzip 4729 and it seems more logical as at that point the output file has 4730 already been successfully closed. When it's a warning it is 4731 possible to suppress it with --no-warn. 4732 4733 src/xz/file_io.c | 4 ++-- 4734 1 file changed, 2 insertions(+), 2 deletions(-) 4735 4736commit fda9f85f52c546f7ca0313cf89481da4707fecb3 4737Author: Lasse Collin <lasse.collin@tukaani.org> 4738Date: 2022-10-24 16:25:09 +0300 4739 4740 liblzma: Threaded decoder: Stop the worker threads on errors. 4741 4742 It's waste of CPU time and electricity to leave the unfinished 4743 worker threads running when it is known that their output will 4744 get ignored. 4745 4746 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++------- 4747 1 file changed, 26 insertions(+), 7 deletions(-) 4748 4749commit 2611c4d90535652d3eb7ef4a026a6691276fab43 4750Author: Lasse Collin <lasse.collin@tukaani.org> 4751Date: 2022-10-20 20:22:50 +0300 4752 4753 tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD. 4754 4755 On OpenBSD the number of cores online is often less 4756 than what HW_NCPU would return because OpenBSD disables 4757 simultaneous multi-threading (SMT) by default. 4758 4759 Thanks to Christian Weisgerber. 4760 4761 m4/tuklib_cpucores.m4 | 5 +++++ 4762 src/common/tuklib_cpucores.c | 9 +++++++++ 4763 2 files changed, 14 insertions(+) 4764 4765commit 424ac91c7e0419393ff2bde4f62e21fa611c776d 4766Author: Lasse Collin <lasse.collin@tukaani.org> 4767Date: 2022-10-19 19:39:35 +0300 4768 4769 Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled. 4770 4771 This isn't perfect as the scripts can still fail if only 4772 certain filters are disabled. This is still an improvement 4773 as now "make check" has better behavior when all encoders 4774 or decoders are disabled. 4775 4776 Grepping ../config.h is simple and fairly clean but it only 4777 works if config.h was created. CMake builds don't create 4778 config.h but they don't use these test scripts either. 4779 4780 Thanks to Sebastian Andrzej Siewior for reporting the problem. 4781 Thanks to Jia Tan for the original patch which grepped xz 4782 error messages instead of config.h. 4783 4784 tests/test_compress.sh | 12 ++++++++++++ 4785 tests/test_files.sh | 11 +++++++++++ 4786 tests/test_scripts.sh | 11 +++++++++++ 4787 3 files changed, 34 insertions(+) 4788 4789commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09 4790Author: Lasse Collin <lasse.collin@tukaani.org> 4791Date: 2022-10-19 18:54:34 +0300 4792 4793 Test: Remove the (exit 1) lines. 4794 4795 I suspect that I used these in the original version because 4796 Autoconf's manual describes that such a trick is needed in 4797 some specific situations for portability reasons. None of those 4798 situations listed on Autoconf 2.71 manual apply to these test 4799 scripts though so this cleans them up. 4800 4801 tests/test_compress.sh | 10 ---------- 4802 tests/test_files.sh | 9 --------- 4803 tests/test_scripts.sh | 6 ------ 4804 3 files changed, 25 deletions(-) 4805 4806commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e 4807Author: Lasse Collin <lasse.collin@tukaani.org> 4808Date: 2022-10-19 17:14:57 +0300 4809 4810 Tests: Fix a warning in test_memlimit.c when decoders are disabled. 4811 4812 tests/test_memlimit.c | 3 +++ 4813 1 file changed, 3 insertions(+) 4814 4815commit b5f8271b45b9b0e59485ffba3640ca3418835ec4 4816Author: Lasse Collin <lasse.collin@tukaani.org> 4817Date: 2022-10-19 17:11:46 +0300 4818 4819 Tests: Add test_memlimit to .gitignore. 4820 4821 Thanks to Jia Tan. 4822 4823 .gitignore | 1 + 4824 1 file changed, 1 insertion(+) 4825 4826commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38 4827Author: Jia Tan <jiat0218@gmail.com> 4828Date: 2022-10-06 21:53:09 +0300 4829 4830 Tests: Refactor test_stream_flags.c. 4831 4832 Converts test_stream_flags to tuktest. Also the test will now 4833 compile and skip properly if encoders or decoders are disabled. 4834 4835 Thanks to Sebastian Andrzej Siewior. 4836 4837 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++---------- 4838 1 file changed, 416 insertions(+), 117 deletions(-) 4839 4840commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66 4841Author: Jia Tan <jiat0218@gmail.com> 4842Date: 2022-10-06 17:00:38 +0800 4843 4844 Tests: Refactor test_block_header.c. 4845 4846 test_block_header now achieves higher test coverage. Also the 4847 test will now compile and skip properly if encoders or decoders 4848 are disabled. 4849 4850 Thanks to Sebastian Andrzej Siewior. 4851 4852 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++----------- 4853 1 file changed, 370 insertions(+), 116 deletions(-) 4854 4855commit 84963318952064a93bfc52edd6b0ef70593384ee 4856Author: Jia Tan <jiat0218@gmail.com> 4857Date: 2022-10-05 23:54:12 +0800 4858 4859 Tests: Fix compilation issues. 4860 4861 test_bcj_exact_size, test_check, test_hardware, and test_index will 4862 all now compile and skip properly if encoders or decoders are disabled. 4863 4864 Also fixed a small typo (disabed -> disabled). 4865 4866 Thanks to Sebastian Andrzej Siewior. 4867 4868 tests/test_bcj_exact_size.c | 20 ++++++++++++++------ 4869 tests/test_check.c | 8 +++++++- 4870 tests/test_hardware.c | 2 +- 4871 tests/test_index.c | 6 ++++++ 4872 tests/test_memlimit.c | 16 +++++++++++++++- 4873 tests/test_vli.c | 13 +++++++++++++ 4874 6 files changed, 56 insertions(+), 9 deletions(-) 4875 4876commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16 4877Author: Lasse Collin <lasse.collin@tukaani.org> 4878Date: 2022-10-05 16:20:47 +0300 4879 4880 Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED. 4881 4882 tests/test_check.c | 1 + 4883 tests/test_hardware.c | 1 + 4884 tests/test_memlimit.c | 1 + 4885 3 files changed, 3 insertions(+) 4886 4887commit 14af758a770c7781af18fb66d6d21ee5b1c27f04 4888Author: Jia Tan <jiat0218@gmail.com> 4889Date: 2022-10-05 20:57:16 +0800 4890 4891 liblzma: Fix a compilation issue when encoders are disabled. 4892 4893 When encoders were disabled and threading enabled, outqueue.c and 4894 outqueue.h were not compiled. The multi threaded decoder required 4895 these files, so compilation failed. 4896 4897 src/liblzma/common/Makefile.inc | 7 ++++--- 4898 1 file changed, 4 insertions(+), 3 deletions(-) 4899 4900commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f 4901Author: Jia Tan <jiat0218@gmail.com> 4902Date: 2022-10-05 16:41:38 +0800 4903 4904 Tests: Fix compilation error when threading support has been disabled. 4905 4906 Now tests that require threading are skipped when threading 4907 support has been disabled. 4908 4909 Thanks to Sebastian Andrzej Siewior. 4910 4911 tests/test_check.c | 4 ++++ 4912 tests/test_hardware.c | 4 ++++ 4913 tests/test_memlimit.c | 4 ++++ 4914 3 files changed, 12 insertions(+) 4915 4916commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58 4917Author: Lasse Collin <lasse.collin@tukaani.org> 4918Date: 2022-10-05 14:26:00 +0300 4919 4920 tuklib_integer: Add 64-bit endianness-converting reads and writes. 4921 4922 Also update the comment in liblzma's memcmplen.h. 4923 4924 Thanks to Michał Górny for the original patch for the reads. 4925 4926 m4/tuklib_integer.m4 | 8 ++++---- 4927 src/common/tuklib_integer.h | 46 ++++++++++++++++++++++++++++++++++++++++-- 4928 src/liblzma/common/memcmplen.h | 9 +++------ 4929 3 files changed, 51 insertions(+), 12 deletions(-) 4930 4931commit 508a44372c5b0dede8863fd0d358d4a9d8645c95 4932Author: Lasse Collin <lasse.collin@tukaani.org> 4933Date: 2022-09-30 12:06:13 +0300 4934 4935 liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug. 4936 4937 The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98. 4938 4939 src/liblzma/api/lzma/base.h | 11 +++++++++++ 4940 1 file changed, 11 insertions(+) 4941 4942commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed 4943Author: Jia Tan <jiat0218@gmail.com> 4944Date: 2022-09-21 16:15:50 +0800 4945 4946 liblzma: Add dest and src NULL checks to lzma_index_cat. 4947 4948 The documentation states LZMA_PROG_ERROR can be returned from 4949 lzma_index_cat. Previously, lzma_index_cat could not return 4950 LZMA_PROG_ERROR. Now, the validation is similar to 4951 lzma_index_append, which does a NULL check on the index 4952 parameter. 4953 4954 src/liblzma/common/index.c | 3 +++ 4955 1 file changed, 3 insertions(+) 4956 4957commit afd5a8bf5374eba82804a999e1ea7af680784086 4958Author: Jia Tan <jiat0218@gmail.com> 4959Date: 2022-09-21 20:29:28 +0800 4960 4961 Tests: Create a test for the lzma_index_cat bug. 4962 4963 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 4964 1 file changed, 42 insertions(+), 1 deletion(-) 4965 4966commit 3d5a99ca373a4e86faf671226ca6487febb9eeac 4967Author: Jia Tan <jiat0218@gmail.com> 4968Date: 2022-09-21 19:28:53 +0800 4969 4970 liblzma: Fix copying of check type statistics in lzma_index_cat(). 4971 4972 The check type of the last Stream in dest was never copied to 4973 dest->checks (the code tried to copy it but it was done too late). 4974 This meant that the value returned by lzma_index_checks() would 4975 only include the check type of the last Stream when multiple 4976 lzma_indexes had been concatenated. 4977 4978 In xz --list this meant that the summary would only list the 4979 check type of the last Stream, so in this sense this was only 4980 a visual bug. However, it's possible that some applications 4981 use this information for purposes other than merely showing 4982 it to the users in an informational message. I'm not aware of 4983 such applications though and it's quite possible that such 4984 applications don't exist. 4985 4986 Regular streamed decompression in xz or any other application 4987 doesn't use lzma_index_cat() and so this bug cannot affect them. 4988 4989 src/liblzma/common/index.c | 7 ++++++- 4990 1 file changed, 6 insertions(+), 1 deletion(-) 4991 4992commit a61d32172789735350a941e23baf6b587c49e5d9 4993Author: Lasse Collin <lasse.collin@tukaani.org> 4994Date: 2022-09-28 12:20:41 +0300 4995 4996 tuklib_physmem: Fix Unicode builds on Windows. 4997 4998 Thanks to ArSaCiA Game. 4999 5000 src/common/tuklib_physmem.c | 2 +- 5001 1 file changed, 1 insertion(+), 1 deletion(-) 5002 5003commit 5a4d3548ab214fdca364d5c734baf1d1fab47308 5004Author: Lasse Collin <lasse.collin@tukaani.org> 5005Date: 2022-09-28 11:12:07 +0300 5006 5007 Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR. 5008 5009 tests/Makefile.am | 2 + 5010 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5011 2 files changed, 153 insertions(+) 5012 5013commit 660739f99ab211edec4071de98889fb32ed04e98 5014Author: Lasse Collin <lasse.collin@tukaani.org> 5015Date: 2022-09-28 11:05:15 +0300 5016 5017 liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR. 5018 5019 If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible 5020 to use lzma_memlimit_set() to increase the limit and continue 5021 decoding. This was supposed to work from the beginning but 5022 there was a bug. With other decoders (.lzma or threaded .xz) 5023 this already worked correctly. 5024 5025 src/liblzma/common/stream_decoder.c | 16 +++++++++++++--- 5026 1 file changed, 13 insertions(+), 3 deletions(-) 5027 5028commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b 5029Author: Lasse Collin <lasse.collin@tukaani.org> 5030Date: 2022-09-28 11:00:23 +0300 5031 5032 liblzma: Stream decoder: Fix comments. 5033 5034 src/liblzma/common/stream_decoder.c | 12 +++++------- 5035 1 file changed, 5 insertions(+), 7 deletions(-) 5036 5037commit f664cb25841fc1c478b819034a224a558e2ac6e7 5038Author: Lasse Collin <lasse.collin@tukaani.org> 5039Date: 2022-09-20 16:58:22 +0300 5040 5041 liblzma: ARM64: Add comments. 5042 5043 src/liblzma/simple/arm64.c | 13 +++++++++++++ 5044 1 file changed, 13 insertions(+) 5045 5046commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41 5047Author: Lasse Collin <lasse.collin@tukaani.org> 5048Date: 2022-09-20 16:27:50 +0300 5049 5050 liblzma: ARM64: Fix wrong comment in API doc. 5051 5052 Thanks to Jia Tan. 5053 5054 src/liblzma/api/lzma/bcj.h | 4 ++-- 5055 1 file changed, 2 insertions(+), 2 deletions(-) 5056 5057commit d5b0906fa55157f48c200188a3951d80df9cb308 5058Author: Lasse Collin <lasse.collin@tukaani.org> 5059Date: 2022-09-19 20:24:26 +0300 5060 5061 xz: Add --experimental-arm64[=width=WIDTH]. 5062 5063 It will be renamed to --arm64 once it is stable. 5064 5065 Man page or --long-help weren't updated yet. 5066 5067 src/xz/args.c | 7 +++++++ 5068 src/xz/message.c | 7 +++++++ 5069 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++ 5070 src/xz/options.h | 7 +++++++ 5071 4 files changed, 60 insertions(+) 5072 5073commit ecb966de308c255bb4735a7307ef9901c643a9de 5074Author: Lasse Collin <lasse.collin@tukaani.org> 5075Date: 2022-09-19 19:34:56 +0300 5076 5077 liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID. 5078 5079 That is, the Filter ID will be changed once the design is final. 5080 The current version will be removed. So files created with the 5081 tempoary Filter ID won't be supported in the future. 5082 5083 CMakeLists.txt | 3 + 5084 configure.ac | 4 +- 5085 src/liblzma/api/lzma/bcj.h | 35 +++++- 5086 src/liblzma/common/filter_common.c | 9 ++ 5087 src/liblzma/common/filter_decoder.c | 8 ++ 5088 src/liblzma/common/filter_encoder.c | 11 ++ 5089 src/liblzma/simple/Makefile.inc | 4 + 5090 src/liblzma/simple/arm64.c | 227 ++++++++++++++++++++++++++++++++++++ 5091 src/liblzma/simple/simple_coder.h | 9 ++ 5092 src/liblzma/simple/simple_decoder.h | 4 + 5093 src/liblzma/simple/simple_encoder.h | 2 + 5094 11 files changed, 313 insertions(+), 3 deletions(-) 5095 5096commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 5097Author: Lasse Collin <lasse.collin@tukaani.org> 5098Date: 2022-09-17 22:42:18 +0300 5099 5100 liblzma: Simple/BCJ filters: Allow disabling generic BCJ options. 5101 5102 This will be needed for the ARM64 BCJ filter as it will use 5103 its own options struct. 5104 5105 src/liblzma/simple/arm.c | 2 +- 5106 src/liblzma/simple/armthumb.c | 2 +- 5107 src/liblzma/simple/ia64.c | 2 +- 5108 src/liblzma/simple/powerpc.c | 2 +- 5109 src/liblzma/simple/simple_coder.c | 4 ++-- 5110 src/liblzma/simple/simple_private.h | 2 +- 5111 src/liblzma/simple/sparc.c | 2 +- 5112 src/liblzma/simple/x86.c | 3 ++- 5113 8 files changed, 10 insertions(+), 9 deletions(-) 5114 5115commit c3592d0a55114144686ecf960cb516d6b31c98e9 5116Author: Lasse Collin <lasse.collin@tukaani.org> 5117Date: 2022-09-16 17:08:53 +0300 5118 5119 Tests: Add a test file for lzma_index_append() integer overflow bug. 5120 5121 This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136. 5122 5123 test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz 5124 because only then the previously-buggy code path gets tested. 5125 Normal decompression doesn't use lzma_index_append() at all. 5126 Instead, lzma_index_hash functions are used and those already 5127 did the overflow check. 5128 5129 tests/files/README | 10 ++++++++++ 5130 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes 5131 tests/test_files.sh | 8 ++++++++ 5132 3 files changed, 18 insertions(+) 5133 5134commit 982b29f828079a2a26253a40e975127a40a7d2bd 5135Author: Lasse Collin <lasse.collin@tukaani.org> 5136Date: 2022-09-16 15:10:07 +0300 5137 5138 Translations: Add Turkish translation. 5139 5140 po/LINGUAS | 1 + 5141 po/tr.po | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5142 2 files changed, 978 insertions(+) 5143 5144commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2 5145Author: Lasse Collin <lasse.collin@tukaani.org> 5146Date: 2022-09-16 14:09:07 +0300 5147 5148 Update THANKS. 5149 5150 THANKS | 1 + 5151 1 file changed, 1 insertion(+) 5152 5153commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420 5154Author: Lasse Collin <lasse.collin@tukaani.org> 5155Date: 2022-09-16 14:07:03 +0300 5156 5157 xzgrep: Fix compatibility with old shells. 5158 5159 Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15: 5160 5161 xzgrep: line 231: syntax error near unexpected token `;;' 5162 5163 On SCO OpenServer 5.0.7 with Korn Shell 93r: 5164 5165 syntax error at line 231 : `;;' unexpected 5166 5167 Turns out that some old shells don't like apostrophes (') inside 5168 command substitutions. For example, the following fails: 5169 5170 x=$(echo foo 5171 # asdf'zxcv 5172 echo bar) 5173 printf '%s\n' "$x" 5174 5175 The problem was introduced by commits 5176 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29), 5177 bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and 5178 a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19). 5179 5.2.6 is the only stable release that included 5180 this problem. 5181 5182 Thanks to Kevin R. Bulgrien for reporting the problem 5183 on SCO OpenServer 5.0.7 and for providing the fix. 5184 5185 src/scripts/xzgrep.in | 6 +++--- 5186 1 file changed, 3 insertions(+), 3 deletions(-) 5187 5188commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99 5189Author: Lasse Collin <lasse.collin@tukaani.org> 5190Date: 2022-09-09 14:12:30 +0300 5191 5192 Tests: Silence warnings about unused functions from tuktest.h. 5193 5194 Warnings about unused tuktest_run_test conveniently tell which 5195 test programs haven't been converted to tuktest.h yet but I 5196 silenced that warning too for now anyway. 5197 5198 It is fine to use __attribute__((__unused__)) even when the 5199 function is actually used because the attribute only means 5200 that the function might be unused. 5201 5202 tests/tuktest.h | 10 ++++++++++ 5203 1 file changed, 10 insertions(+) 5204 5205commit f8ee61e74eb40600445fdb601c374d582e1e9c8a 5206Author: Lasse Collin <lasse.collin@tukaani.org> 5207Date: 2022-09-09 13:51:57 +0300 5208 5209 liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs. 5210 5211 lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed 5212 this. Before this patch, failing lzma_filters_copy() could result 5213 in free(invalid_pointer) or invalid memory reads in stream_encoder.c 5214 or stream_encoder_mt.c. 5215 5216 To trigger this, allocating memory for a filter options structure 5217 has to fail. These are tiny allocations so in practice they very 5218 rarely fail. 5219 5220 Certain badness in the filter chain array could also make 5221 lzma_filters_copy() fail but both stream_encoder.c and 5222 stream_encoder_mt.c validate the filter chain before 5223 trying to copy it, so the crash cannot occur this way. 5224 5225 src/liblzma/api/lzma/filter.h | 4 +++- 5226 src/liblzma/common/filter_common.c | 18 ++++++++++++------ 5227 2 files changed, 15 insertions(+), 7 deletions(-) 5228 5229commit 18d7facd3802b55c287581405c4d49c98708c136 5230Author: Jia Tan <jiat0218@gmail.com> 5231Date: 2022-09-02 20:18:55 +0800 5232 5233 liblzma: lzma_index_append: Add missing integer overflow check. 5234 5235 The documentation in src/liblzma/api/lzma/index.h suggests that 5236 both the unpadded (compressed) size and the uncompressed size 5237 are checked for overflow, but only the unpadded size was checked. 5238 The uncompressed check is done first since that is more likely to 5239 occur than the unpadded or index field size overflows. 5240 5241 src/liblzma/common/index.c | 4 ++++ 5242 1 file changed, 4 insertions(+) 5243 5244commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4 5245Author: Lasse Collin <lasse.collin@tukaani.org> 5246Date: 2022-09-08 15:11:08 +0300 5247 5248 Update THANKS. 5249 5250 THANKS | 1 + 5251 1 file changed, 1 insertion(+) 5252 5253commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc 5254Author: Jia Tan <jiat0218@gmail.com> 5255Date: 2022-09-08 15:07:00 +0300 5256 5257 CMake: Clarify a comment about Windows symlinks without file extension. 5258 5259 CMakeLists.txt | 7 +++---- 5260 1 file changed, 3 insertions(+), 4 deletions(-) 5261 5262commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d 5263Author: Lasse Collin <lasse.collin@tukaani.org> 5264Date: 2022-09-08 15:02:41 +0300 5265 5266 CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep. 5267 5268 The previous commit split liblzma.map into liblzma_linux.map and 5269 liblzma_generic.map. This commit updates the CMake build for those. 5270 5271 common_w32res.rc dependency was listed under Linux/FreeBSD while 5272 obviously it belongs to Windows when building a DLL. 5273 5274 CMakeLists.txt | 24 +++++++++++++++++++----- 5275 1 file changed, 19 insertions(+), 5 deletions(-) 5276 5277commit 913ddc5572b9455fa0cf299be2e35c708840e922 5278Author: Lasse Collin <lasse.collin@tukaani.org> 5279Date: 2022-09-04 23:23:00 +0300 5280 5281 liblzma: Vaccinate against an ill patch from RHEL/CentOS 7. 5282 5283 RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded 5284 encoder that is behind #ifdef LZMA_UNSTABLE in the API headers. 5285 In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map. 5286 API/ABI compatibility tracking isn't done between development 5287 releases so newer releases didn't have XZ_5.1.2alpha anymore. 5288 5289 Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep 5290 the exported symbols compatible with 5.1.2alpha. After checking 5291 the ABI changes it turned out that >= 5.2.0 ABI is backward 5292 compatible with the threaded encoder functions from 5.1.2alpha 5293 (but not vice versa as fixes and extensions to these functions 5294 were made between 5.1.2alpha and 5.2.0). 5295 5296 In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with 5297 xz-5.2.2-compat-libs.patch to modify liblzma.map: 5298 5299 - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and 5300 lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha. 5301 5302 - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was 5303 an error; the intention was to keep using XZ_5.2 (XZ_5.2.2 5304 has never been used in XZ Utils). So XZ_5.2.2 lists all 5305 symbols that were listed under XZ_5.2 before the patch. 5306 lzma_stream_encoder_mt and _mt_memusage are included too so 5307 they are listed both here and under XZ_5.1.2alpha. 5308 5309 The patch didn't add any __asm__(".symver ...") lines to the .c 5310 files. Thus the resulting liblzma.so exports the threaded encoder 5311 functions under XZ_5.1.2alpha only. Listing the two functions 5312 also under XZ_5.2.2 in liblzma.map has no effect without 5313 matching .symver lines. 5314 5315 The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked 5316 against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7. 5317 This is unfortunate but this alone isn't too bad as the problem 5318 is contained within RHEL/CentOS 7 and doesn't affect users 5319 of other distributions. It could also be fixed internally in 5320 RHEL/CentOS 7. 5321 5322 The second problem is more serious: In XZ Utils 5.2.2 the API 5323 headers don't have #ifdef LZMA_UNSTABLE for obvious reasons. 5324 This is true in RHEL/CentOS 7 version too. Thus now programs 5325 using new APIs can be compiled without an extra #define. However, 5326 the programs end up depending on symbol version XZ_5.1.2alpha 5327 (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would 5328 with an unpatched XZ Utils 5.2.2. This means that such binaries 5329 won't run on other distributions shipping XZ Utils >= 5.2.0 as 5330 they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide 5331 XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch 5332 luckily isn't included there anymore with XZ Utils 5.2.4.) 5333 5334 Binaries built by RHEL/CentOS 7 users get distributed and then 5335 people wonder why they don't run on some other distribution. 5336 Seems that people have found out about the patch and been copying 5337 it to some build scripts, seemingly curing the symptoms but 5338 actually spreading the illness further and outside RHEL/CentOS 7. 5339 5340 The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it 5341 had spread at least to EasyBuild. I heard about the events only 5342 recently. :-( 5343 5344 This commit splits liblzma.map into two versions: one for 5345 GNU/Linux and another for other OSes that can use symbol versioning 5346 (FreeBSD, Solaris, maybe others). The Linux-specific file and the 5347 matching additions to .c files add full compatibility with binaries 5348 that have been built against a RHEL/CentOS-patched liblzma. Builds 5349 for OSes other than GNU/Linux won't get the vaccine as they should 5350 be immune to the problem (I really hope that no build script uses 5351 the RHEL/CentOS 7 patch outside GNU/Linux). 5352 5353 The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2 5354 are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way 5355 if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building, 5356 the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2 5357 since XZ_5.2 {...} is the first one that lists that function. 5358 Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2 5359 will be missing but that's still a minor problem compared to 5360 only having lzma_stream_encoder_mt@@XZ_5.1.2alpha! 5361 5362 The "local: *;" line was moved to XZ_5.0 so that it doesn't need 5363 to be moved around. It doesn't matter where it is put. 5364 5365 Having two similar liblzma_*.map files is a bit silly as it is, 5366 at least for now, easily possible to generate the generic one 5367 from the Linux-specific file. But that adds extra steps and 5368 increases the risk of mistakes when supporting more than one 5369 build system. So I rather maintain two files in parallel and let 5370 validate_map.sh check that they are in sync when "make mydist" 5371 is run. 5372 5373 This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and 5374 lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these 5375 weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was 5376 for these two). I added these anyway because someone might 5377 misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2 5378 (@@XZ_5.2.2) versions were exported too. 5379 5380 At glance one could suggest using __typeof__ to copy the function 5381 prototypes when making aliases. However, this doesn't work trivially 5382 because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure) 5383 and it won't change symbol visibility from hidden to default (done 5384 by LZMA_API()). Attributes could be copied with __copy__ attribute 5385 but that needs GCC 9 and a fallback method would be needed anyway. 5386 5387 This uses __symver__ attribute with GCC >= 10 and 5388 __asm__(".symver ...") with everything else. The attribute method 5389 is required for LTO (-flto) support with GCC. Using -flto with 5390 GCC older than 10 is now broken on GNU/Linux and will not be fixed 5391 (can silently result in a broken liblzma build that has dangerously 5392 incorrect symbol versions). LTO builds with Clang seem to work 5393 with the traditional __asm__(".symver ...") method. 5394 5395 Thanks to Boud Roukema for reporting the problem and discussing 5396 the details and testing the fix. 5397 5398 configure.ac | 23 +++- 5399 src/liblzma/Makefile.am | 10 +- 5400 src/liblzma/common/block_buffer_encoder.c | 18 ++++ 5401 src/liblzma/common/common.c | 14 +++ 5402 src/liblzma/common/common.h | 28 +++++ 5403 src/liblzma/common/hardware_cputhreads.c | 12 +++ 5404 src/liblzma/common/stream_encoder_mt.c | 42 ++++++++ 5405 src/liblzma/{liblzma.map => liblzma_generic.map} | 6 +- 5406 src/liblzma/liblzma_linux.map | 131 +++++++++++++++++++++++ 5407 src/liblzma/validate_map.sh | 113 +++++++++++++++++-- 5408 10 files changed, 382 insertions(+), 15 deletions(-) 5409 5410commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9 5411Author: Lasse Collin <lasse.collin@tukaani.org> 5412Date: 2022-08-31 16:42:04 +0300 5413 5414 CMake: Add xz symlinks. 5415 5416 These are a minor thing especially since the xz build has 5417 some real problems still like lack of large file support 5418 on 32-bit systems but I'll commit this since the code exists. 5419 5420 Thanks to Jia Tan. 5421 5422 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++- 5423 1 file changed, 37 insertions(+), 1 deletion(-) 5424 5425commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9 5426Author: Lasse Collin <lasse.collin@tukaani.org> 5427Date: 2022-08-31 16:29:38 +0300 5428 5429 CMake: Put xz man page install under if(UNIX) like is for xzdec. 5430 5431 Thanks to Jia Tan. 5432 5433 CMakeLists.txt | 8 +++++--- 5434 1 file changed, 5 insertions(+), 3 deletions(-) 5435 5436commit c1555b1a221a1427d4d650647531016d754bc4da 5437Author: Lasse Collin <lasse.collin@tukaani.org> 5438Date: 2022-08-22 18:16:40 +0300 5439 5440 Bump version number for 5.3.3alpha. 5441 5442 src/liblzma/api/lzma/version.h | 2 +- 5443 src/liblzma/liblzma.map | 2 +- 5444 2 files changed, 2 insertions(+), 2 deletions(-) 5445 5446commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb 5447Author: Lasse Collin <lasse.collin@tukaani.org> 5448Date: 2022-08-22 18:13:56 +0300 5449 5450 Add NEWS for 5.3.3alpha. 5451 5452 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5453 1 file changed, 119 insertions(+) 5454 5455commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa 5456Author: Lasse Collin <lasse.collin@tukaani.org> 5457Date: 2022-07-12 17:59:41 +0300 5458 5459 Translations: Add Portuguese translation. 5460 5461 Jia Tan made white-space changes and also changed "Language: pt_BR\n" 5462 to pt. The translator wasn't reached so I'm hoping these changes 5463 are OK and will commit it without translator's approval. 5464 5465 Thanks to Pedro Albuquerque and Jia Tan. 5466 5467 po/LINGUAS | 1 + 5468 po/pt.po | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5469 2 files changed, 1002 insertions(+) 5470 5471commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae 5472Author: Lasse Collin <lasse.collin@tukaani.org> 5473Date: 2022-07-10 21:16:40 +0300 5474 5475 Translations: Add Serbian translation. 5476 5477 Quite a few white-space changes were made by Jia Tan to make 5478 this look good. Contacting the translator didn't succeed so 5479 I'm committing this without getting translator's approval. 5480 5481 Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan. 5482 5483 po/LINGUAS | 1 + 5484 po/sr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5485 2 files changed, 988 insertions(+) 5486 5487commit cc8617ab53b1f2a4da212fa76c92fe538269c5de 5488Author: Lasse Collin <lasse.collin@tukaani.org> 5489Date: 2022-07-04 23:51:36 +0300 5490 5491 Translations: Add Swedish translation. 5492 5493 Thanks to Sebastian Rasmussen and Jia Tan. 5494 5495 po/LINGUAS | 1 + 5496 po/sv.po | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5497 2 files changed, 984 insertions(+) 5498 5499commit c613598c358b640682d0ca2aed38fa7df763e8c7 5500Author: Lasse Collin <lasse.collin@tukaani.org> 5501Date: 2022-07-04 23:40:27 +0300 5502 5503 Translations: Add Esperanto translation. 5504 5505 Thanks to Keith Bowes and Jia Tan. 5506 5507 po/LINGUAS | 1 + 5508 po/eo.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5509 2 files changed, 985 insertions(+) 5510 5511commit 659a587d678f21e98e91d2751c31d4ce050c081a 5512Author: Lasse Collin <lasse.collin@tukaani.org> 5513Date: 2022-07-01 00:22:33 +0300 5514 5515 Translations: Add Catalan translation. 5516 5517 Thanks to Jordi Mas and Jia Tan. 5518 5519 po/LINGUAS | 1 + 5520 po/ca.po | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5521 2 files changed, 1077 insertions(+) 5522 5523commit 739fd8c9bdf1d85f57d56642aad87148d4779530 5524Author: Lasse Collin <lasse.collin@tukaani.org> 5525Date: 2022-06-30 17:47:08 +0300 5526 5527 Translations: Add Ukrainian translation. 5528 5529 Thanks to Yuri Chornoivan and Jia Tan. 5530 5531 po/LINGUAS | 1 + 5532 po/uk.po | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5533 2 files changed, 997 insertions(+) 5534 5535commit 73280550b111930c62a667e56add8fd574f80bc8 5536Author: Lasse Collin <lasse.collin@tukaani.org> 5537Date: 2022-06-30 17:45:26 +0300 5538 5539 Translators: Add Romanian translation. 5540 5541 Thanks to Remus-Gabriel Chelu and Jia Tan. 5542 5543 po/LINGUAS | 1 + 5544 po/ro.po | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5545 2 files changed, 1017 insertions(+) 5546 5547commit 2465f5b825152714b2c357d96c2422c31109d320 5548Author: Lasse Collin <lasse.collin@tukaani.org> 5549Date: 2022-06-29 18:33:32 +0300 5550 5551 Translations: Update Brazilian Portuguese translation. 5552 5553 One msgstr was changed. The diff is long due to changes 5554 in the source code line numbers in the comments. 5555 5556 Thanks to Rafael Fontenelle. 5557 5558 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------ 5559 1 file changed, 92 insertions(+), 94 deletions(-) 5560 5561commit 434e1ffd3e62719d509da10b646216f5ef53fe4d 5562Author: Lasse Collin <lasse.collin@tukaani.org> 5563Date: 2022-06-29 18:04:44 +0300 5564 5565 Translations: Add Croatian translation. 5566 5567 Thanks to Božidar Putanec and Jia Tan. 5568 5569 po/LINGUAS | 1 + 5570 po/hr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5571 2 files changed, 988 insertions(+) 5572 5573commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499 5574Author: Lasse Collin <lasse.collin@tukaani.org> 5575Date: 2022-06-29 17:58:48 +0300 5576 5577 Translations: Add Spanish translation. 5578 5579 Thanks to Cristian Othón Martínez Vera and Jia Tan. 5580 5581 po/LINGUAS | 1 + 5582 po/es.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5583 2 files changed, 985 insertions(+) 5584 5585commit 9899b0f82bc130998d1f1f618a6ab805b73f2696 5586Author: Lasse Collin <lasse.collin@tukaani.org> 5587Date: 2022-06-29 17:49:43 +0300 5588 5589 Translations: Add Korean translation. 5590 5591 Thanks to Seong-ho Cho and Jia Tan. 5592 5593 po/LINGUAS | 1 + 5594 po/ko.po | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5595 2 files changed, 973 insertions(+) 5596 5597commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f 5598Author: Lasse Collin <lasse.collin@tukaani.org> 5599Date: 2020-03-16 21:57:21 +0200 5600 5601 Translations: Rebuild cs.po to avoid incorrect fuzzy strings. 5602 5603 "make dist" updates the .po files and the fuzzy strings would 5604 result in multiple very wrong translations. 5605 5606 po/cs.po | 592 ++++++++++++++++++++++++++++++++++----------------------------- 5607 1 file changed, 322 insertions(+), 270 deletions(-) 5608 5609commit e56ff423ee7af9e648e16b132f0d835d2cb4db26 5610Author: Lasse Collin <lasse.collin@tukaani.org> 5611Date: 2020-03-16 17:30:39 +0200 5612 5613 Translations: Add partial Danish translation. 5614 5615 I made a few minor white space changes without getting them 5616 approved by the Danish translation team. 5617 5618 po/LINGUAS | 1 + 5619 po/da.po | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5620 2 files changed, 897 insertions(+) 5621 5622commit 43e09c62e77cb8807d932c81de4decbdb956e184 5623Author: Lasse Collin <lasse.collin@tukaani.org> 5624Date: 2020-03-11 22:37:54 +0200 5625 5626 Translations: Add hu, zh_CN, and zh_TW. 5627 5628 I made a few white space changes to these without getting them 5629 approved by the translation teams. (I tried to contact the hu and 5630 zh_TW teams but didn't succeed. I didn't contact the zh_CN team.) 5631 5632 po/LINGUAS | 3 + 5633 po/hu.po | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5634 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5635 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5636 4 files changed, 2907 insertions(+) 5637 5638commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b 5639Author: Lasse Collin <lasse.collin@tukaani.org> 5640Date: 2020-03-11 14:33:30 +0200 5641 5642 Translations: Update vi.po to match the file from the TP. 5643 5644 The translated strings haven't been updated but word wrapping 5645 is different. 5646 5647 po/vi.po | 407 ++++++++++++++++++++++++++++----------------------------------- 5648 1 file changed, 179 insertions(+), 228 deletions(-) 5649 5650commit 801f39691fc4abc6dd33d7653d498781b593f3eb 5651Author: Lasse Collin <lasse.collin@tukaani.org> 5652Date: 2020-03-11 14:18:03 +0200 5653 5654 Translations: Add fi and pt_BR, and update de, fr, it, and pl. 5655 5656 The German translation isn't identical to the file in 5657 the Translation Project but the changes (white space changes 5658 only) were approved by the translator Mario Blättermann. 5659 5660 po/LINGUAS | 2 + 5661 po/de.po | 476 ++++++++++++++-------------- 5662 po/fi.po | 974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5663 po/fr.po | 272 ++++++++-------- 5664 po/it.po | 479 ++++++++++++---------------- 5665 po/pl.po | 239 +++++++------- 5666 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5667 7 files changed, 2697 insertions(+), 746 deletions(-) 5668 5669commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33 5670Author: Lasse Collin <lasse.collin@tukaani.org> 5671Date: 2022-08-22 17:27:19 +0300 5672 5673 xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress. 5674 5675 src/xz/xz.1 | 31 +++++++++++++++++++------------ 5676 1 file changed, 19 insertions(+), 12 deletions(-) 5677 5678commit df23c31000283c00e5ef1ca32a0bc3bb757bd707 5679Author: Lasse Collin <lasse.collin@tukaani.org> 5680Date: 2022-08-22 16:46:18 +0300 5681 5682 CMake: Add liblzma tests. 5683 5684 Thanks to Jia Tan for the patch. 5685 5686 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 5687 1 file changed, 52 insertions(+), 1 deletion(-) 5688 5689commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5 5690Author: Lasse Collin <lasse.collin@tukaani.org> 5691Date: 2022-08-19 23:32:22 +0300 5692 5693 xz: Revise --info-memory output. 5694 5695 The strings could be more descriptive but it's good 5696 to have some version of this committed now. 5697 5698 --robot mode wasn't changed yet. 5699 5700 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------ 5701 src/xz/xz.1 | 1 + 5702 2 files changed, 27 insertions(+), 6 deletions(-) 5703 5704commit f864f6d42eab57ea8ed82cc2dd19a03b51377442 5705Author: Lasse Collin <lasse.collin@tukaani.org> 5706Date: 2022-08-19 23:12:02 +0300 5707 5708 xz: Update the man page for threaded decompression and memlimits. 5709 5710 This documents the changes made in commits 5711 6c6da57ae2aa962aabde6892442227063d87e88c, 5712 cad299008cf73ec566f0662a9cf2b94f86a99659, and 5713 898faa97287a756231c663a3ed5165672b417207. 5714 5715 The --info-memory bit hasn't been finished yet 5716 even though it's already mentioned in this commit 5717 under --memlimit-mt-decompress and --threads. 5718 5719 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 5720 1 file changed, 121 insertions(+), 27 deletions(-) 5721 5722commit d13bfcc0056617dd648f655a01653932fad7067f 5723Author: Lasse Collin <lasse.collin@tukaani.org> 5724Date: 2022-08-18 17:49:16 +0300 5725 5726 Build: Include the CMake files in the distribution. 5727 5728 This was supposed to be done in 2020 with 5.2.5 release 5729 already but it was noticed only today. 5.2.5 and 5.2.6 5730 even mention experiemental CMake support in the NEWS entries. 5731 5732 Thanks to Olivier B. for reporting the problem. 5733 5734 Makefile.am | 2 ++ 5735 1 file changed, 2 insertions(+) 5736 5737commit e66787bcfefdb93f19c974f895f65969a77937b0 5738Author: Lasse Collin <lasse.collin@tukaani.org> 5739Date: 2022-08-18 17:38:05 +0300 5740 5741 Windows: Fix broken liblzma.dll build with Visual Studio project files. 5742 5743 The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616 5744 "Windows: Fix building of resource files when config.h isn't used." 5745 5746 That commit fixed liblzma.dll build with CMake while keeping it 5747 working with Autotools on Windows but the VS project files were 5748 forgotten. 5749 5750 I haven't tested these changes. 5751 5752 Thanks to Olivier B. for reporting the bug and for the initial patch. 5753 5754 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++ 5755 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++ 5756 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++ 5757 3 files changed, 18 insertions(+) 5758 5759commit c4e8e5fb311225b8b48d34157891a640b2535e0c 5760Author: Lasse Collin <lasse.collin@tukaani.org> 5761Date: 2022-08-18 17:16:49 +0300 5762 5763 liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used. 5764 5765 It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR) 5766 if LZMA_FINISH is used and there isn't enough input to finish 5767 decoding the Block Header or the Block. The use of LZMA_DATA_ERROR 5768 is simpler and the less risky than LZMA_BUF_ERROR but this might 5769 be changed before 5.4.0. 5770 5771 src/liblzma/api/lzma/container.h | 6 +++++ 5772 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++ 5773 2 files changed, 48 insertions(+) 5774 5775commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3 5776Author: Lasse Collin <lasse.collin@tukaani.org> 5777Date: 2022-08-12 18:31:47 +0300 5778 5779 Add NEWS for 5.2.6. 5780 5781 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5782 1 file changed, 121 insertions(+) 5783 5784commit 413b86fcf8934fae5a004f378a9483d37d8fcaab 5785Author: Lasse Collin <lasse.collin@tukaani.org> 5786Date: 2022-08-12 14:28:41 +0300 5787 5788 Add Jia Tan to AUTHORS. 5789 5790 AUTHORS | 2 +- 5791 1 file changed, 1 insertion(+), 1 deletion(-) 5792 5793commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7 5794Author: Lasse Collin <lasse.collin@tukaani.org> 5795Date: 2022-07-25 19:28:26 +0300 5796 5797 Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0. 5798 5799 This makes ChangeLog smaller. 5800 5801 Makefile.am | 2 +- 5802 1 file changed, 1 insertion(+), 1 deletion(-) 5803 5804commit 6f6d11225d6016be2bbb55d845b66f6b04d048df 5805Author: Lasse Collin <lasse.collin@tukaani.org> 5806Date: 2022-07-25 19:11:05 +0300 5807 5808 Translations: Change the copyright comment string to use with po4a. 5809 5810 This affects the second line in po4a/xz-man.pot. The man pages of 5811 xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+ 5812 while the rest of the man pages are in the public domain. 5813 5814 po4a/update-po | 2 +- 5815 1 file changed, 1 insertion(+), 1 deletion(-) 5816 5817commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24 5818Author: Jia Tan <jiat0218@gmail.com> 5819Date: 2022-07-25 18:30:05 +0300 5820 5821 liblzma: Refactor lzma_mf_is_supported() to use a switch-statement. 5822 5823 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------ 5824 1 file changed, 14 insertions(+), 18 deletions(-) 5825 5826commit 4d80b463a1251aa22eabc87d2732fec13b1adda6 5827Author: Jia Tan <jiat0218@gmail.com> 5828Date: 2022-07-25 18:20:01 +0300 5829 5830 Build: Don't allow empty LIST in --enable-match-finders=LIST. 5831 5832 It's enforced only when a match finder is needed, that is, 5833 when LZMA1 or LZMA2 encoder is enabled. 5834 5835 configure.ac | 4 ++++ 5836 1 file changed, 4 insertions(+) 5837 5838commit 9cc721af5436908f2d5a828aebbc4050a32a3487 5839Author: Lasse Collin <lasse.collin@tukaani.org> 5840Date: 2022-07-24 13:27:48 +0300 5841 5842 xz: Update the man page that change to --keep will be in 5.2.6. 5843 5844 src/xz/xz.1 | 4 ++-- 5845 1 file changed, 2 insertions(+), 2 deletions(-) 5846 5847commit b81bf0c7d1873e52a4086a9abb494471d652cb55 5848Author: Lasse Collin <lasse.collin@tukaani.org> 5849Date: 2022-07-19 23:23:54 +0300 5850 5851 Update THANKS. 5852 5853 THANKS | 1 + 5854 1 file changed, 1 insertion(+) 5855 5856commit 340cf1ec3927767046b8293a49da3db4e393f426 5857Author: Nicholas Jackson <nickajacks1@gmail.com> 5858Date: 2022-07-17 17:39:23 -0700 5859 5860 CMake: Add missing source file to liblzma build 5861 5862 CMakeLists.txt | 1 + 5863 1 file changed, 1 insertion(+) 5864 5865commit d796b6d7fdb8b7238b277056cf9146cce25db604 5866Author: Lasse Collin <lasse.collin@tukaani.org> 5867Date: 2022-07-19 23:19:49 +0300 5868 5869 xzgrep man page: Document exit statuses. 5870 5871 src/scripts/xzgrep.1 | 15 ++++++++++++++- 5872 1 file changed, 14 insertions(+), 1 deletion(-) 5873 5874commit 923bf96b55e5216a6c8df9d8331934f54784390e 5875Author: Lasse Collin <lasse.collin@tukaani.org> 5876Date: 2022-07-19 23:13:24 +0300 5877 5878 xzgrep: Improve error handling, especially signals. 5879 5880 xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly 5881 should have. It's quite possible that it's not perfect still 5882 but at least it's much better. 5883 5884 If multiple exit statuses compete, now it tries to pick 5885 the largest of value. 5886 5887 Some comments were added. 5888 5889 The exit status handling of signals is still broken if the shell 5890 uses values larger than 255 in $? to indicate that a process 5891 died due to a signal ***and*** their "exit" command doesn't take 5892 this into account. This seems to work well with the ksh and yash 5893 versions I tried. However, there is a report in gzip/zgrep that 5894 OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating 5895 the argument to 8 bits: 5896 5897 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25 5898 5899 Such a bug would break xzgrep but I didn't add a workaround 5900 at least for now. 5.11 is old and I don't know if the problem 5901 exists in modern descendants, or if the problem exists in other 5902 ksh implementations in use. 5903 5904 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++-------------- 5905 1 file changed, 53 insertions(+), 19 deletions(-) 5906 5907commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff 5908Author: Lasse Collin <lasse.collin@tukaani.org> 5909Date: 2022-07-19 00:10:55 +0300 5910 5911 xzgrep: Make the fix for ZDI-CAN-16587 more robust. 5912 5913 I don't know if this can make a difference in the real world 5914 but it looked kind of suspicious (what happens with sed 5915 implementations that cannot process very long lines?). 5916 At least this commit shouldn't make it worse. 5917 5918 src/scripts/xzgrep.in | 5 ++++- 5919 1 file changed, 4 insertions(+), 1 deletion(-) 5920 5921commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 5922Author: Lasse Collin <lasse.collin@tukaani.org> 5923Date: 2022-07-18 21:52:31 +0300 5924 5925 xzgrep: Use grep -H --label when available (GNU, *BSDs). 5926 5927 It avoids the use of sed for prefixing filenames to output lines. 5928 Using sed for that is slower and prone to security bugs so now 5929 the sed method is only used as a fallback. 5930 5931 This also fixes an actual bug: When grepping a binary file, 5932 GNU grep nowadays prints its diagnostics to stderr instead of 5933 stdout and thus the sed-method for prefixing the filename doesn't 5934 work. So with this commit grepping binary files gives reasonable 5935 output with GNU grep now. 5936 5937 This was inspired by zgrep but the implementation is different. 5938 5939 src/scripts/xzgrep.in | 21 +++++++++++++++++++++ 5940 1 file changed, 21 insertions(+) 5941 5942commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52 5943Author: Lasse Collin <lasse.collin@tukaani.org> 5944Date: 2022-07-18 21:10:25 +0300 5945 5946 xzgrep: Use -e to specify the pattern to grep. 5947 5948 Now we don't need the separate test for adding the -q option 5949 as it can be added directly in the two places where it's needed. 5950 5951 src/scripts/xzgrep.in | 12 ++++-------- 5952 1 file changed, 4 insertions(+), 8 deletions(-) 5953 5954commit bad61b5997e6647911974022bfb72f3d4818a594 5955Author: Lasse Collin <lasse.collin@tukaani.org> 5956Date: 2022-07-18 19:18:48 +0300 5957 5958 Scripts: Use printf instead of echo in a few places. 5959 5960 It's a good habbit as echo has some portability corner cases 5961 when the string contents can be anything. 5962 5963 src/scripts/xzdiff.in | 6 +++--- 5964 src/scripts/xzgrep.in | 4 ++-- 5965 src/scripts/xzless.in | 4 ++-- 5966 src/scripts/xzmore.in | 8 ++++---- 5967 4 files changed, 11 insertions(+), 11 deletions(-) 5968 5969commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645 5970Author: Lasse Collin <lasse.collin@tukaani.org> 5971Date: 2022-07-17 21:36:25 +0300 5972 5973 xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters. 5974 5975 Also replace one use of expr with printf. 5976 5977 The rationale for LC_ALL=C was already mentioned in 5978 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security 5979 issue. However, unrelated uses weren't changed in that commit yet. 5980 5981 POSIX says that with sed and such tools one should use LC_ALL=C 5982 to ensure predictable behavior when strings contain byte sequences 5983 that aren't valid multibyte characters in the current locale. See 5984 under "Application usage" in here: 5985 5986 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html 5987 5988 With GNU sed invalid multibyte strings would work without this; 5989 it's documented in its Texinfo manual. Some other implementations 5990 aren't so forgiving. 5991 5992 src/scripts/xzgrep.in | 14 ++++++++------ 5993 1 file changed, 8 insertions(+), 6 deletions(-) 5994 5995commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68 5996Author: Lasse Collin <lasse.collin@tukaani.org> 5997Date: 2022-07-17 20:55:16 +0300 5998 5999 xzgrep: Fix parsing of certain options. 6000 6001 Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is 6002 an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename 6003 instead of as a pattern. This bug was fixed in zgrep in gzip in 2012. 6004 6005 Add -E, -F, -G, and -P to the "no argument required" list. 6006 6007 Add -X to "argument required" list. It is an 6008 intentionally-undocumented GNU grep option so this isn't 6009 an important option for xzgrep but it seems that other grep 6010 implementations (well, those that I checked) don't support -X 6011 so I hope this change is an improvement still. 6012 6013 grep -d (grep --directories=ACTION) requires an argument. In 6014 contrast to zgrep, I kept -d in the "no argument required" list 6015 because it's not supported in xzgrep (or zgrep). This way 6016 "xzgrep -d" gives an error about option being unsupported instead 6017 of telling that it requires an argument. Both zgrep and xzgrep 6018 tell that it's unsupported if an argument is specified. 6019 6020 Add comments. 6021 6022 src/scripts/xzgrep.in | 19 +++++++++++++++++-- 6023 1 file changed, 17 insertions(+), 2 deletions(-) 6024 6025commit 2d2201bc6315deda4d43625aa510972467bd51d4 6026Author: Lasse Collin <lasse.collin@tukaani.org> 6027Date: 2022-07-14 20:33:05 +0300 6028 6029 Tests: Add the .lzma files to test_files.sh. 6030 6031 tests/test_files.sh | 20 ++++++++++++++++++++ 6032 1 file changed, 20 insertions(+) 6033 6034commit ce5549a591bf126300618879f5b24023351baff6 6035Author: Lasse Collin <lasse.collin@tukaani.org> 6036Date: 2022-07-14 19:37:42 +0300 6037 6038 Tests: Add .lzma test files. 6039 6040 tests/files/README | 63 ++++++++++++++++----- 6041 tests/files/bad-too_big_size-with_eopm.lzma | Bin 0 -> 37 bytes 6042 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes 6043 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes 6044 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes 6045 tests/files/bad-unknown_size-without_eopm.lzma | Bin 0 -> 31 bytes 6046 tests/files/good-known_size-with_eopm.lzma | Bin 0 -> 37 bytes 6047 tests/files/good-known_size-without_eopm.lzma | Bin 0 -> 31 bytes 6048 tests/files/good-unknown_size-with_eopm.lzma | Bin 0 -> 37 bytes 6049 9 files changed, 50 insertions(+), 13 deletions(-) 6050 6051commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3 6052Author: Lasse Collin <lasse.collin@tukaani.org> 6053Date: 2022-07-14 18:12:38 +0300 6054 6055 liblzma: Rename a variable and improve a comment. 6056 6057 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++---- 6058 1 file changed, 9 insertions(+), 4 deletions(-) 6059 6060commit 511feb5eadb988d641b025d597f4fac7502003b8 6061Author: Lasse Collin <lasse.collin@tukaani.org> 6062Date: 2022-07-13 22:24:41 +0300 6063 6064 Update THANKS. 6065 6066 THANKS | 1 + 6067 1 file changed, 1 insertion(+) 6068 6069commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2 6070Author: Lasse Collin <lasse.collin@tukaani.org> 6071Date: 2022-07-13 22:24:07 +0300 6072 6073 liblzma: Add optional autodetection of LZMA end marker. 6074 6075 Turns out that this is needed for .lzma files as the spec in 6076 LZMA SDK says that end marker may be present even if the size 6077 is stored in the header. Such files are rare but exist in the 6078 real world. The code in liblzma is so old that the spec didn't 6079 exist in LZMA SDK back then and I had understood that such 6080 files weren't possible (the lzma tool in LZMA SDK didn't 6081 create such files). 6082 6083 This modifies the internal API so that LZMA decoder can be told 6084 if EOPM is allowed even when the uncompressed size is known. 6085 It's allowed with .lzma and not with other uses. 6086 6087 Thanks to Karl Beldan for reporting the problem. 6088 6089 doc/lzma-file-format.txt | 11 +++- 6090 src/liblzma/common/alone_decoder.c | 2 +- 6091 src/liblzma/common/microlzma_decoder.c | 2 +- 6092 src/liblzma/lz/lz_decoder.c | 10 +++- 6093 src/liblzma/lz/lz_decoder.h | 8 +-- 6094 src/liblzma/lzma/lzma2_decoder.c | 2 +- 6095 src/liblzma/lzma/lzma_decoder.c | 99 ++++++++++++++++++++++++---------- 6096 7 files changed, 95 insertions(+), 39 deletions(-) 6097 6098commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2 6099Author: Lasse Collin <lasse.collin@tukaani.org> 6100Date: 2022-07-12 18:53:04 +0300 6101 6102 xz: Document the special memlimit case of 2000 MiB on MIPS32. 6103 6104 See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7. 6105 6106 src/xz/xz.1 | 8 ++++++-- 6107 1 file changed, 6 insertions(+), 2 deletions(-) 6108 6109commit d1bfa3dc703325ecd974167e864a8712fdfe936e 6110Author: Jia Tan <jiat0218@gmail.com> 6111Date: 2022-07-01 21:19:26 +0800 6112 6113 Created script to generate code coverage reports. 6114 6115 The script uses lcov and genhtml after running the tests 6116 to show the code coverage statistics. The script will create 6117 a coverage directory where it is run. It can be run both in 6118 and out of the source directory. 6119 6120 .gitignore | 4 +++ 6121 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6122 2 files changed, 83 insertions(+) 6123 6124commit 86a30b0255d8064169fabfd213d907016d2f9f2a 6125Author: Jia Tan <jiat0218@gmail.com> 6126Date: 2022-06-16 17:32:19 +0300 6127 6128 Tests: Add more tests into test_check. 6129 6130 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 6131 tests/tests.h | 23 +++++ 6132 2 files changed, 295 insertions(+), 7 deletions(-) 6133 6134commit 82e30fed66a89706388a8c15dc954d84e63f38fa 6135Author: Lasse Collin <lasse.collin@tukaani.org> 6136Date: 2022-06-16 15:02:57 +0300 6137 6138 Tests: Use char[][24] array for enum_strings_lzma_ret. 6139 6140 Array of pointers to short strings is a bit pointless here 6141 and now it's fully const. 6142 6143 tests/tests.h | 2 +- 6144 1 file changed, 1 insertion(+), 1 deletion(-) 6145 6146commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e 6147Author: Lasse Collin <lasse.collin@tukaani.org> 6148Date: 2022-06-16 14:12:14 +0300 6149 6150 Tests: tuktest.h: Add tuktest_error_impl to help with error conditions. 6151 6152 tests/tuktest.h | 72 +++++++++++++++++++++++++-------------------------------- 6153 1 file changed, 32 insertions(+), 40 deletions(-) 6154 6155commit b339892668da20aea22a93668c82b87a38e4a97f 6156Author: Lasse Collin <lasse.collin@tukaani.org> 6157Date: 2022-06-16 13:29:59 +0300 6158 6159 Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there. 6160 6161 tests/test_bcj_exact_size.c | 4 +--- 6162 tests/tuktest.h | 52 +++++++++++++++++++++------------------------ 6163 2 files changed, 25 insertions(+), 31 deletions(-) 6164 6165commit d8b63a0ad68d1c461eb373466679ebc41fbc207d 6166Author: Lasse Collin <lasse.collin@tukaani.org> 6167Date: 2022-06-16 13:08:19 +0300 6168 6169 Tests: tuktest.h: Add malloc wrapper with automatic freeing. 6170 6171 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6172 1 file changed, 124 insertions(+) 6173 6174commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53 6175Author: Lasse Collin <lasse.collin@tukaani.org> 6176Date: 2022-06-16 11:47:37 +0300 6177 6178 Tests: tuktest.h: Move a function. 6179 6180 tests/tuktest.h | 44 ++++++++++++++++++++++---------------------- 6181 1 file changed, 22 insertions(+), 22 deletions(-) 6182 6183commit 70c7555f6403553ee35539e869de0025592d8564 6184Author: Lasse Collin <lasse.collin@tukaani.org> 6185Date: 2022-06-14 22:21:15 +0300 6186 6187 Tests: test_vli: Remove an invalid test-assertion. 6188 6189 lzma_vli is unsigned so trying a signed value results in 6190 a compiler warning from -Wsign-conversion. (lzma_vli)-1 6191 equals to LZMA_VLI_UNKNOWN anyway which is the next assertion. 6192 6193 tests/test_vli.c | 2 -- 6194 1 file changed, 2 deletions(-) 6195 6196commit 154b73c5a1092c3f785e01666b564ad7ff1be555 6197Author: Lasse Collin <lasse.collin@tukaani.org> 6198Date: 2022-06-14 22:10:10 +0300 6199 6200 Tests: test_vli: Add const where appropriate. 6201 6202 tests/test_vli.c | 53 ++++++++++++++++++++++++++++------------------------- 6203 1 file changed, 28 insertions(+), 25 deletions(-) 6204 6205commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb 6206Author: Jia Tan <jiat75@gmail.com> 6207Date: 2022-06-13 20:27:03 +0800 6208 6209 Added vli tests to .gitignore 6210 6211 .gitignore | 1 + 6212 1 file changed, 1 insertion(+) 6213 6214commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e 6215Author: Jia Tan <jiat0218@gmail.com> 6216Date: 2022-06-12 11:31:40 +0800 6217 6218 Created tests for all functions exported in vli.h 6219 6220 Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c 6221 6222 tests/Makefile.am | 4 +- 6223 tests/test_vli.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6224 2 files changed, 311 insertions(+), 1 deletion(-) 6225 6226commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f 6227Author: jiat75 <jiat0218@gmail.com> 6228Date: 2022-06-03 21:24:54 +0800 6229 6230 Added parallel test artifacts to .gitignore 6231 6232 .gitignore | 2 ++ 6233 1 file changed, 2 insertions(+) 6234 6235commit 00e3613f1212eaa84e721585fdb4de6967cf2476 6236Author: Lasse Collin <lasse.collin@tukaani.org> 6237Date: 2022-06-14 21:29:21 +0300 6238 6239 Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size. 6240 6241 It's much nicer this way so that the test data isn't a hardcoded 6242 table inside the C file. 6243 6244 tests/test_bcj_exact_size.c | 19 +++++++------------ 6245 1 file changed, 7 insertions(+), 12 deletions(-) 6246 6247commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0 6248Author: Lasse Collin <lasse.collin@tukaani.org> 6249Date: 2022-06-14 21:26:13 +0300 6250 6251 Tests: Add file reading helpers to tuktest.h. 6252 6253 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 6254 1 file changed, 176 insertions(+), 7 deletions(-) 6255 6256commit 83d2337b72dbf391c6f3b41889eea99e51679105 6257Author: Lasse Collin <lasse.collin@tukaani.org> 6258Date: 2022-06-14 18:21:57 +0300 6259 6260 Tests: tuktest.h: Move a printf from a macro to a helper function. 6261 6262 tests/tuktest.h | 26 ++++++++++++++++++-------- 6263 1 file changed, 18 insertions(+), 8 deletions(-) 6264 6265commit f9e8176ea7d520797a2db2d49a5a632c285674a8 6266Author: Lasse Collin <lasse.collin@tukaani.org> 6267Date: 2022-06-14 17:20:49 +0300 6268 6269 Tests: Add test file good-1-empty-bcj-lzma2.xz. 6270 6271 This is from test_bcj_exact_size.c. 6272 It's good to have it as a standalone file. 6273 6274 tests/files/README | 5 +++++ 6275 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes 6276 2 files changed, 5 insertions(+) 6277 6278commit aa75c5563a760aea3aa23d997d519e702e82726b 6279Author: Jia Tan <jiat0218@gmail.com> 6280Date: 2022-06-10 21:35:18 +0800 6281 6282 Tests: Created tests for hardware functions. 6283 6284 Created tests for all API functions exported in 6285 src/liblzma/api/lzma/hardware.h. The tests are fairly trivial 6286 but are helpful because they will inform users if their machines 6287 cannot support these functions. They also improve the code 6288 coverage metrics. 6289 6290 .gitignore | 1 + 6291 tests/Makefile.am | 2 ++ 6292 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 6293 3 files changed, 48 insertions(+) 6294 6295commit 5c8ffdca20813939818843476fb212dfae8838a3 6296Author: Lasse Collin <lasse.collin@tukaani.org> 6297Date: 2022-06-02 21:01:45 +0300 6298 6299 Tests: Convert test_check to tuktest. 6300 6301 Thanks to Jia Tan for help with all the tests. 6302 6303 tests/test_check.c | 67 +++++++++++++++++++++++++++--------------------------- 6304 1 file changed, 33 insertions(+), 34 deletions(-) 6305 6306commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86 6307Author: Lasse Collin <lasse.collin@tukaani.org> 6308Date: 2022-06-02 20:31:03 +0300 6309 6310 Tests: Convert test_block_header to tuktest. 6311 6312 tests/test_block_header.c | 89 +++++++++++++++++++++++++++-------------------- 6313 1 file changed, 52 insertions(+), 37 deletions(-) 6314 6315commit 754d39fbebee3782258d42f154a223d3c5770ec7 6316Author: Lasse Collin <lasse.collin@tukaani.org> 6317Date: 2022-06-02 20:28:23 +0300 6318 6319 Tests: Convert test_bcj_exact_size to tuktest. 6320 6321 The compress() and decompress() functions were merged because 6322 the later depends on the former so they need to be a single 6323 test case. 6324 6325 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++-------------------- 6326 1 file changed, 41 insertions(+), 34 deletions(-) 6327 6328commit 96da21470f9570cd08286906a050a7c22631775b 6329Author: Lasse Collin <lasse.collin@tukaani.org> 6330Date: 2022-06-02 20:27:00 +0300 6331 6332 Tests: Include tuktest.h in tests.h. 6333 6334 This breaks -Werror because none of the tests so far use 6335 tuktest.h and thus there are warnings about unused variables 6336 and functions. 6337 6338 tests/tests.h | 47 +++++++++++++++++++++++------------------------ 6339 1 file changed, 23 insertions(+), 24 deletions(-) 6340 6341commit df71ba1c991f60c3269aaadd398247e632714626 6342Author: Lasse Collin <lasse.collin@tukaani.org> 6343Date: 2022-06-02 20:25:21 +0300 6344 6345 Tests: Add tuktest.h mini-test-framework. 6346 6347 tests/Makefile.am | 1 + 6348 tests/tuktest.h | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6349 2 files changed, 753 insertions(+) 6350 6351commit 4773608554d1b684a05ff9c1d879cf5c42266d33 6352Author: Lasse Collin <lasse.collin@tukaani.org> 6353Date: 2022-05-23 21:31:36 +0300 6354 6355 Build: Enable Automake's parallel test harness. 6356 6357 It has been the default for quite some time already and 6358 the old serial harness isn't discouraged. The downside is 6359 that with parallel tests one cannot print progress info or 6360 other diagnostics to the terminal; all output from the tests 6361 will be in the log files only. But now that the compression 6362 tests are separated the parallel tests will speed things up. 6363 6364 configure.ac | 2 +- 6365 1 file changed, 1 insertion(+), 1 deletion(-) 6366 6367commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05 6368Author: Lasse Collin <lasse.collin@tukaani.org> 6369Date: 2022-05-23 21:17:47 +0300 6370 6371 Tests: Split test_compress.sh into separate test unit for each file. 6372 6373 test_compress.sh now takes one command line argument: 6374 a filename to be tested. If it begins with "compress_generated_" 6375 the file will be created with create_compress_files. 6376 6377 This will allow parallel execution of the slow tests. 6378 6379 tests/Makefile.am | 11 +++- 6380 tests/test_compress.sh | 91 +++++++++++++++++++--------------- 6381 tests/test_compress_generated_abc | 3 ++ 6382 tests/test_compress_generated_random | 3 ++ 6383 tests/test_compress_generated_text | 3 ++ 6384 tests/test_compress_prepared_bcj_sparc | 3 ++ 6385 tests/test_compress_prepared_bcj_x86 | 3 ++ 6386 7 files changed, 77 insertions(+), 40 deletions(-) 6387 6388commit c7758ac9c734707514dd34f254173ebac5eea7f8 6389Author: Lasse Collin <lasse.collin@tukaani.org> 6390Date: 2022-05-23 20:32:49 +0300 6391 6392 Test: Make create_compress_files.c a little more flexible. 6393 6394 If a command line argument is given, then only the test file 6395 of that type is created. It's quite dumb in sense that unknown 6396 names don't give an error but it's good enough here. 6397 6398 Also use EXIT_FAILURE instead of 1 as exit status for errors. 6399 6400 tests/create_compress_files.c | 25 +++++++++++++++---------- 6401 1 file changed, 15 insertions(+), 10 deletions(-) 6402 6403commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c 6404Author: Lasse Collin <lasse.collin@tukaani.org> 6405Date: 2022-05-23 20:17:42 +0300 6406 6407 Tests: Remove unneeded commented lines from test_compress.sh. 6408 6409 tests/test_compress.sh | 13 ------------- 6410 1 file changed, 13 deletions(-) 6411 6412commit 2ee50d150ee009f36135540b459e6ff328549725 6413Author: Lasse Collin <lasse.collin@tukaani.org> 6414Date: 2022-05-23 20:16:00 +0300 6415 6416 Tests: Remove progress indicator from test_compress.sh. 6417 6418 It will be useless with Automake's parallel tests. 6419 6420 tests/test_compress.sh | 9 --------- 6421 1 file changed, 9 deletions(-) 6422 6423commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0 6424Author: Lasse Collin <lasse.collin@tukaani.org> 6425Date: 2022-05-23 19:37:18 +0300 6426 6427 liblzma: Silence a warning. 6428 6429 The actual initialization is done via mythread_sync and seems 6430 that GCC doesn't necessarily see that it gets initialized there. 6431 6432 src/liblzma/common/stream_decoder_mt.c | 2 +- 6433 1 file changed, 1 insertion(+), 1 deletion(-) 6434 6435commit 5d8f3764ef43c35910e6d7003c0900a961ef6544 6436Author: Lasse Collin <lasse.collin@tukaani.org> 6437Date: 2022-04-14 20:53:16 +0300 6438 6439 xz: Fix build with --disable-threads. 6440 6441 src/xz/hardware.c | 4 ++++ 6442 1 file changed, 4 insertions(+) 6443 6444commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9 6445Author: Lasse Collin <lasse.collin@tukaani.org> 6446Date: 2022-04-14 14:50:17 +0300 6447 6448 xz: Change the cap of the default -T0 memlimit for 32-bit xz. 6449 6450 The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room 6451 and it looks like a round (artificial) number in --info-memory 6452 once --info-memory is made to display it. 6453 6454 Also, using #if avoids useless code on 64-bit builds. 6455 6456 src/xz/hardware.c | 4 +++- 6457 1 file changed, 3 insertions(+), 1 deletion(-) 6458 6459commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c 6460Author: Lasse Collin <lasse.collin@tukaani.org> 6461Date: 2022-04-14 14:20:46 +0300 6462 6463 xz: Add a default soft memory usage limit for --threads=0. 6464 6465 This is a soft limit in sense that it only affects the number of 6466 threads. It never makes xz fail and it never makes xz change 6467 settings that would affect the compressed output. 6468 6469 The idea is to make -T0 have more reasonable behavior when 6470 the system has very many cores or when a memory-hungry 6471 compression options are used. This also helps with 32-bit xz, 6472 preventing it from running out of address space. 6473 6474 The downside of this commit is that now the number of threads 6475 might become too low compared to what the user expected. I 6476 hope this to be an acceptable compromise as the old behavior 6477 has been a source of well-argued complaints for a long time. 6478 6479 src/xz/coder.c | 28 ++++++++++++++++++++++++++-- 6480 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++--------- 6481 src/xz/hardware.h | 27 +++++++++++++++++++++++++++ 6482 3 files changed, 82 insertions(+), 11 deletions(-) 6483 6484commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4 6485Author: Lasse Collin <lasse.collin@tukaani.org> 6486Date: 2022-04-14 12:59:09 +0300 6487 6488 xz: Make -T0 use multithreaded mode on single-core systems. 6489 6490 The main problem withi the old behavior is that the compressed 6491 output is different on single-core systems vs. multicore systems. 6492 This commit fixes it by making -T0 one thread in multithreaded mode 6493 on single-core systems. 6494 6495 The downside of this is that it uses more memory. However, if 6496 --memlimit-compress is used, xz can (thanks to the previous commit) 6497 drop to the single-threaded mode still. 6498 6499 src/xz/coder.c | 18 +++++++++--------- 6500 src/xz/hardware.c | 14 ++++++++++++++ 6501 src/xz/hardware.h | 4 ++++ 6502 3 files changed, 27 insertions(+), 9 deletions(-) 6503 6504commit 898faa97287a756231c663a3ed5165672b417207 6505Author: Lasse Collin <lasse.collin@tukaani.org> 6506Date: 2022-04-14 12:38:00 +0300 6507 6508 xz: Changes to --memlimit-compress and --no-adjust. 6509 6510 In single-threaded mode, --memlimit-compress can make xz scale down 6511 the LZMA2 dictionary size to meet the memory usage limit. This 6512 obviously affects the compressed output. However, if xz was in 6513 threaded mode, --memlimit-compress could make xz reduce the number 6514 of threads but it wouldn't make xz switch from multithreaded mode 6515 to single-threaded mode or scale down the LZMA2 dictionary size. 6516 This seemed illogical and there was even a "FIXME?" about it. 6517 6518 Now --memlimit-compress can make xz switch to single-threaded 6519 mode if one thread in multithreaded mode uses too much memory. 6520 If memory usage is still too high, then the LZMA2 dictionary 6521 size can be scaled down too. 6522 6523 The option --no-adjust was also changed so that it no longer 6524 prevents xz from scaling down the number of threads as that 6525 doesn't affect compressed output (only performance). After 6526 this commit --no-adjust only prevents adjustments that affect 6527 compressed output, that is, with --no-adjust xz won't switch 6528 from multithreaded mode to single-threaded mode and won't 6529 scale down the LZMA2 dictionary size. 6530 6531 The man page wasn't updated yet. 6532 6533 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++------------------- 6534 1 file changed, 43 insertions(+), 20 deletions(-) 6535 6536commit cad299008cf73ec566f0662a9cf2b94f86a99659 6537Author: Lasse Collin <lasse.collin@tukaani.org> 6538Date: 2022-04-11 22:20:49 +0300 6539 6540 xz: Add --memlimit-mt-decompress along with a default limit value. 6541 6542 --memlimit-mt-decompress allows specifying the limit for 6543 multithreaded decompression. This matches memlimit_threading in 6544 liblzma. This limit can only affect the number of threads being 6545 used; it will never prevent xz from decompressing a file. The 6546 old --memlimit-decompress option is still used at the same time. 6547 6548 If the value of --memlimit-decompress (the default value or 6549 one specified by the user) is less than the value of 6550 --memlimit-mt-decompress , then --memlimit-mt-decompress is 6551 reduced to match --memlimit-decompress. 6552 6553 Man page wasn't updated yet. 6554 6555 src/xz/args.c | 24 +++++++++++++++------- 6556 src/xz/coder.c | 34 ++++++++++--------------------- 6557 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 6558 src/xz/hardware.h | 17 ++++++++++------ 6559 src/xz/message.c | 4 +++- 6560 5 files changed, 97 insertions(+), 42 deletions(-) 6561 6562commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a 6563Author: Lasse Collin <lasse.collin@tukaani.org> 6564Date: 2022-04-06 23:11:59 +0300 6565 6566 liblzma: Threaded decoder: Improve setting of pending_error. 6567 6568 It doesn't need to be done conditionally. The comments try 6569 to explain it. 6570 6571 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++----------- 6572 1 file changed, 35 insertions(+), 16 deletions(-) 6573 6574commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2 6575Author: Lasse Collin <lasse.collin@tukaani.org> 6576Date: 2022-04-06 12:39:49 +0300 6577 6578 liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder. 6579 6580 In most cases if the input file is corrupt the application won't 6581 care about the uncompressed content at all. With this new flag 6582 the threaded decoder will return an error as soon as any thread 6583 has detected an error; it won't wait to copy out the data before 6584 the location of the error. 6585 6586 I don't plan to use this in xz to keep the behavior consistent 6587 between single-threaded and multi-threaded modes. 6588 6589 src/liblzma/api/lzma/container.h | 25 ++++++++++++++++- 6590 src/liblzma/common/common.h | 7 +++-- 6591 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++--------------- 6592 3 files changed, 56 insertions(+), 26 deletions(-) 6593 6594commit 64b6d496dc815a176d8307f418f6834a26783484 6595Author: Lasse Collin <lasse.collin@tukaani.org> 6596Date: 2022-04-05 12:24:57 +0300 6597 6598 liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used. 6599 6600 This makes the behavior consistent with the single-threaded 6601 decoder when handling truncated .xz files. 6602 6603 Thanks to Jia Tan for finding this issue. 6604 6605 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++-- 6606 1 file changed, 24 insertions(+), 2 deletions(-) 6607 6608commit e671bc8828b9c0c5406c3a22c541301d0eb54518 6609Author: Lasse Collin <lasse.collin@tukaani.org> 6610Date: 2022-04-02 21:49:59 +0300 6611 6612 liblzma: Threaded decoder: Support zpipe.c-style decoding loop. 6613 6614 This makes it possible to call lzma_code() in a loop that only 6615 reads new input when lzma_code() didn't fill the output buffer 6616 completely. That isn't the calling style suggested by the 6617 liblzma example program 02_decompress.c so perhaps the usefulness 6618 of this feature is limited. 6619 6620 Also, it is possible to write such a loop so that it works 6621 with the single-threaded decoder but not with the threaded 6622 decoder even after this commit, or so that it works only if 6623 lzma_mt.timeout = 0. 6624 6625 The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known 6626 example of a loop where more input is read only when output isn't 6627 full. Porting this as is to liblzma would work with the 6628 single-threaded decoder (if LZMA_CONCATENATED isn't used) but it 6629 wouldn't work with threaded decoder even after this commit because 6630 the loop assumes that no more output is possible when it cannot 6631 read more input ("if (strm.avail_in == 0) break;"). This cannot 6632 be fixed at liblzma side; the loop has to be modified at least 6633 a little. 6634 6635 I'm adding this in any case because the actual code is simple 6636 and short and should have no harmful side-effects in other 6637 situations. 6638 6639 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++----- 6640 1 file changed, 67 insertions(+), 10 deletions(-) 6641 6642commit 2ba8173e27be4793edb46497e499ac2ae753a316 6643Author: Lasse Collin <lasse.collin@tukaani.org> 6644Date: 2022-03-31 00:05:07 +0300 6645 6646 Update THANKS. 6647 6648 THANKS | 1 + 6649 1 file changed, 1 insertion(+) 6650 6651commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 6652Author: Lasse Collin <lasse.collin@tukaani.org> 6653Date: 2022-03-29 19:19:12 +0300 6654 6655 xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587). 6656 6657 Malicious filenames can make xzgrep to write to arbitrary files 6658 or (with a GNU sed extension) lead to arbitrary code execution. 6659 6660 xzgrep from XZ Utils versions up to and including 5.2.5 are 6661 affected. 5.3.1alpha and 5.3.2alpha are affected as well. 6662 This patch works for all of them. 6663 6664 This bug was inherited from gzip's zgrep. gzip 1.12 includes 6665 a fix for zgrep. 6666 6667 The issue with the old sed script is that with multiple newlines, 6668 the N-command will read the second line of input, then the 6669 s-commands will be skipped because it's not the end of the 6670 file yet, then a new sed cycle starts and the pattern space 6671 is printed and emptied. So only the last line or two get escaped. 6672 6673 One way to fix this would be to read all lines into the pattern 6674 space first. However, the included fix is even simpler: All lines 6675 except the last line get a backslash appended at the end. To ensure 6676 that shell command substitution doesn't eat a possible trailing 6677 newline, a colon is appended to the filename before escaping. 6678 The colon is later used to separate the filename from the grep 6679 output so it is fine to add it here instead of a few lines later. 6680 6681 The old code also wasn't POSIX compliant as it used \n in the 6682 replacement section of the s-command. Using \<newline> is the 6683 POSIX compatible method. 6684 6685 LC_ALL=C was added to the two critical sed commands. POSIX sed 6686 manual recommends it when using sed to manipulate pathnames 6687 because in other locales invalid multibyte sequences might 6688 cause issues with some sed implementations. In case of GNU sed, 6689 these particular sed scripts wouldn't have such problems but some 6690 other scripts could have, see: 6691 6692 info '(sed)Locale Considerations' 6693 6694 This vulnerability was discovered by: 6695 cleemy desu wayo working with Trend Micro Zero Day Initiative 6696 6697 Thanks to Jim Meyering and Paul Eggert discussing the different 6698 ways to fix this and for coordinating the patch release schedule 6699 with gzip. 6700 6701 src/scripts/xzgrep.in | 20 ++++++++++++-------- 6702 1 file changed, 12 insertions(+), 8 deletions(-) 6703 6704commit bd93b776c1bd15e90661033c918cdeb354dbcc38 6705Author: Lasse Collin <lasse.collin@tukaani.org> 6706Date: 2022-03-26 01:02:44 +0200 6707 6708 liblzma: Fix a deadlock in threaded decoder. 6709 6710 If a worker thread has consumed all input so far and it's 6711 waiting on thr->cond and then the main thread enables 6712 partial update for that thread, the code used to deadlock. 6713 This commit allows one dummy decoding pass to occur in this 6714 situation which then also does the partial update. 6715 6716 As part of the fix, this moves thr->progress_* updates to 6717 avoid the second thr->mutex locking. 6718 6719 Thanks to Jia Tan for finding, debugging, and reporting the bug. 6720 6721 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++--------- 6722 1 file changed, 52 insertions(+), 19 deletions(-) 6723 6724commit e0394e94230f208682ac1e1f4c41f22f9ad79916 6725Author: Lasse Collin <lasse.collin@tukaani.org> 6726Date: 2022-03-23 16:34:00 +0200 6727 6728 Update THANKS. 6729 6730 THANKS | 1 + 6731 1 file changed, 1 insertion(+) 6732 6733commit 487c77d48760564b1949c5067630b675b87be4de 6734Author: Lasse Collin <lasse.collin@tukaani.org> 6735Date: 2022-03-23 16:28:55 +0200 6736 6737 liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT. 6738 6739 LZMA_TIMED_OUT is not an error and thus stopping threads on 6740 LZMA_TIMED_OUT breaks the decoder badly. 6741 6742 Thanks to Jia Tan for finding the bug and for the patch. 6743 6744 src/liblzma/common/stream_decoder_mt.c | 2 +- 6745 1 file changed, 1 insertion(+), 1 deletion(-) 6746 6747commit 6c6da57ae2aa962aabde6892442227063d87e88c 6748Author: Lasse Collin <lasse.collin@tukaani.org> 6749Date: 2022-03-07 00:36:16 +0200 6750 6751 xz: Add initial support for threaded decompression. 6752 6753 If threading support is enabled at build time, this will 6754 use lzma_stream_decoder_mt() even for single-threaded mode. 6755 With memlimit_threading=0 the behavior should be identical. 6756 6757 This needs some work like adding --memlimit-threading=LIMIT. 6758 6759 The original patch from Sebastian Andrzej Siewior included 6760 a method to get currently available RAM on Linux. It might 6761 be one way to go but as it is Linux-only, the available-RAM 6762 approach needs work for portability or using a fallback method 6763 on other OSes. 6764 6765 The man page wasn't updated yet. 6766 6767 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++- 6768 1 file changed, 35 insertions(+), 1 deletion(-) 6769 6770commit 4cce3e27f529af33e0e7749a8cbcec59954946b5 6771Author: Lasse Collin <lasse.collin@tukaani.org> 6772Date: 2022-03-06 23:36:20 +0200 6773 6774 liblzma: Add threaded .xz decompressor. 6775 6776 I realize that this is about a decade late. 6777 6778 Big thanks to Sebastian Andrzej Siewior for the original patch. 6779 I made a bunch of smaller changes but after a while quite a few 6780 things got rewritten. So any bugs in the commit were created by me. 6781 6782 src/liblzma/api/lzma/container.h | 90 +- 6783 src/liblzma/common/Makefile.inc | 5 + 6784 src/liblzma/common/common.h | 4 + 6785 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++ 6786 src/liblzma/liblzma.map | 1 + 6787 5 files changed, 1907 insertions(+), 7 deletions(-) 6788 6789commit 717631b9788dc9c100ee0c87d3c14a2782638ff4 6790Author: Lasse Collin <lasse.collin@tukaani.org> 6791Date: 2022-03-06 16:54:23 +0200 6792 6793 liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK. 6794 6795 If Check is unsupported, it will be silently ignored. 6796 It's the caller's job to handle it. 6797 6798 src/liblzma/api/lzma/block.h | 3 --- 6799 1 file changed, 3 deletions(-) 6800 6801commit 1a4bb97a00936535e30ac61945aeee38882b5d1a 6802Author: Lasse Collin <lasse.collin@tukaani.org> 6803Date: 2022-03-06 16:41:19 +0200 6804 6805 liblzma: Add new output queue (lzma_outq) features. 6806 6807 Add lzma_outq_clear_cache2() which may leave one buffer allocated 6808 in the cache. 6809 6810 Add lzma_outq_outbuf_memusage() to get the memory needed for 6811 a single lzma_outbuf. This is now used internally in outqueue.c too. 6812 6813 Track both the total amount of memory allocated and the amount of 6814 memory that is in active use (not in cache). 6815 6816 In lzma_outbuf, allow storing the current input position that 6817 matches the current output position. This way the main thread 6818 can notice when no more output is possible without first providing 6819 more input. 6820 6821 Allow specifying return code for lzma_outq_read() in a finished 6822 lzma_outbuf. 6823 6824 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++------- 6825 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++- 6826 2 files changed, 79 insertions(+), 8 deletions(-) 6827 6828commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4 6829Author: Lasse Collin <lasse.collin@tukaani.org> 6830Date: 2022-03-06 15:18:58 +0200 6831 6832 liblzma: Index hash: Change return value type of hash_append() to void. 6833 6834 src/liblzma/common/index_hash.c | 11 +++++------ 6835 1 file changed, 5 insertions(+), 6 deletions(-) 6836 6837commit 20e7a33e2d59c6a814447d3991f21e2702174b20 6838Author: Lasse Collin <lasse.collin@tukaani.org> 6839Date: 2022-02-22 03:42:57 +0200 6840 6841 liblzma: Minor addition to lzma_vli_size() API doc. 6842 6843 Thanks to Jia Tan. 6844 6845 src/liblzma/api/lzma/vli.h | 2 ++ 6846 1 file changed, 2 insertions(+) 6847 6848commit 4f78f5fcf63592f2d77e921cfe0d5de300867374 6849Author: Lasse Collin <lasse.collin@tukaani.org> 6850Date: 2022-02-22 02:04:18 +0200 6851 6852 liblzma: Check the return value of lzma_index_append() in threaded encoder. 6853 6854 If lzma_index_append() failed (most likely memory allocation failure) 6855 it could have gone unnoticed and the resulting .xz file would have 6856 an incorrect Index. Decompressing such a file would produce the 6857 correct uncompressed data but then an error would occur when 6858 verifying the Index field. 6859 6860 src/liblzma/common/stream_encoder_mt.c | 7 +++++-- 6861 1 file changed, 5 insertions(+), 2 deletions(-) 6862 6863commit 5313ad66b40aab822ddca3e9905254cb99a4080d 6864Author: Lasse Collin <lasse.collin@tukaani.org> 6865Date: 2022-02-22 01:37:39 +0200 6866 6867 Update THANKS. 6868 6869 THANKS | 1 + 6870 1 file changed, 1 insertion(+) 6871 6872commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e 6873Author: Ed Maste <emaste@FreeBSD.org> 6874Date: 2022-02-11 15:25:46 +0000 6875 6876 liblzma: Use non-executable stack on FreeBSD as on Linux 6877 6878 src/liblzma/check/crc32_x86.S | 4 ++-- 6879 src/liblzma/check/crc64_x86.S | 4 ++-- 6880 2 files changed, 4 insertions(+), 4 deletions(-) 6881 6882commit 1c9a5786d206b4abc8e427326651c8174baea753 6883Author: Lasse Collin <lasse.collin@tukaani.org> 6884Date: 2022-02-20 20:36:27 +0200 6885 6886 liblzma: Make Block decoder catch certain types of errors better. 6887 6888 Now it limits the input and output buffer sizes that are 6889 passed to a raw decoder. This way there's no need to check 6890 if the sizes can grow too big or overflow when updating 6891 Compressed Size and Uncompressed Size counts. This also means 6892 that a corrupt file cannot cause the raw decoder to process 6893 useless extra input or output that would exceed the size info 6894 in Block Header (and thus cause LZMA_DATA_ERROR anyway). 6895 6896 More importantly, now the size information is verified more 6897 carefully in case raw decoder returns LZMA_OK. This doesn't 6898 really matter with the current single-threaded .xz decoder 6899 as the errors would be detected slightly later anyway. But 6900 this helps avoiding corner cases in the upcoming threaded 6901 decompressor, and it might help other Block decoder uses 6902 outside liblzma too. 6903 6904 The test files bad-1-lzma2-{9,10,11}.xz test these conditions. 6905 With the single-threaded .xz decoder the only difference is 6906 that LZMA_DATA_ERROR is detected in a difference place now. 6907 6908 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------ 6909 1 file changed, 54 insertions(+), 25 deletions(-) 6910 6911commit 555de11873eb00c9b94a8be70645db502e5a9dbd 6912Author: Lasse Collin <lasse.collin@tukaani.org> 6913Date: 2022-02-20 19:38:55 +0200 6914 6915 Tests: Add bad-1-lzma2-11.xz. 6916 6917 tests/files/README | 5 +++++ 6918 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes 6919 2 files changed, 5 insertions(+) 6920 6921commit f0da507f22e7f4e3edb75b45b74d344244ca03fb 6922Author: Lasse Collin <lasse.collin@tukaani.org> 6923Date: 2022-02-18 18:51:10 +0200 6924 6925 Translations: Fix po4a failure with the French man page translations. 6926 6927 Thanks to Mario Blättermann for the patch. 6928 6929 po4a/fr_FR.po | 6 ++++-- 6930 1 file changed, 4 insertions(+), 2 deletions(-) 6931 6932commit f7711d228c3c32395460c82498c60a9f730d0239 6933Author: Lasse Collin <lasse.collin@tukaani.org> 6934Date: 2022-02-07 01:14:37 +0200 6935 6936 Translations: Add French translation of man pages. 6937 6938 This matches xz-utils 5.2.5-2 in Debian. 6939 6940 The translation was done by "bubu", proofread by the debian-l10n-french 6941 mailing list contributors, and submitted to me on the xz-devel mailing 6942 list by Jean-Pierre Giraud. Thanks to everyone! 6943 6944 po4a/fr_FR.po | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6945 po4a/po4a.conf | 2 +- 6946 2 files changed, 3542 insertions(+), 1 deletion(-) 6947 6948commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4 6949Author: jiat75 <jiat0218@gmail.com> 6950Date: 2022-01-28 20:47:55 +0800 6951 6952 liblzma: Add NULL checks to LZMA and LZMA2 properties encoders. 6953 6954 Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode() 6955 assumed that the options pointers must be non-NULL because the 6956 with these filters the API says it must never be NULL. It is 6957 good to do these checks anyway. 6958 6959 src/liblzma/lzma/lzma2_encoder.c | 3 +++ 6960 src/liblzma/lzma/lzma_encoder.c | 3 +++ 6961 2 files changed, 6 insertions(+) 6962 6963commit 2523c30705f49eabd27b854aa656ae87cc224808 6964Author: Lasse Collin <lasse.collin@tukaani.org> 6965Date: 2022-02-06 23:19:32 +0200 6966 6967 liblzma: Fix uint64_t vs. size_t confusion. 6968 6969 This broke 32-bit builds due to a pointer type mismatch. 6970 6971 This bug was introduced with the output-size-limited encoding 6972 in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 6973 6974 Thanks to huangqinjin for the bug report. 6975 6976 src/liblzma/rangecoder/range_encoder.h | 11 +++++++---- 6977 1 file changed, 7 insertions(+), 4 deletions(-) 6978 6979commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2 6980Author: huangqinjin <huangqinjin@gmail.com> 6981Date: 2021-12-13 20:49:21 +0800 6982 6983 CMake: Keep compatible with Windows 95 for 32-bit build. 6984 6985 CMakeLists.txt | 12 +++++++++++- 6986 1 file changed, 11 insertions(+), 1 deletion(-) 6987 6988commit 2024fbf2794885277d05378d40b2b8015a7c3b40 6989Author: Lasse Collin <lasse.collin@tukaani.org> 6990Date: 2021-11-13 21:04:05 +0200 6991 6992 xzgrep: Update man page timestamp. 6993 6994 src/scripts/xzgrep.1 | 2 +- 6995 1 file changed, 1 insertion(+), 1 deletion(-) 6996 6997commit 400e7a239a53282cedaad927a41f3463d7f542e5 6998Author: Lasse Collin <lasse.collin@tukaani.org> 6999Date: 2021-11-13 18:23:24 +0200 7000 7001 Update THANKS. 7002 7003 THANKS | 1 + 7004 1 file changed, 1 insertion(+) 7005 7006commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0 7007Author: Ville Skyttä <ville.skytta@iki.fi> 7008Date: 2021-11-13 10:11:57 +0200 7009 7010 xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep` 7011 7012 `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in 7013 current post 3.7 Git they have been made to emit obsolescence warnings: 7014 https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1 7015 7016 src/scripts/xzgrep.1 | 8 ++++---- 7017 src/scripts/xzgrep.in | 4 ++-- 7018 2 files changed, 6 insertions(+), 6 deletions(-) 7019 7020commit edf525e2b1840dcaf377df472c67d8f11f8ace1b 7021Author: Lasse Collin <lasse.collin@tukaani.org> 7022Date: 2021-10-28 23:02:11 +0300 7023 7024 Bump the version number for 5.3.2alpha. 7025 7026 src/liblzma/api/lzma/version.h | 2 +- 7027 src/liblzma/liblzma.map | 2 +- 7028 2 files changed, 2 insertions(+), 2 deletions(-) 7029 7030commit ea8c948655a86290524efe59cff067e06a886709 7031Author: Lasse Collin <lasse.collin@tukaani.org> 7032Date: 2021-10-28 22:59:52 +0300 7033 7034 Add NEWS for 5.3.2alpha. 7035 7036 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7037 1 file changed, 86 insertions(+) 7038 7039commit 52435f302f4724157ec50b4210cbe42b285c3cbc 7040Author: Lasse Collin <lasse.collin@tukaani.org> 7041Date: 2021-10-27 23:27:48 +0300 7042 7043 Update THANKS. 7044 7045 THANKS | 1 + 7046 1 file changed, 1 insertion(+) 7047 7048commit f2aea1d5a504b2021bf47a238390e4f12bdd518d 7049Author: Lasse Collin <lasse.collin@tukaani.org> 7050Date: 2021-10-27 23:23:11 +0300 7051 7052 xz: Change the coding style of the previous commit. 7053 7054 It isn't any better now but it's consistent with 7055 the rest of the code base. 7056 7057 src/xz/file_io.c | 11 ++++++----- 7058 1 file changed, 6 insertions(+), 5 deletions(-) 7059 7060commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81 7061Author: Alexander Bluhm <alexander.bluhm@gmx.net> 7062Date: 2021-10-05 23:33:16 +0200 7063 7064 xz: Avoid fchown(2) failure. 7065 7066 OpenBSD does not allow to change the group of a file if the user 7067 does not belong to this group. In contrast to Linux, OpenBSD also 7068 fails if the new group is the same as the old one. Do not call 7069 fchown(2) in this case, it would change nothing anyway. 7070 7071 This fixes an issue with Perl Alien::Build module. 7072 https://github.com/PerlAlien/Alien-Build/issues/62 7073 7074 src/xz/file_io.c | 8 +++++++- 7075 1 file changed, 7 insertions(+), 1 deletion(-) 7076 7077commit 2b509c868cae3988bf21cd693fbf9021cdc85628 7078Author: Lasse Collin <lasse.collin@tukaani.org> 7079Date: 2021-09-17 17:31:11 +0300 7080 7081 liblzma: Fix liblzma.map for the lzma_microlzma_* symbols. 7082 7083 This should have been part of d267d109c370a40b502e73f8664b154b15e4f253. 7084 7085 Thanks to Gao Xiang. 7086 7087 src/liblzma/liblzma.map | 4 ++-- 7088 1 file changed, 2 insertions(+), 2 deletions(-) 7089 7090commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6 7091Author: Lasse Collin <lasse.collin@tukaani.org> 7092Date: 2021-09-09 22:21:07 +0300 7093 7094 Update THANKS. 7095 7096 THANKS | 1 + 7097 1 file changed, 1 insertion(+) 7098 7099commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e 7100Author: Lasse Collin <lasse.collin@tukaani.org> 7101Date: 2021-09-09 21:41:51 +0300 7102 7103 liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC. 7104 7105 By default, MSVC always sets __cplusplus to 199711L. The real 7106 C++ standard version is available in _MSVC_LANG (or one could 7107 use /Zc:__cplusplus to set __cplusplus correctly). 7108 7109 Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>. 7110 7111 Thanks to Dan Weiss. 7112 7113 src/liblzma/api/lzma.h | 3 ++- 7114 1 file changed, 2 insertions(+), 1 deletion(-) 7115 7116commit d267d109c370a40b502e73f8664b154b15e4f253 7117Author: Lasse Collin <lasse.collin@tukaani.org> 7118Date: 2021-09-05 20:38:12 +0300 7119 7120 liblzma: Rename EROFS LZMA to MicroLZMA. 7121 7122 It still exists primarily for EROFS but MicroLZMA is 7123 a more generic name (that hopefully doesn't clash with 7124 something that already exists). 7125 7126 src/liblzma/api/lzma/container.h | 33 +++++++++++++--------- 7127 src/liblzma/common/Makefile.inc | 4 +-- 7128 .../{erofs_decoder.c => microlzma_decoder.c} | 32 ++++++++++----------- 7129 .../{erofs_encoder.c => microlzma_encoder.c} | 30 ++++++++++---------- 7130 4 files changed, 52 insertions(+), 47 deletions(-) 7131 7132commit 3247e95115acb95bc27f41e8cf4501db5b0b4309 7133Author: Lasse Collin <lasse.collin@tukaani.org> 7134Date: 2021-06-04 19:02:38 +0300 7135 7136 xzdiff: Update the man page about the exit status. 7137 7138 This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca. 7139 7140 src/scripts/xzdiff.1 | 4 ++-- 7141 1 file changed, 2 insertions(+), 2 deletions(-) 7142 7143commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc 7144Author: Lasse Collin <lasse.collin@tukaani.org> 7145Date: 2021-06-04 18:52:48 +0300 7146 7147 xzless: Fix less(1) version detection when it contains a dot. 7148 7149 Sometimes the version number from "less -V" contains a dot, 7150 sometimes not. xzless failed detect the version number when 7151 it does contain a dot. This fixes it. 7152 7153 Thanks to nick87720z for reporting this. Apparently it had been 7154 reported here <https://bugs.gentoo.org/489362> in 2013. 7155 7156 src/scripts/xzless.in | 2 +- 7157 1 file changed, 1 insertion(+), 1 deletion(-) 7158 7159commit 5fb5212d816addbc523d0798cb482fdd0484f8fa 7160Author: Lasse Collin <lasse.collin@tukaani.org> 7161Date: 2021-04-11 19:58:10 +0300 7162 7163 Update THANKS. 7164 7165 THANKS | 2 ++ 7166 1 file changed, 2 insertions(+) 7167 7168commit fc3d3a7296ef58bb799a73943636b8bfd95339f7 7169Author: Ivan A. Melnikov <iv@altlinux.org> 7170Date: 2021-04-09 11:45:10 +0300 7171 7172 Reduce maximum possible memory limit on MIPS32 7173 7174 Due to architectural limitations, address space available to a single 7175 userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems 7176 that have more physical RAM -- e.g. 64-bit systems with 32-bit 7177 userspace, or systems that use XPA (an extension similar to x86's PAE). 7178 7179 So, for MIPS32, we have to impose stronger memory limits. I've chosen 7180 2000MiB to give the process some headroom. 7181 7182 src/xz/hardware.c | 6 ++++++ 7183 1 file changed, 6 insertions(+) 7184 7185commit e7da44d5151e21f153925781ad29334ae0786101 7186Author: Lasse Collin <lasse.collin@tukaani.org> 7187Date: 2021-02-13 23:31:27 +0200 7188 7189 CMake: Use interface library for better FindLibLZMA compatibility. 7190 7191 https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html 7192 7193 Thanks to Markus Rickert. 7194 7195 CMakeLists.txt | 11 +++++++++-- 7196 1 file changed, 9 insertions(+), 2 deletions(-) 7197 7198commit a61dd82ada39030f41b4ffca9ea551714908bedc 7199Author: Lasse Collin <lasse.collin@tukaani.org> 7200Date: 2021-01-30 18:36:04 +0200 7201 7202 CMake: Try to improve compatibility with the FindLibLZMA module. 7203 7204 The naming conflict with FindLibLZMA module gets worse. 7205 Not avoiding it in the first place was stupid. 7206 7207 Normally find_package(LibLZMA) will use the module and 7208 find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config 7209 file even with a case insensitive file system. However, if 7210 CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system 7211 is case insensitive, find_package(LibLZMA) will find our liblzma 7212 config file instead of using FindLibLZMA module. 7213 7214 One big problem with this is that FindLibLZMA uses 7215 LibLZMA::LibLZMA and we use liblzma::liblzma as the target 7216 name. With target names CMake happens to be case sensitive. 7217 To workaround this, this commit adds 7218 7219 add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma) 7220 7221 to the config file. Then both spellings work. 7222 7223 To make the behavior consistent between case sensitive and 7224 insensitive file systems, the config and related files are 7225 renamed from liblzmaConfig.cmake to liblzma-config.cmake style. 7226 With this style CMake looks for lowercase version of the package 7227 name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work 7228 to find our config file. 7229 7230 There are other differences between our config file and 7231 FindLibLZMA so it's still possible that things break for 7232 reasons other than the spelling of the target name. Hopefully 7233 those situations aren't too common. 7234 7235 When the config file is available, it should always give as good or 7236 better results as FindLibLZMA so this commit doesn't affect the 7237 recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG) 7238 which explicitly avoids FindLibLZMA. 7239 7240 Thanks to Markus Rickert. 7241 7242 CMakeLists.txt | 21 +++++++++++++-------- 7243 1 file changed, 13 insertions(+), 8 deletions(-) 7244 7245commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05 7246Author: Lasse Collin <lasse.collin@tukaani.org> 7247Date: 2021-01-29 21:19:43 +0200 7248 7249 Update THANKS. 7250 7251 THANKS | 1 + 7252 1 file changed, 1 insertion(+) 7253 7254commit 6c6f0db340dcb8bb424411cedba713405d55f6b8 7255Author: Lasse Collin <lasse.collin@tukaani.org> 7256Date: 2021-01-29 21:19:08 +0200 7257 7258 liblzma: Fix unitialized variable. 7259 7260 This was introduced two weeks ago in the commit 7261 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 7262 7263 Thanks to Nathan Moinvaziri. 7264 7265 src/liblzma/lzma/lzma_encoder.c | 1 + 7266 1 file changed, 1 insertion(+) 7267 7268commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c 7269Author: Lasse Collin <lasse.collin@tukaani.org> 7270Date: 2021-01-24 22:32:41 +0200 7271 7272 Tests: Add bad-1-lzma2-10.xz and also modify -9.xz. 7273 7274 tests/files/README | 11 +++++++++-- 7275 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes 7276 tests/files/bad-1-lzma2-9.xz | Bin 72 -> 72 bytes 7277 3 files changed, 9 insertions(+), 2 deletions(-) 7278 7279commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7 7280Author: Lasse Collin <lasse.collin@tukaani.org> 7281Date: 2021-01-24 19:22:35 +0200 7282 7283 liblzma: Fix a wrong comment in stream_encoder_mt.c. 7284 7285 src/liblzma/common/stream_encoder_mt.c | 10 +++++++--- 7286 1 file changed, 7 insertions(+), 3 deletions(-) 7287 7288commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e 7289Author: Lasse Collin <lasse.collin@tukaani.org> 7290Date: 2021-01-24 18:51:51 +0200 7291 7292 Tests: Add bad-1-lzma2-9.xz. 7293 7294 tests/files/README | 4 ++++ 7295 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes 7296 2 files changed, 4 insertions(+) 7297 7298commit fdd30032f8531ac89519b48c21d810ecf06825f6 7299Author: Lasse Collin <lasse.collin@tukaani.org> 7300Date: 2021-01-24 17:02:00 +0200 7301 7302 Tests: Add bad-1-check-crc32-2.xz. 7303 7304 tests/files/README | 7 +++++++ 7305 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes 7306 2 files changed, 7 insertions(+) 7307 7308commit db465419ae26ec7fb9b9472183911ff521620c77 7309Author: Lasse Collin <lasse.collin@tukaani.org> 7310Date: 2021-01-17 19:20:50 +0200 7311 7312 liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end. 7313 7314 When the uncompressed size is known to be exact, after decompressing 7315 the stream exactly comp_size bytes of input must have been consumed. 7316 This is a minor improvement to error detection. 7317 7318 src/liblzma/common/erofs_decoder.c | 7 ++++++- 7319 1 file changed, 6 insertions(+), 1 deletion(-) 7320 7321commit 774cc0118ba2496581cb2621505a04bb6598cc75 7322Author: Lasse Collin <lasse.collin@tukaani.org> 7323Date: 2021-01-17 18:53:34 +0200 7324 7325 liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known. 7326 7327 The caller must still not specify an uncompressed size bigger 7328 than the actual uncompressed size. 7329 7330 As a downside, this now needs the exact compressed size. 7331 7332 src/liblzma/api/lzma/container.h | 23 ++++++++--- 7333 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++---- 7334 2 files changed, 91 insertions(+), 12 deletions(-) 7335 7336commit 421b0aa352da244075db10205cf33712f91b9835 7337Author: Lasse Collin <lasse.collin@tukaani.org> 7338Date: 2021-01-14 20:57:11 +0200 7339 7340 liblzma: Fix missing normalization in rc_encode_dummy(). 7341 7342 Without this fix it could attempt to create too much output. 7343 7344 src/liblzma/rangecoder/range_encoder.h | 7 ++++++- 7345 1 file changed, 6 insertions(+), 1 deletion(-) 7346 7347commit 601ec0311e769fc704daaaa7dac0ca840aff080e 7348Author: Lasse Collin <lasse.collin@tukaani.org> 7349Date: 2021-01-14 20:07:01 +0200 7350 7351 liblzma: Add EROFS LZMA encoder and decoder. 7352 7353 Right now this is just a planned extra-compact format for use 7354 in the EROFS file system in Linux. At this point it's possible 7355 that the format will either change or be abandoned and removed 7356 completely. 7357 7358 The special thing about the encoder is that it uses the 7359 output-size-limited encoding added in the previous commit. 7360 EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed 7361 data so the compressors must be able to create valid streams 7362 that fill the given block size. 7363 7364 src/liblzma/api/lzma/container.h | 76 +++++++++++++++++++ 7365 src/liblzma/common/Makefile.inc | 2 + 7366 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++ 7367 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++ 7368 src/liblzma/liblzma.map | 2 + 7369 5 files changed, 367 insertions(+) 7370 7371commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c 7372Author: Lasse Collin <lasse.collin@tukaani.org> 7373Date: 2021-01-13 19:16:32 +0200 7374 7375 liblzma: Add rough support for output-size-limited encoding in LZMA1. 7376 7377 With this it is possible to encode LZMA1 data without EOPM so that 7378 the encoder will encode as much input as it can without exceeding 7379 the specified output size limit. The resulting LZMA1 stream will 7380 be a normal LZMA1 stream without EOPM. The actual uncompressed size 7381 will be available to the caller via the uncomp_size pointer. 7382 7383 One missing thing is that the LZMA layer doesn't inform the LZ layer 7384 when the encoding is finished and thus the LZ may read more input 7385 when it won't be used. However, this doesn't matter if encoding is 7386 done with a single call (which is the planned use case for now). 7387 For proper multi-call encoding this should be improved. 7388 7389 This commit only adds the functionality for internal use. 7390 Nothing uses it yet. 7391 7392 src/liblzma/common/common.h | 11 +++ 7393 src/liblzma/lz/lz_encoder.c | 16 ++++ 7394 src/liblzma/lz/lz_encoder.h | 4 + 7395 src/liblzma/lzma/lzma_encoder.c | 127 +++++++++++++++++++++++--------- 7396 src/liblzma/lzma/lzma_encoder_private.h | 12 +++ 7397 src/liblzma/rangecoder/range_encoder.h | 111 ++++++++++++++++++++++++++++ 7398 6 files changed, 246 insertions(+), 35 deletions(-) 7399 7400commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a 7401Author: Lasse Collin <lasse.collin@tukaani.org> 7402Date: 2021-01-11 23:57:11 +0200 7403 7404 Scripts: Add zstd support to xzdiff. 7405 7406 src/scripts/xzdiff.1 | 6 ++++-- 7407 src/scripts/xzdiff.in | 16 +++++++++++----- 7408 2 files changed, 15 insertions(+), 7 deletions(-) 7409 7410commit d9ec3add97cf4c999a7f594c6529680227b6c274 7411Author: Lasse Collin <lasse.collin@tukaani.org> 7412Date: 2021-01-11 23:41:30 +0200 7413 7414 Update THANKS. 7415 7416 THANKS | 2 ++ 7417 1 file changed, 2 insertions(+) 7418 7419commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2 7420Author: Lasse Collin <lasse.collin@tukaani.org> 7421Date: 2021-01-11 23:41:16 +0200 7422 7423 xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky. 7424 7425 Previously this required using --force but that has other 7426 effects too which might be undesirable. Changing the behavior 7427 of --keep has a small risk of breaking existing scripts but 7428 since this is a fairly special corner case I expect the 7429 likehood of breakage to be low enough. 7430 7431 I think the new behavior is more logical. The only reason for 7432 the old behavior was to be consistent with gzip and bzip2. 7433 7434 Thanks to Vincent Lefevre and Sebastian Andrzej Siewior. 7435 7436 src/xz/file_io.c | 9 +++++---- 7437 src/xz/xz.1 | 16 +++++++++++++++- 7438 2 files changed, 20 insertions(+), 5 deletions(-) 7439 7440commit 73c555b3077c19dda29b6f4592ced2af876f8333 7441Author: Lasse Collin <lasse.collin@tukaani.org> 7442Date: 2021-01-11 23:28:52 +0200 7443 7444 Scripts: Fix exit status of xzgrep. 7445 7446 Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't 7447 matter. With gzip it's important because -q makes gzip replace SIGPIPE 7448 with exit status 2. With bzip2 it's important because with -q bzip2 7449 is completely silent if input is corrupt while other decompressors 7450 still give an error message. 7451 7452 Avoiding exit status 2 from gzip is important because bzip2 uses 7453 exit status 2 to indicate corrupt input. Before this commit xzgrep 7454 didn't recognize corrupt .bz2 files because xzgrep was treating 7455 exit status 2 as SIGPIPE for gzip compatibility. 7456 7457 zstd still needs -q because otherwise it is noisy in normal 7458 operation. 7459 7460 The code to detect real SIGPIPE didn't check if the exit status 7461 was due to a signal (>= 128) and so could ignore some other exit 7462 status too. 7463 7464 src/scripts/xzgrep.in | 20 +++++++++++++------- 7465 1 file changed, 13 insertions(+), 7 deletions(-) 7466 7467commit 194029ffaf74282a81f0c299c07f73caca3232ca 7468Author: Lasse Collin <lasse.collin@tukaani.org> 7469Date: 2021-01-11 22:01:51 +0200 7470 7471 Scripts: Fix exit status of xzdiff/xzcmp. 7472 7473 This is a minor fix since this affects only the situation when 7474 the files differ and the exit status is something else than 0. 7475 In such case there could be SIGPIPE from a decompression tool 7476 and that would result in exit status of 2 from xzdiff/xzcmp 7477 while the correct behavior would be to return 1 or whatever 7478 else diff or cmp may have returned. 7479 7480 This commit omits the -q option from xz/gzip/bzip2/lzop arguments. 7481 I'm not sure why the -q was used in the first place, perhaps it 7482 hides warnings in some situation that I cannot see at the moment. 7483 Hopefully the removal won't introduce a new bug. 7484 7485 With gzip the -q option was harmful because it made gzip return 2 7486 instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning 7487 from gzip) isn't practical because bzip2 uses exit status 2 to 7488 indicate corrupt input file. It's better if SIGPIPE results in 7489 exit status >= 128. 7490 7491 With bzip2 the removal of -q seems to be good because with -q 7492 it prints nothing if input is corrupt. The other tools aren't 7493 silent in this situation even with -q. On the other hand, if 7494 zstd support is added, it will need -q since otherwise it's 7495 noisy in normal situations. 7496 7497 Thanks to Étienne Mollier and Sebastian Andrzej Siewior. 7498 7499 src/scripts/xzdiff.in | 35 +++++++++++++++++++++-------------- 7500 1 file changed, 21 insertions(+), 14 deletions(-) 7501 7502commit f7fa309e1f7178d04c7bedc03b73077639371e97 7503Author: Lasse Collin <lasse.collin@tukaani.org> 7504Date: 2021-01-09 21:14:36 +0200 7505 7506 liblzma: Make lzma_outq usable for threaded decompression too. 7507 7508 Before this commit all output queue buffers were allocated as 7509 a single big allocation. Now each buffer is allocated separately 7510 when needed. Used buffers are cached to avoid reallocation 7511 overhead but the cache will keep only one buffer size at a time. 7512 This should make things work OK in the decompression where most 7513 of the time the buffer sizes will be the same but with some less 7514 common files the buffer sizes may vary. 7515 7516 While this should work fine, it's still a bit preliminary 7517 and may even get reverted if it turns out to be useless for 7518 decompression. 7519 7520 src/liblzma/common/outqueue.c | 268 +++++++++++++++++++++------------ 7521 src/liblzma/common/outqueue.h | 138 ++++++++++++----- 7522 src/liblzma/common/stream_encoder_mt.c | 52 ++++--- 7523 3 files changed, 301 insertions(+), 157 deletions(-) 7524 7525commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778 7526Author: Lasse Collin <lasse.collin@tukaani.org> 7527Date: 2020-12-23 17:15:49 +0200 7528 7529 Update THANKS. 7530 7531 THANKS | 1 + 7532 1 file changed, 1 insertion(+) 7533 7534commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589 7535Author: H.J. Lu <hjl.tools@gmail.com> 7536Date: 2020-12-23 06:49:04 -0800 7537 7538 liblzma: Enable Intel CET in x86 CRC assembly codes 7539 7540 When Intel CET is enabled, we need to include <cet.h> in assembly codes 7541 to mark Intel CET support and add _CET_ENDBR to indirect jump targets. 7542 7543 Tested on Intel Tiger Lake under CET enabled Linux. 7544 7545 src/liblzma/check/crc32_x86.S | 9 +++++++++ 7546 src/liblzma/check/crc64_x86.S | 9 +++++++++ 7547 2 files changed, 18 insertions(+) 7548 7549commit bb3b8c6a23e25db79f862b1de325c56052e0354b 7550Author: Lasse Collin <lasse.collin@tukaani.org> 7551Date: 2020-12-16 18:33:29 +0200 7552 7553 Update THANKS. 7554 7555 THANKS | 1 + 7556 1 file changed, 1 insertion(+) 7557 7558commit 21588ca34af98738954fc12ded1b89d7294ef646 7559Author: Lasse Collin <lasse.collin@tukaani.org> 7560Date: 2020-12-16 18:30:14 +0200 7561 7562 Build: Don't build bundles on Apple OSes. 7563 7564 Thanks to Daniel Packard. 7565 7566 CMakeLists.txt | 3 +++ 7567 1 file changed, 3 insertions(+) 7568 7569commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28 7570Author: Lasse Collin <lasse.collin@tukaani.org> 7571Date: 2020-12-05 22:44:03 +0200 7572 7573 Update THANKS. 7574 7575 THANKS | 1 + 7576 1 file changed, 1 insertion(+) 7577 7578commit 1890351f3423627ba5c4c495402f32d7e9ed90b7 7579Author: Adam Borowski <kilobyte@angband.pl> 7580Date: 2020-09-25 03:35:18 +0200 7581 7582 Scripts: Add zstd support to xzgrep. 7583 7584 Thanks to Adam Borowski. 7585 7586 src/scripts/xzgrep.1 | 9 ++++++--- 7587 src/scripts/xzgrep.in | 1 + 7588 2 files changed, 7 insertions(+), 3 deletions(-) 7589 7590commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2 7591Author: Lasse Collin <lasse.collin@tukaani.org> 7592Date: 2020-11-17 20:51:48 +0200 7593 7594 CMake: Fix compatibility with CMake 3.13. 7595 7596 The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14. 7597 In some other places the code treats the cache variables 7598 like normal variables already (${FOO} or if(FOO) is used, 7599 not ${CACHE{FOO}). 7600 7601 Thanks to ygrek for reporting the bug on IRC. 7602 7603 CMakeLists.txt | 2 +- 7604 cmake/tuklib_cpucores.cmake | 4 ++-- 7605 cmake/tuklib_physmem.cmake | 4 ++-- 7606 3 files changed, 5 insertions(+), 5 deletions(-) 7607 7608commit 5af726a79273fafa5de5745b117e567f21c90e49 7609Author: Lasse Collin <lasse.collin@tukaani.org> 7610Date: 2020-11-01 22:56:43 +0200 7611 7612 Update THANKS. 7613 7614 THANKS | 4 +++- 7615 1 file changed, 3 insertions(+), 1 deletion(-) 7616 7617commit 4575d9d365c756ec189899f9f743e0b3515ce72d 7618Author: Lasse Collin <lasse.collin@tukaani.org> 7619Date: 2020-11-01 22:34:25 +0200 7620 7621 xz: Avoid unneeded \f escapes on the man page. 7622 7623 I don't want to use \c in macro arguments but groff_man(7) 7624 suggests that \f has better portability. \f would be needed 7625 for the .TP strings for portability reasons anyway. 7626 7627 Thanks to Bjarni Ingi Gislason. 7628 7629 src/xz/xz.1 | 31 ++++++++++++++++++++++--------- 7630 1 file changed, 22 insertions(+), 9 deletions(-) 7631 7632commit 620b32f5339f86710cb4435e01ecdac972ccac73 7633Author: Lasse Collin <lasse.collin@tukaani.org> 7634Date: 2020-11-01 19:09:53 +0200 7635 7636 xz: Use non-breaking spaces when intentionally using more than one space. 7637 7638 This silences some style checker warnings. Seems that spaces 7639 in the beginning of a line don't need this treatment. 7640 7641 Thanks to Bjarni Ingi Gislason. 7642 7643 src/xz/xz.1 | 2 +- 7644 1 file changed, 1 insertion(+), 1 deletion(-) 7645 7646commit cb1f34988c8a4130485091b2f8b641303d8f701b 7647Author: Lasse Collin <lasse.collin@tukaani.org> 7648Date: 2020-11-01 18:49:37 +0200 7649 7650 xz: Protect the ellipsis (...) on the man page with \&. 7651 7652 This does it only when ... appears outside macro calls. 7653 7654 Thanks to Bjarni Ingi Gislason. 7655 7656 src/xz/xz.1 | 4 ++-- 7657 1 file changed, 2 insertions(+), 2 deletions(-) 7658 7659commit 5d224da3da87400f2fab313abbd7c710e7169ef9 7660Author: Lasse Collin <lasse.collin@tukaani.org> 7661Date: 2020-11-01 18:41:21 +0200 7662 7663 xz: Avoid the abbreviation "e.g." on the man page. 7664 7665 A few are simply omitted, most are converted to "for example" 7666 and surrounded with commas. Sounds like that this is better 7667 style, for example, man-pages(7) recommends avoiding such 7668 abbreviations except in parenthesis. 7669 7670 Thanks to Bjarni Ingi Gislason. 7671 7672 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++------------------------------- 7673 1 file changed, 33 insertions(+), 33 deletions(-) 7674 7675commit 90457dbe3e5717660f5b81f8c604860fc5137c0c 7676Author: Lasse Collin <lasse.collin@tukaani.org> 7677Date: 2020-07-12 23:10:03 +0300 7678 7679 xz man page: Change \- (minus) to \(en (en-dash) for a numeric range. 7680 7681 Docs of ancient troff/nroff mention \(em (em-dash) but not \(en 7682 and \- was used for both minus and en-dash. I don't know how 7683 portable \(en is nowadays but it can be changed back if someone 7684 complains. At least GNU groff and OpenBSD's mandoc support it. 7685 7686 Thanks to Bjarni Ingi Gislason for the patch. 7687 7688 src/xz/xz.1 | 16 ++++++++-------- 7689 1 file changed, 8 insertions(+), 8 deletions(-) 7690 7691commit 352ba2d69af2136bc814aa1df1a132559d445616 7692Author: Lasse Collin <lasse.collin@tukaani.org> 7693Date: 2020-07-12 20:46:24 +0300 7694 7695 Windows: Fix building of resource files when config.h isn't used. 7696 7697 Now CMake + Visual Studio works for building liblzma.dll. 7698 7699 Thanks to Markus Rickert. 7700 7701 src/common/common_w32res.rc | 4 +++- 7702 1 file changed, 3 insertions(+), 1 deletion(-) 7703 7704commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480 7705Author: Lasse Collin <lasse.collin@tukaani.org> 7706Date: 2020-04-06 19:31:50 +0300 7707 7708 src/scripts/xzgrep.1: Filenames to xzgrep are optional. 7709 7710 xzgrep --help was correct already. 7711 7712 src/scripts/xzgrep.1 | 2 +- 7713 1 file changed, 1 insertion(+), 1 deletion(-) 7714 7715commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0 7716Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7717Date: 2020-03-26 22:17:31 +0000 7718 7719 src/script/xzgrep.1: Remove superfluous '.RB' 7720 7721 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 7722 7723 [ "test-groff" is a developmental version of "groff" ] 7724 7725 Input file is ./src/scripts/xzgrep.1 7726 7727 <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected 7728 <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected 7729 <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected 7730 <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected 7731 <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected 7732 7733 "abc..." does not mean the same as "abc ...". 7734 7735 The output from nroff and troff is unchanged except for the space 7736 between "file" and "...". 7737 7738 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7739 7740 src/scripts/xzgrep.1 | 12 ++++++------ 7741 1 file changed, 6 insertions(+), 6 deletions(-) 7742 7743commit 133d498db0f4b14f066d192d64dbcade45deae6b 7744Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7745Date: 2020-03-30 21:56:36 +0000 7746 7747 xzgrep.1: Delete superfluous '.PP' 7748 7749 Summary: 7750 7751 mandoc -T lint xzgrep.1 : 7752 mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty 7753 7754 There is no change in the output of "nroff" and "troff". 7755 7756 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7757 7758 src/scripts/xzgrep.1 | 1 - 7759 1 file changed, 1 deletion(-) 7760 7761commit 057839ca982f886387b66746bffe749cb14fd8cd 7762Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7763Date: 2020-03-26 21:16:18 +0000 7764 7765 src/xz/xz.1: Correct misused two-fonts macros 7766 7767 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 7768 7769 [ "test-groff" is a developmental version of "groff" ] 7770 7771 Input file is ./src/xz/xz.1 7772 7773 <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected 7774 <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected 7775 <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected 7776 <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected 7777 <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected 7778 7779 Output from nroff and troff is unchanged, except for a font change of a 7780 full stop (.). 7781 7782 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 7783 7784 src/xz/xz.1 | 10 +++++----- 7785 1 file changed, 5 insertions(+), 5 deletions(-) 7786 7787commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd 7788Author: Lasse Collin <lasse.collin@tukaani.org> 7789Date: 2020-03-23 18:07:50 +0200 7790 7791 Typo fixes from fossies.org. 7792 7793 https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html 7794 7795 Makefile.am | 2 +- 7796 doc/examples/01_compress_easy.c | 2 +- 7797 src/liblzma/api/lzma/base.h | 2 +- 7798 src/liblzma/check/crc32_x86.S | 2 +- 7799 src/liblzma/common/index.c | 2 +- 7800 src/xz/xz.1 | 4 ++-- 7801 6 files changed, 7 insertions(+), 7 deletions(-) 7802 7803commit 869b9d1b4edd6df07f819d360d306251f8147353 7804Author: Lasse Collin <lasse.collin@tukaani.org> 7805Date: 2020-03-17 16:24:28 +0200 7806 7807 Update NEWS for 5.2.5. 7808 7809 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7810 1 file changed, 105 insertions(+) 7811 7812commit a048e3a92d238c65f050a765174d9c75417231d4 7813Author: Lasse Collin <lasse.collin@tukaani.org> 7814Date: 2020-03-16 20:01:37 +0200 7815 7816 README: Update outdated sections. 7817 7818 README | 21 +++++++++++---------- 7819 1 file changed, 11 insertions(+), 10 deletions(-) 7820 7821commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716 7822Author: Lasse Collin <lasse.collin@tukaani.org> 7823Date: 2020-03-16 19:39:45 +0200 7824 7825 README: Mention that man pages can be translated. 7826 7827 README | 7 ++++--- 7828 1 file changed, 4 insertions(+), 3 deletions(-) 7829 7830commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1 7831Author: Lasse Collin <lasse.collin@tukaani.org> 7832Date: 2020-03-16 16:43:29 +0200 7833 7834 Update INSTALL.generic from Automake 1.16.1. 7835 7836 INSTALL.generic | 321 ++++++++++++++++++++++++++++---------------------------- 7837 1 file changed, 162 insertions(+), 159 deletions(-) 7838 7839commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0 7840Author: Lasse Collin <lasse.collin@tukaani.org> 7841Date: 2020-03-15 15:27:22 +0200 7842 7843 Update INSTALL for Windows and DOS and add preliminary info for z/OS. 7844 7845 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++---------- 7846 1 file changed, 41 insertions(+), 10 deletions(-) 7847 7848commit a3148c0446dc7fa96363752df414d22539c9007b 7849Author: Lasse Collin <lasse.collin@tukaani.org> 7850Date: 2020-03-15 15:26:20 +0200 7851 7852 Build: Update m4/ax_pthread.m4 from Autoconf Archive (again). 7853 7854 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++-------------------------- 7855 1 file changed, 117 insertions(+), 102 deletions(-) 7856 7857commit 7812002dd3ed319e42a14662a8531802cca8ca67 7858Author: Lasse Collin <lasse.collin@tukaani.org> 7859Date: 2020-03-11 21:15:35 +0200 7860 7861 xz: Never use thousand separators in DJGPP builds. 7862 7863 DJGPP 2.05 added support for thousands separators but it's 7864 broken at least under WinXP with Finnish locale that uses 7865 a non-breaking space as the thousands separator. Workaround 7866 by disabling thousands separators for DJGPP builds. 7867 7868 src/xz/util.c | 14 ++++++++++++-- 7869 1 file changed, 12 insertions(+), 2 deletions(-) 7870 7871commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f 7872Author: Lasse Collin <lasse.collin@tukaani.org> 7873Date: 2020-03-11 19:38:08 +0200 7874 7875 DOS: Update dos/Makefile for DJGPP 2.05. 7876 7877 It doesn't need -fgnu89-inline like 2.04beta did. 7878 7879 dos/Makefile | 4 +--- 7880 1 file changed, 1 insertion(+), 3 deletions(-) 7881 7882commit 319ca928d73de87940c54e30bffe69f9fa65efdf 7883Author: Lasse Collin <lasse.collin@tukaani.org> 7884Date: 2020-03-11 19:36:07 +0200 7885 7886 DOS: Update instructions in dos/INSTALL.txt. 7887 7888 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++----------------------------- 7889 1 file changed, 29 insertions(+), 30 deletions(-) 7890 7891commit cb6b227ce39932824812ccd8a0647bd968de27d2 7892Author: Lasse Collin <lasse.collin@tukaani.org> 7893Date: 2020-03-11 17:58:51 +0200 7894 7895 DOS: Update config.h. 7896 7897 The added defines assume GCC >= 4.8. 7898 7899 dos/config.h | 8 ++++++++ 7900 1 file changed, 8 insertions(+) 7901 7902commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd 7903Author: Lasse Collin <lasse.collin@tukaani.org> 7904Date: 2020-03-02 13:54:33 +0200 7905 7906 liblzma: Fix a comment and RC_SYMBOLS_MAX. 7907 7908 The comment didn't match the value of RC_SYMBOLS_MAX and the value 7909 itself was slightly larger than actually needed. The only harm 7910 about this was that memory usage was a few bytes larger. 7911 7912 src/liblzma/rangecoder/range_encoder.h | 4 ++-- 7913 1 file changed, 2 insertions(+), 2 deletions(-) 7914 7915commit 265daa873c0d871f5f23f9b56e133a6f20045a0a 7916Author: Lasse Collin <lasse.collin@tukaani.org> 7917Date: 2020-02-27 20:58:52 +0200 7918 7919 Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails. 7920 7921 CMakeLists.txt | 18 ++++++++++++++++++ 7922 1 file changed, 18 insertions(+) 7923 7924commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9 7925Author: Lasse Collin <lasse.collin@tukaani.org> 7926Date: 2020-02-27 20:24:27 +0200 7927 7928 Build: Add support for --no-po4a option to autogen.sh. 7929 7930 Normally, if po4a isn't available, autogen.sh will return 7931 with non-zero exit status. The option --no-po4a can be useful 7932 when one knows that po4a isn't available but wants autogen.sh 7933 to still return with zero exit status. 7934 7935 autogen.sh | 11 ++++++++++- 7936 1 file changed, 10 insertions(+), 1 deletion(-) 7937 7938commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f 7939Author: Lasse Collin <lasse.collin@tukaani.org> 7940Date: 2020-02-25 21:35:14 +0200 7941 7942 Update THANKS. 7943 7944 THANKS | 1 + 7945 1 file changed, 1 insertion(+) 7946 7947commit 474320e9908786ba2021035f9013191e16cde08a 7948Author: Lasse Collin <lasse.collin@tukaani.org> 7949Date: 2020-02-25 20:42:31 +0200 7950 7951 Build: Fix bugs in the CMake files. 7952 7953 Seems that the phrase "add more quotes" from sh/bash scripting 7954 applies to CMake as well. E.g. passing an unquoted list ${FOO} 7955 to a function that expects one argument results in only the 7956 first element of the list being passed as an argument and 7957 the rest get ignored. Adding quotes helps ("${FOO}"). 7958 7959 list(INSERT ...) is weird. Inserting an empty string to an empty 7960 variable results in empty list, but inserting it to a non-empty 7961 variable does insert an empty element to the list. 7962 7963 Since INSERT requires at least one element, 7964 "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt. 7965 It might result in an empty element in the list. It seems to not 7966 matter as empty elements consistently get ignored in that variable. 7967 In fact, calling cmake_check_push_state() and cmake_check_pop_state() 7968 will strip the empty elements from CMAKE_REQUIRED_LIBRARIES! 7969 7970 In addition to quoting fixes, this fixes checks for the cache 7971 variables in tuklib_cpucores.cmake and tuklib_physmem.cmake. 7972 7973 Thanks to Martin Matuška for testing and reporting the problems. 7974 These fixes aren't tested yet but hopefully they soon will be. 7975 7976 CMakeLists.txt | 52 ++++++++++++++++++++++----------------------- 7977 cmake/tuklib_common.cmake | 8 ++++--- 7978 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------ 7979 cmake/tuklib_integer.cmake | 34 +++++++++++++++-------------- 7980 cmake/tuklib_mbstr.cmake | 6 +++--- 7981 cmake/tuklib_physmem.cmake | 29 +++++++++++++------------ 7982 cmake/tuklib_progname.cmake | 4 ++-- 7983 7 files changed, 85 insertions(+), 78 deletions(-) 7984 7985commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6 7986Author: Lasse Collin <lasse.collin@tukaani.org> 7987Date: 2020-02-24 23:38:16 +0200 7988 7989 Build: Add very limited experimental CMake support. 7990 7991 This does *NOT* replace the Autotools-based build system in 7992 the foreseeable future. See the comment in the beginning 7993 of CMakeLists.txt. 7994 7995 So far this has been tested only on GNU/Linux but I commit 7996 it anyway to make it easier for others to test. Since I 7997 haven't played much with CMake before, it's likely that 7998 there are things that have been done in a silly or wrong 7999 way and need to be fixed. 8000 8001 CMakeLists.txt | 643 ++++++++++++++++++++++++++++++++++++++++++++ 8002 cmake/tuklib_common.cmake | 47 ++++ 8003 cmake/tuklib_cpucores.cmake | 173 ++++++++++++ 8004 cmake/tuklib_integer.cmake | 100 +++++++ 8005 cmake/tuklib_mbstr.cmake | 20 ++ 8006 cmake/tuklib_physmem.cmake | 149 ++++++++++ 8007 cmake/tuklib_progname.cmake | 19 ++ 8008 7 files changed, 1151 insertions(+) 8009 8010commit 21bd4701fca3e9002ce78bc135debca369ed8545 8011Author: Lasse Collin <lasse.collin@tukaani.org> 8012Date: 2020-02-24 23:37:07 +0200 8013 8014 Update m4/.gitignore. 8015 8016 m4/.gitignore | 1 + 8017 1 file changed, 1 insertion(+) 8018 8019commit e094d1d0f196a91ec703e8d0055948feef349ae8 8020Author: Lasse Collin <lasse.collin@tukaani.org> 8021Date: 2020-02-24 23:29:35 +0200 8022 8023 tuklib: Omit an unneeded <sys/types.h> from a tests. 8024 8025 tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h> 8026 even via other files in this package, so clearly that header isn't 8027 needed in the tests either (no one has reported build problems due 8028 to a missing header in a .c file). 8029 8030 m4/tuklib_cpucores.m4 | 1 - 8031 m4/tuklib_physmem.m4 | 1 - 8032 2 files changed, 2 deletions(-) 8033 8034commit b3ed19a55fe99a45bd77614e149d39d18498075c 8035Author: Lasse Collin <lasse.collin@tukaani.org> 8036Date: 2020-02-24 23:01:00 +0200 8037 8038 liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c. 8039 8040 This file only generates fastpos_table.c. 8041 It isn't built as a part of liblzma. 8042 8043 src/liblzma/lzma/fastpos_tablegen.c | 1 - 8044 1 file changed, 1 deletion(-) 8045 8046commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59 8047Author: Lasse Collin <lasse.collin@tukaani.org> 8048Date: 2020-02-22 14:15:07 +0200 8049 8050 Use defined(__GNUC__) before __GNUC__ in preprocessor lines. 8051 8052 This should silence the equivalent of -Wundef in compilers that 8053 don't define __GNUC__. 8054 8055 src/common/sysdefs.h | 3 ++- 8056 src/liblzma/api/lzma.h | 5 +++-- 8057 2 files changed, 5 insertions(+), 3 deletions(-) 8058 8059commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1 8060Author: Lasse Collin <lasse.collin@tukaani.org> 8061Date: 2020-02-21 17:40:02 +0200 8062 8063 liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA. 8064 8065 This gives a tiny encoder speed improvement. This could have been done 8066 in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but 8067 it was forgotten. 8068 8069 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------ 8070 1 file changed, 10 insertions(+), 6 deletions(-) 8071 8072commit 59e6eb4840b9f52fa3a61544974017279b448216 8073Author: Lasse Collin <lasse.collin@tukaani.org> 8074Date: 2020-02-21 17:01:15 +0200 8075 8076 Build: Add visibility.m4 from gnulib. 8077 8078 Appears that this file used to get included as a side effect of 8079 gettext. After the change to gettext version requirements this file 8080 no longer got copied to the package and so the build was broken. 8081 8082 m4/.gitignore | 1 - 8083 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8084 2 files changed, 77 insertions(+), 1 deletion(-) 8085 8086commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a 8087Author: Lasse Collin <lasse.collin@tukaani.org> 8088Date: 2020-02-21 16:10:44 +0200 8089 8090 xz: Silence a warning when sig_atomic_t is long int. 8091 8092 It can be true at least on z/OS. 8093 8094 src/xz/signals.c | 2 +- 8095 1 file changed, 1 insertion(+), 1 deletion(-) 8096 8097commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8 8098Author: Lasse Collin <lasse.collin@tukaani.org> 8099Date: 2020-02-21 15:59:26 +0200 8100 8101 xz: Avoid unneeded access of a volatile variable. 8102 8103 src/xz/signals.c | 2 +- 8104 1 file changed, 1 insertion(+), 1 deletion(-) 8105 8106commit 524c2f12c762032b819757aeda8af7c47c4cabce 8107Author: Lasse Collin <lasse.collin@tukaani.org> 8108Date: 2020-02-21 01:24:18 +0200 8109 8110 tuklib_integer.m4: Optimize the check order. 8111 8112 The __builtin byteswapping is the preferred one so check for it first. 8113 8114 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++------------------------- 8115 1 file changed, 29 insertions(+), 27 deletions(-) 8116 8117commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb 8118Author: Lasse Collin <lasse.collin@tukaani.org> 8119Date: 2020-02-20 18:54:04 +0200 8120 8121 tuklib_exit: Add missing header. 8122 8123 strerror() needs <string.h> which happened to be included via 8124 tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H 8125 was defined. This wasn't tested without config.h before so it 8126 had worked fine. 8127 8128 src/common/tuklib_exit.c | 1 + 8129 1 file changed, 1 insertion(+) 8130 8131commit fddd31175e74a538997a939d930462fde17d2dd4 8132Author: Lasse Collin <lasse.collin@tukaani.org> 8133Date: 2020-02-18 19:12:35 +0200 8134 8135 Revert the previous commit and add a comment. 8136 8137 The previous commit broke crc32_tablegen.c. 8138 8139 If the whole package is built without config.h (with defines 8140 set on the compiler command line) this should still work fine 8141 as long as these headers conform to C99 well enough. 8142 8143 src/common/tuklib_config.h | 17 ++++++++++------- 8144 1 file changed, 10 insertions(+), 7 deletions(-) 8145 8146commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e 8147Author: Lasse Collin <lasse.collin@tukaani.org> 8148Date: 2020-02-17 23:37:20 +0200 8149 8150 Do not check for HAVE_CONFIG_H in tuklib_config.h. 8151 8152 In XZ Utils sysdefs.h takes care of it and the required headers. 8153 8154 src/common/tuklib_config.h | 15 +++++++-------- 8155 1 file changed, 7 insertions(+), 8 deletions(-) 8156 8157commit 2d4cef954feba82073951358466a1d614141cf33 8158Author: Lasse Collin <lasse.collin@tukaani.org> 8159Date: 2020-02-16 11:18:28 +0200 8160 8161 sysdefs.h: Omit the conditionals around string.h and limits.h. 8162 8163 string.h is used unconditionally elsewhere in the project and 8164 configure has always stopped if limits.h is missing, so these 8165 headers must have been always available even on the weirdest 8166 systems. 8167 8168 src/common/sysdefs.h | 8 ++------ 8169 1 file changed, 2 insertions(+), 6 deletions(-) 8170 8171commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939 8172Author: Lasse Collin <lasse.collin@tukaani.org> 8173Date: 2020-02-15 15:07:11 +0200 8174 8175 Build: Bump Autoconf and Libtool version requirements. 8176 8177 There is no specific reason for this other than blocking 8178 the most ancient versions. These are still old: 8179 8180 Autoconf 2.69 (2012) 8181 Automake 1.12 (2012) 8182 gettext 0.19.6 (2015) 8183 Libtool 2.4 (2010) 8184 8185 configure.ac | 4 ++-- 8186 1 file changed, 2 insertions(+), 2 deletions(-) 8187 8188commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb 8189Author: Lasse Collin <lasse.collin@tukaani.org> 8190Date: 2020-02-15 03:08:32 +0200 8191 8192 Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6. 8193 8194 This bumps the version requirement from 0.19 (from 2014) to 8195 0.19.6 (2015). 8196 8197 Using only the old AM_GNU_GETTEXT_VERSION results in old 8198 gettext infrastructure being placed in the package. By using 8199 both macros we get the latest gettext files while the other 8200 programs in the Autotools family can still see the old macro. 8201 8202 configure.ac | 6 +++++- 8203 1 file changed, 5 insertions(+), 1 deletion(-) 8204 8205commit fa792b8befaf7cb3960b655e0a9410da866d756f 8206Author: Lasse Collin <lasse.collin@tukaani.org> 8207Date: 2020-02-14 20:42:06 +0200 8208 8209 Translations: Add German translation of the man pages. 8210 8211 Thanks to Mario Blättermann. 8212 8213 po4a/de.po | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8214 po4a/po4a.conf | 2 +- 8215 2 files changed, 5533 insertions(+), 1 deletion(-) 8216 8217commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b 8218Author: Lasse Collin <lasse.collin@tukaani.org> 8219Date: 2020-02-07 15:32:21 +0200 8220 8221 Build: Add support for translated man pages using po4a. 8222 8223 The dependency on po4a is optional. It's never required to install 8224 the translated man pages when xz is built from a release tarball. 8225 If po4a is missing when building from xz.git, the translated man 8226 pages won't be generated but otherwise the build will work normally. 8227 8228 The translations are only updated automatically by autogen.sh and 8229 by "make mydist". This makes it easy to keep po4a as an optional 8230 dependency and ensures that I won't forget to put updated 8231 translations to a release tarball. 8232 8233 The translated man pages aren't installed if --disable-nls is used. 8234 8235 The installation of translated man pages abuses Automake internals 8236 by calling "install-man" with redefined dist_man_MANS and man_MANS. 8237 This makes the hairy script code slightly less hairy. If it breaks 8238 some day, this code needs to be fixed; don't blame Automake developers. 8239 8240 Also, this adds more quotes to the existing shell script code in 8241 the Makefile.am "-hook"s. 8242 8243 Makefile.am | 4 ++++ 8244 autogen.sh | 8 ++++--- 8245 po4a/.gitignore | 2 ++ 8246 po4a/po4a.conf | 14 +++++++++++ 8247 po4a/update-po | 45 ++++++++++++++++++++++++++++++++++ 8248 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------ 8249 src/xz/Makefile.am | 50 +++++++++++++++++++++++++++----------- 8250 src/xzdec/Makefile.am | 55 ++++++++++++++++++++++++++++++++---------- 8251 8 files changed, 197 insertions(+), 45 deletions(-) 8252 8253commit 426f9e5819ff7710a5ff573a96c02940be65d52f 8254Author: Lasse Collin <lasse.collin@tukaani.org> 8255Date: 2020-02-06 17:31:38 +0200 8256 8257 Update THANKS. 8258 8259 THANKS | 1 + 8260 1 file changed, 1 insertion(+) 8261 8262commit e3a4481d020e4de89efa037f335cf50f3ca55592 8263Author: Lasse Collin <lasse.collin@tukaani.org> 8264Date: 2020-02-05 22:35:06 +0200 8265 8266 Update tests/.gitignore. 8267 8268 .gitignore | 4 ++++ 8269 1 file changed, 4 insertions(+) 8270 8271commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef 8272Author: Lasse Collin <lasse.collin@tukaani.org> 8273Date: 2020-02-05 22:28:51 +0200 8274 8275 Update m4/.gitignore. 8276 8277 m4/.gitignore | 1 + 8278 1 file changed, 1 insertion(+) 8279 8280commit c91fbf223db46c3b3cb9df769863a1a60cd9c908 8281Author: Lasse Collin <lasse.collin@tukaani.org> 8282Date: 2020-02-05 20:47:38 +0200 8283 8284 Update THANKS. 8285 8286 THANKS | 1 + 8287 1 file changed, 1 insertion(+) 8288 8289commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f 8290Author: Lasse Collin <lasse.collin@tukaani.org> 8291Date: 2020-02-05 20:40:14 +0200 8292 8293 xz: Make it a fatal error if enabling the sandbox fails. 8294 8295 Perhaps it's too drastic but on the other hand it will let me 8296 learn about possible problems if people report the errors. 8297 This won't be backported to the v5.2 branch. 8298 8299 src/xz/file_io.c | 2 +- 8300 1 file changed, 1 insertion(+), 1 deletion(-) 8301 8302commit af0fb386ef55db66654ae39e2deec6e04190c4ff 8303Author: Lasse Collin <lasse.collin@tukaani.org> 8304Date: 2020-02-05 20:33:50 +0200 8305 8306 xz: Comment out annoying sandboxing messages. 8307 8308 src/xz/file_io.c | 10 +++++++--- 8309 1 file changed, 7 insertions(+), 3 deletions(-) 8310 8311commit 986d8c9b52b824474088e5bb3b6940651660f0e2 8312Author: Lasse Collin <lasse.collin@tukaani.org> 8313Date: 2020-02-05 19:33:37 +0200 8314 8315 Build: Workaround a POSIX shell detection problem on Solaris. 8316 8317 I don't know if the problem is in gnulib's gl_POSIX_SHELL macro 8318 or if xzgrep does something that isn't in POSIX. The workaround 8319 adds a special case for Solaris: if /usr/xpg4/bin/sh exists and 8320 gl_cv_posix_shell wasn't overriden on the configure command line, 8321 use that shell for xzgrep and other scripts. That shell is known 8322 to work and exists on most Solaris systems. 8323 8324 configure.ac | 10 ++++++++++ 8325 1 file changed, 10 insertions(+) 8326 8327commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad 8328Author: Lasse Collin <lasse.collin@tukaani.org> 8329Date: 2020-02-03 22:03:50 +0200 8330 8331 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 8332 8333 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++----------------- 8334 1 file changed, 279 insertions(+), 119 deletions(-) 8335 8336commit 353970510895f6a80adfe60cf71b70a95adfa8bc 8337Author: Lasse Collin <lasse.collin@tukaani.org> 8338Date: 2020-02-01 19:56:18 +0200 8339 8340 xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz. 8341 8342 See the code comment for reasoning. It's far from perfect but 8343 hopefully good enough for certain cases while hopefully doing 8344 nothing bad in other situations. 8345 8346 At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference 8347 on how xz scales down the number of threads. 8348 8349 The limit has to be a few MiB below 4096 MiB because otherwise 8350 things like "xz --lzma2=dict=500MiB" won't scale down the dict 8351 size enough and xz cannot allocate enough memory. With 8352 "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had 8353 to be no more than 4085 MiB. Some safety margin is good though. 8354 8355 This is hack but it should be useful when running 32-bit xz on 8356 a 64-bit kernel that gives full 4 GiB address space to xz. 8357 Hopefully this is enough to solve this: 8358 8359 https://bugzilla.redhat.com/show_bug.cgi?id=1196786 8360 8361 FreeBSD has a patch that limits the result in tuklib_physmem() 8362 to SIZE_MAX on 32-bit systems. While I think it's not the way 8363 to do it, the results on --memlimit-compress have been good. This 8364 commit should achieve practically identical results for compression 8365 while leaving decompression and tuklib_physmem() and thus 8366 lzma_physmem() unaffected. 8367 8368 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++- 8369 src/xz/xz.1 | 21 ++++++++++++++++++++- 8370 2 files changed, 51 insertions(+), 2 deletions(-) 8371 8372commit ba76d67585f88677af9f48b48e7bdc3bb7687def 8373Author: Lasse Collin <lasse.collin@tukaani.org> 8374Date: 2020-01-26 20:53:25 +0200 8375 8376 xz: Set the --flush-timeout deadline when the first input byte arrives. 8377 8378 xz --flush-timeout=2000, old version: 8379 8380 1. xz is started. The next flush will happen after two seconds. 8381 2. No input for one second. 8382 3. A burst of a few kilobytes of input. 8383 4. No input for one second. 8384 5. Two seconds have passed and flushing starts. 8385 8386 The first second counted towards the flush-timeout even though 8387 there was no pending data. This can cause flushing to occur more 8388 often than needed. 8389 8390 xz --flush-timeout=2000, after this commit: 8391 8392 1. xz is started. 8393 2. No input for one second. 8394 3. A burst of a few kilobytes of input. The next flush will 8395 happen after two seconds counted from the time when the 8396 first bytes of the burst were read. 8397 4. No input for one second. 8398 5. No input for another second. 8399 6. Two seconds have passed and flushing starts. 8400 8401 src/xz/coder.c | 6 +----- 8402 src/xz/file_io.c | 6 +++++- 8403 src/xz/mytime.c | 1 - 8404 3 files changed, 6 insertions(+), 7 deletions(-) 8405 8406commit fd47fd62bbb1bfd13ab63869137971d8b390025f 8407Author: Lasse Collin <lasse.collin@tukaani.org> 8408Date: 2020-01-26 20:19:19 +0200 8409 8410 xz: Move flush_needed from mytime.h to file_pair struct in file_io.h. 8411 8412 src/xz/coder.c | 3 ++- 8413 src/xz/file_io.c | 3 ++- 8414 src/xz/file_io.h | 3 +++ 8415 src/xz/mytime.c | 3 --- 8416 src/xz/mytime.h | 4 ---- 8417 5 files changed, 7 insertions(+), 9 deletions(-) 8418 8419commit 815035681063d5774d3640fc20b8ede783dd574e 8420Author: Lasse Collin <lasse.collin@tukaani.org> 8421Date: 2020-01-26 14:49:22 +0200 8422 8423 xz: coder.c: Make writing output a separate function. 8424 8425 The same code sequence repeats so it's nicer as a separate function. 8426 Note that in one case there was no test for opt_mode != MODE_TEST, 8427 but that was only because that condition would always be true, so 8428 this commit doesn't change the behavior there. 8429 8430 src/xz/coder.c | 30 +++++++++++++++++------------- 8431 1 file changed, 17 insertions(+), 13 deletions(-) 8432 8433commit 5a49e081a098455bcdbd95cefb90e9b18780fe58 8434Author: Lasse Collin <lasse.collin@tukaani.org> 8435Date: 2020-01-26 14:13:42 +0200 8436 8437 xz: Fix semi-busy-waiting in xz --flush-timeout. 8438 8439 When input blocked, xz --flush-timeout=1 would wake up every 8440 millisecond and initiate flushing which would have nothing to 8441 flush and thus would just waste CPU time. The fix disables the 8442 timeout when no input has been seen since the previous flush. 8443 8444 src/xz/coder.c | 4 ++++ 8445 src/xz/file_io.c | 15 +++++++++++---- 8446 src/xz/file_io.h | 4 ++++ 8447 3 files changed, 19 insertions(+), 4 deletions(-) 8448 8449commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a 8450Author: Lasse Collin <lasse.collin@tukaani.org> 8451Date: 2020-01-26 13:47:31 +0200 8452 8453 xz: Refactor io_read() a bit. 8454 8455 src/xz/file_io.c | 17 ++++++++--------- 8456 1 file changed, 8 insertions(+), 9 deletions(-) 8457 8458commit 4ae9ab70cd3214395756435d13d8d000368ca2cb 8459Author: Lasse Collin <lasse.collin@tukaani.org> 8460Date: 2020-01-26 13:37:08 +0200 8461 8462 xz: Update a comment in file_io.h. 8463 8464 src/xz/file_io.h | 5 ++++- 8465 1 file changed, 4 insertions(+), 1 deletion(-) 8466 8467commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46 8468Author: Lasse Collin <lasse.collin@tukaani.org> 8469Date: 2020-01-26 13:27:51 +0200 8470 8471 xz: Move the setting of flush_needed in file_io.c to a nicer location. 8472 8473 src/xz/file_io.c | 6 ++---- 8474 1 file changed, 2 insertions(+), 4 deletions(-) 8475 8476commit cf2df0f05ac98c1158c6e48145900b773223605d 8477Author: Lasse Collin <lasse.collin@tukaani.org> 8478Date: 2020-01-19 21:54:33 +0200 8479 8480 Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile. 8481 8482 https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048 8483 8484 Thanks to Bhargava Shastry for sending the patch. 8485 8486 tests/ossfuzz/Makefile | 2 +- 8487 1 file changed, 1 insertion(+), 1 deletion(-) 8488 8489commit 7136f1735c60ac6967c4b8e277fcde53d485234f 8490Author: Lasse Collin <lasse.collin@tukaani.org> 8491Date: 2019-12-31 00:41:28 +0200 8492 8493 Rename unaligned_read32ne to read32ne, and similarly for the others. 8494 8495 src/common/tuklib_integer.h | 64 +++++++++++++++---------------- 8496 src/liblzma/common/alone_encoder.c | 2 +- 8497 src/liblzma/common/block_header_decoder.c | 2 +- 8498 src/liblzma/common/block_header_encoder.c | 2 +- 8499 src/liblzma/common/memcmplen.h | 9 ++--- 8500 src/liblzma/common/stream_flags_decoder.c | 6 +-- 8501 src/liblzma/common/stream_flags_encoder.c | 8 ++-- 8502 src/liblzma/lz/lz_encoder_hash.h | 2 +- 8503 src/liblzma/lzma/lzma_decoder.c | 2 +- 8504 src/liblzma/lzma/lzma_encoder.c | 2 +- 8505 src/liblzma/lzma/lzma_encoder_private.h | 3 +- 8506 src/liblzma/simple/simple_decoder.c | 2 +- 8507 src/liblzma/simple/simple_encoder.c | 2 +- 8508 tests/test_block_header.c | 4 +- 8509 tests/test_stream_flags.c | 6 +-- 8510 15 files changed, 54 insertions(+), 62 deletions(-) 8511 8512commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241 8513Author: Lasse Collin <lasse.collin@tukaani.org> 8514Date: 2019-12-31 00:29:48 +0200 8515 8516 Rename read32ne to aligned_read32ne, and similarly for the others. 8517 8518 Using the aligned methods requires more care to ensure that 8519 the address really is aligned, so it's nicer if the aligned 8520 methods are prefixed. The next commit will remove the unaligned_ 8521 prefix from the unaligned methods which in liblzma are used in 8522 more places than the aligned ones. 8523 8524 src/common/tuklib_integer.h | 56 +++++++++++++++++++++--------------------- 8525 src/liblzma/check/crc32_fast.c | 4 +-- 8526 src/liblzma/check/crc64_fast.c | 4 +-- 8527 3 files changed, 32 insertions(+), 32 deletions(-) 8528 8529commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516 8530Author: Lasse Collin <lasse.collin@tukaani.org> 8531Date: 2019-12-31 00:18:24 +0200 8532 8533 Revise tuklib_integer.h and .m4. 8534 8535 Add a configure option --enable-unsafe-type-punning to get the 8536 old non-conforming memory access methods. It can be useful with 8537 old compilers or in some other less typical situations but 8538 shouldn't normally be used. 8539 8540 Omit the packed struct trick for unaligned access. While it's 8541 best in some cases, this is simpler. If the memcpy trick doesn't 8542 work, one can request unsafe type punning from configure. 8543 8544 Because CRC32/CRC64 code needs fast aligned reads, if no very 8545 safe way to do it is found, type punning is used as a fallback. 8546 This sucks but since it currently works in practice, it seems to 8547 be the least bad option. It's never needed with GCC >= 4.7 or 8548 Clang >= 3.6 since these support __builtin_assume_aligned and 8549 thus fast aligned access can be done with the memcpy trick. 8550 8551 Other things: 8552 - Support GCC/Clang __builtin_bswapXX 8553 - Cleaner bswap fallback macros 8554 - Minor cleanups 8555 8556 m4/tuklib_integer.m4 | 46 ++++- 8557 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++-------------------- 8558 2 files changed, 316 insertions(+), 218 deletions(-) 8559 8560commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088 8561Author: Lasse Collin <lasse.collin@tukaani.org> 8562Date: 2019-12-29 22:51:58 +0200 8563 8564 Tests: Hopefully fix test_check.c to work on EBCDIC systems. 8565 8566 Thanks to Daniel Richard G. 8567 8568 tests/test_check.c | 9 +++++++-- 8569 1 file changed, 7 insertions(+), 2 deletions(-) 8570 8571commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c 8572Author: Lasse Collin <lasse.collin@tukaani.org> 8573Date: 2019-09-24 23:02:40 +0300 8574 8575 Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris. 8576 8577 This adds a configure option --enable-path-for-scripts=PREFIX 8578 which defaults to empty except on Solaris it is /usr/xpg4/bin 8579 to make POSIX grep and others available. The Solaris case had 8580 been documented in INSTALL with a manual fix but it's better 8581 to do this automatically since it is needed on most Solaris 8582 systems anyway. 8583 8584 Thanks to Daniel Richard G. 8585 8586 INSTALL | 43 +++++++++++++++++++++++++++++++++++-------- 8587 configure.ac | 26 ++++++++++++++++++++++++++ 8588 src/scripts/xzdiff.in | 1 + 8589 src/scripts/xzgrep.in | 1 + 8590 src/scripts/xzless.in | 1 + 8591 src/scripts/xzmore.in | 1 + 8592 6 files changed, 65 insertions(+), 8 deletions(-) 8593 8594commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f 8595Author: Lasse Collin <lasse.collin@tukaani.org> 8596Date: 2019-07-12 18:57:43 +0300 8597 8598 Fix comment typos in tuklib_mbstr* files. 8599 8600 src/common/tuklib_mbstr.h | 2 +- 8601 src/common/tuklib_mbstr_fw.c | 2 +- 8602 src/common/tuklib_mbstr_width.c | 2 +- 8603 3 files changed, 3 insertions(+), 3 deletions(-) 8604 8605commit ac0b4212656a48ef0c187c0c941d40ac9489ae36 8606Author: Lasse Collin <lasse.collin@tukaani.org> 8607Date: 2019-07-12 18:30:46 +0300 8608 8609 Add missing include to tuklib_mbstr_width.c. 8610 8611 It didn't matter in XZ Utils because sysdefs.h 8612 includes string.h anyway. 8613 8614 src/common/tuklib_mbstr_width.c | 1 + 8615 1 file changed, 1 insertion(+) 8616 8617commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240 8618Author: Lasse Collin <lasse.collin@tukaani.org> 8619Date: 2019-07-12 18:10:57 +0300 8620 8621 Update tuklib base headers to include stdbool.h. 8622 8623 src/common/tuklib_common.h | 2 +- 8624 src/common/tuklib_config.h | 1 + 8625 2 files changed, 2 insertions(+), 1 deletion(-) 8626 8627commit de1f47b2b40e960b7bc3acba754f66dd19705921 8628Author: Lasse Collin <lasse.collin@tukaani.org> 8629Date: 2019-06-28 00:54:31 +0300 8630 8631 xz: Automatically align the strings in --info-memory. 8632 8633 This makes it easier to translate the strings. 8634 8635 Also, the string for amount of RAM was shortened. 8636 8637 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++----------- 8638 1 file changed, 34 insertions(+), 11 deletions(-) 8639 8640commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5 8641Author: Lasse Collin <lasse.collin@tukaani.org> 8642Date: 2019-06-25 23:15:21 +0300 8643 8644 liblzma: Fix a buggy comment. 8645 8646 src/liblzma/lz/lz_encoder_mf.c | 2 +- 8647 1 file changed, 1 insertion(+), 1 deletion(-) 8648 8649commit fc77929e92e869f6869bf88931066103fd75f376 8650Author: Lasse Collin <lasse.collin@tukaani.org> 8651Date: 2019-06-25 00:16:06 +0300 8652 8653 configure.ac: Fix a typo in a comment. 8654 8655 configure.ac | 2 +- 8656 1 file changed, 1 insertion(+), 1 deletion(-) 8657 8658commit e873902641794210ad7db59743f98e3e1cd6139f 8659Author: Lasse Collin <lasse.collin@tukaani.org> 8660Date: 2019-06-25 00:08:13 +0300 8661 8662 Tests: Silence warnings from clang -Wassign-enum. 8663 8664 Also changed 999 to 99 so it fits even if lzma_check happened 8665 to be 8 bits wide. 8666 8667 tests/test_block_header.c | 3 ++- 8668 tests/test_stream_flags.c | 2 +- 8669 2 files changed, 3 insertions(+), 2 deletions(-) 8670 8671commit d499e467d99efeaae688564eedc4548837c1416a 8672Author: Lasse Collin <lasse.collin@tukaani.org> 8673Date: 2019-06-24 23:52:17 +0300 8674 8675 liblzma: Add a comment. 8676 8677 src/liblzma/common/stream_encoder_mt.c | 2 +- 8678 1 file changed, 1 insertion(+), 1 deletion(-) 8679 8680commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b 8681Author: Lasse Collin <lasse.collin@tukaani.org> 8682Date: 2019-06-24 23:45:21 +0300 8683 8684 liblzma: Silence clang -Wmissing-variable-declarations. 8685 8686 src/liblzma/check/crc32_table.c | 3 +++ 8687 src/liblzma/check/crc64_table.c | 3 +++ 8688 2 files changed, 6 insertions(+) 8689 8690commit 1b4675cebf7471f7cc9b7072c950e3de97147063 8691Author: Lasse Collin <lasse.collin@tukaani.org> 8692Date: 2019-06-24 23:25:41 +0300 8693 8694 Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT. 8695 8696 LZMA_TIMED_OUT is *internally* used as a value for lzma_ret 8697 enumeration. Previously it was #defined to 32 and cast to lzma_ret. 8698 That way it wasn't visible in the public API, but this was hackish. 8699 8700 Now the public API has eight LZMA_RET_INTERNALx members and 8701 LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way 8702 the code is cleaner overall although the public API has a few 8703 extra mysterious enum members. 8704 8705 src/liblzma/api/lzma/base.h | 15 ++++++++++++++- 8706 src/liblzma/common/common.c | 4 +--- 8707 src/liblzma/common/common.h | 5 ++--- 8708 src/xz/message.c | 8 ++++++++ 8709 4 files changed, 25 insertions(+), 7 deletions(-) 8710 8711commit 159c43875eb25deea626ed651274464bae3e32ef 8712Author: Lasse Collin <lasse.collin@tukaani.org> 8713Date: 2019-06-24 22:57:43 +0300 8714 8715 xz: Silence a warning from clang -Wsign-conversion in main.c. 8716 8717 src/xz/main.c | 2 +- 8718 1 file changed, 1 insertion(+), 1 deletion(-) 8719 8720commit 466cfcd3e52f6750ce28a635997f3dd84fb18515 8721Author: Lasse Collin <lasse.collin@tukaani.org> 8722Date: 2019-06-24 22:52:20 +0300 8723 8724 xz: Make "headings" static in list.c. 8725 8726 Caught by clang -Wmissing-variable-declarations. 8727 8728 src/xz/list.c | 2 +- 8729 1 file changed, 1 insertion(+), 1 deletion(-) 8730 8731commit 608517b9b76c41fac6613dbda1193d6f41338e19 8732Author: Lasse Collin <lasse.collin@tukaani.org> 8733Date: 2019-06-24 22:47:39 +0300 8734 8735 liblzma: Remove incorrect uses of lzma_attribute((__unused__)). 8736 8737 Caught by clang -Wused-but-marked-unused. 8738 8739 src/liblzma/common/alone_decoder.c | 3 +-- 8740 src/liblzma/common/alone_encoder.c | 3 +-- 8741 src/liblzma/lz/lz_decoder.c | 3 +-- 8742 3 files changed, 3 insertions(+), 6 deletions(-) 8743 8744commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255 8745Author: Lasse Collin <lasse.collin@tukaani.org> 8746Date: 2019-06-24 20:53:55 +0300 8747 8748 Tests: Silence a warning from -Wsign-conversion. 8749 8750 tests/create_compress_files.c | 8 ++++---- 8751 1 file changed, 4 insertions(+), 4 deletions(-) 8752 8753commit 2402f7873dcae719d0ebddd23bb579074519ac52 8754Author: Lasse Collin <lasse.collin@tukaani.org> 8755Date: 2019-06-24 20:45:49 +0300 8756 8757 xz: Fix an integer overflow with 32-bit off_t. 8758 8759 Or any off_t which isn't very big (like signed 64 bit integer 8760 that most system have). A small off_t could overflow if the 8761 file being decompressed had long enough run of zero bytes, 8762 which would result in corrupt output. 8763 8764 src/xz/file_io.c | 11 +++++++++-- 8765 1 file changed, 9 insertions(+), 2 deletions(-) 8766 8767commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9 8768Author: Lasse Collin <lasse.collin@tukaani.org> 8769Date: 2019-06-24 01:24:17 +0300 8770 8771 xz: Cleanup io_seek_src() a bit. 8772 8773 lseek() returns -1 on error and checking for -1 is nicer. 8774 8775 src/xz/file_io.c | 4 +--- 8776 1 file changed, 1 insertion(+), 3 deletions(-) 8777 8778commit dfda7cf6afa486e10df035327d68753896dfb48a 8779Author: Lasse Collin <lasse.collin@tukaani.org> 8780Date: 2019-06-24 00:57:23 +0300 8781 8782 Tests: Remove a duplicate branch from tests/tests.h. 8783 8784 The duplication was introduced about eleven years ago and 8785 should have been cleaned up back then already. 8786 8787 This was caught by -Wduplicated-branches. 8788 8789 tests/tests.h | 9 ++------- 8790 1 file changed, 2 insertions(+), 7 deletions(-) 8791 8792commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866 8793Author: Lasse Collin <lasse.collin@tukaani.org> 8794Date: 2019-06-24 00:40:45 +0300 8795 8796 xz: Change io_seek_src and io_pread arguments from off_t to uint64_t. 8797 8798 This helps fixing warnings from -Wsign-conversion and makes the 8799 code look better too. 8800 8801 src/xz/file_io.c | 16 ++++++++++++---- 8802 src/xz/file_io.h | 4 ++-- 8803 src/xz/list.c | 9 ++++----- 8804 3 files changed, 18 insertions(+), 11 deletions(-) 8805 8806commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990 8807Author: Lasse Collin <lasse.collin@tukaani.org> 8808Date: 2019-06-24 00:12:38 +0300 8809 8810 xz: list.c: Fix some warnings from -Wsign-conversion. 8811 8812 src/xz/list.c | 7 ++++--- 8813 1 file changed, 4 insertions(+), 3 deletions(-) 8814 8815commit d0a78751eb54fb1572002746c533936a118e4e42 8816Author: Lasse Collin <lasse.collin@tukaani.org> 8817Date: 2019-06-23 23:22:45 +0300 8818 8819 tuklib_mbstr_width: Fix a warning from -Wsign-conversion. 8820 8821 src/common/tuklib_mbstr_width.c | 2 +- 8822 1 file changed, 1 insertion(+), 1 deletion(-) 8823 8824commit 7883d73530b4b2a701ddd7d50c35676cbc158039 8825Author: Lasse Collin <lasse.collin@tukaani.org> 8826Date: 2019-06-23 23:19:34 +0300 8827 8828 xz: Fix some of the warnings from -Wsign-conversion. 8829 8830 src/xz/args.c | 4 ++-- 8831 src/xz/coder.c | 4 ++-- 8832 src/xz/file_io.c | 5 +++-- 8833 src/xz/message.c | 4 ++-- 8834 src/xz/mytime.c | 4 ++-- 8835 src/xz/options.c | 2 +- 8836 src/xz/util.c | 4 ++-- 8837 7 files changed, 14 insertions(+), 13 deletions(-) 8838 8839commit c2b994fe3d35e9e575c28869a2f7f534f2495d05 8840Author: Lasse Collin <lasse.collin@tukaani.org> 8841Date: 2019-06-23 22:27:45 +0300 8842 8843 tuklib_cpucores: Silence warnings from -Wsign-conversion. 8844 8845 src/common/tuklib_cpucores.c | 10 +++++----- 8846 1 file changed, 5 insertions(+), 5 deletions(-) 8847 8848commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff 8849Author: Lasse Collin <lasse.collin@tukaani.org> 8850Date: 2019-06-23 21:40:47 +0300 8851 8852 xzdec: Fix warnings from -Wsign-conversion. 8853 8854 src/xzdec/xzdec.c | 2 +- 8855 1 file changed, 1 insertion(+), 1 deletion(-) 8856 8857commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf 8858Author: Lasse Collin <lasse.collin@tukaani.org> 8859Date: 2019-06-23 21:38:56 +0300 8860 8861 liblzma: Fix warnings from -Wsign-conversion. 8862 8863 Also, more parentheses were added to the literal_subcoder 8864 macro in lzma_comon.h (better style but no functional change 8865 in the current usage). 8866 8867 src/liblzma/common/block_header_decoder.c | 2 +- 8868 src/liblzma/delta/delta_decoder.c | 2 +- 8869 src/liblzma/lzma/fastpos.h | 2 +- 8870 src/liblzma/lzma/lzma2_decoder.c | 8 ++++---- 8871 src/liblzma/lzma/lzma_common.h | 3 ++- 8872 src/liblzma/lzma/lzma_decoder.c | 16 ++++++++-------- 8873 src/liblzma/simple/arm.c | 6 +++--- 8874 src/liblzma/simple/armthumb.c | 8 ++++---- 8875 src/liblzma/simple/ia64.c | 2 +- 8876 src/liblzma/simple/powerpc.c | 9 +++++---- 8877 src/liblzma/simple/x86.c | 2 +- 8878 11 files changed, 31 insertions(+), 29 deletions(-) 8879 8880commit 41838dcc26375f6aa393a63e4d81e2f4d223de07 8881Author: Lasse Collin <lasse.collin@tukaani.org> 8882Date: 2019-06-23 19:33:55 +0300 8883 8884 tuklib_integer: Silence warnings from -Wsign-conversion. 8885 8886 src/common/tuklib_integer.h | 6 +++--- 8887 1 file changed, 3 insertions(+), 3 deletions(-) 8888 8889commit 3ce05d235f736d392347a05086b8033416874b87 8890Author: Lasse Collin <lasse.collin@tukaani.org> 8891Date: 2019-06-20 19:40:30 +0300 8892 8893 tuklib_integer: Fix usage of conv macros. 8894 8895 Use a temporary variable instead of e.g. 8896 conv32le(unaligned_read32ne(buf)) because the macro can 8897 evaluate its argument multiple times. 8898 8899 src/common/tuklib_integer.h | 12 ++++++++---- 8900 1 file changed, 8 insertions(+), 4 deletions(-) 8901 8902commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f 8903Author: Lasse Collin <lasse.collin@tukaani.org> 8904Date: 2019-06-03 20:44:19 +0300 8905 8906 Update THANKS. 8907 8908 THANKS | 1 + 8909 1 file changed, 1 insertion(+) 8910 8911commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53 8912Author: Lasse Collin <lasse.collin@tukaani.org> 8913Date: 2019-06-03 20:41:54 +0300 8914 8915 liblzma: Fix comments. 8916 8917 Thanks to Bruce Stark. 8918 8919 src/liblzma/common/alone_encoder.c | 4 ++-- 8920 src/liblzma/common/block_util.c | 2 +- 8921 src/liblzma/common/common.c | 2 +- 8922 src/liblzma/common/filter_common.h | 2 +- 8923 src/liblzma/common/filter_decoder.h | 2 +- 8924 src/liblzma/common/filter_flags_encoder.c | 2 +- 8925 6 files changed, 7 insertions(+), 7 deletions(-) 8926 8927commit c460f6defebc5a81bbca90adc2476154ca244f69 8928Author: Lasse Collin <lasse.collin@tukaani.org> 8929Date: 2019-06-02 00:50:59 +0300 8930 8931 liblzma: Fix one more unaligned read to use unaligned_read16ne(). 8932 8933 src/liblzma/lz/lz_encoder_hash.h | 2 +- 8934 1 file changed, 1 insertion(+), 1 deletion(-) 8935 8936commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b 8937Author: Lasse Collin <lasse.collin@tukaani.org> 8938Date: 2019-06-01 21:41:55 +0300 8939 8940 Update THANKS. 8941 8942 THANKS | 1 + 8943 1 file changed, 1 insertion(+) 8944 8945commit 386394fc9fcde2615391f804eaa466749f96f4ef 8946Author: Lasse Collin <lasse.collin@tukaani.org> 8947Date: 2019-06-01 21:36:13 +0300 8948 8949 liblzma: memcmplen: Use ctz32() from tuklib_integer.h. 8950 8951 The same compiler-specific #ifdefs are already in tuklib_integer.h 8952 8953 src/liblzma/common/memcmplen.h | 10 +--------- 8954 1 file changed, 1 insertion(+), 9 deletions(-) 8955 8956commit 264ab971ce2994baac41b1579c9c35aba7743fc8 8957Author: Lasse Collin <lasse.collin@tukaani.org> 8958Date: 2019-06-01 21:30:03 +0300 8959 8960 tuklib_integer: Cleanup MSVC-specific code. 8961 8962 src/common/tuklib_integer.h | 20 +++++++++----------- 8963 1 file changed, 9 insertions(+), 11 deletions(-) 8964 8965commit 33773c6f2a8711d4aa6656795db52c59a28580ec 8966Author: Lasse Collin <lasse.collin@tukaani.org> 8967Date: 2019-06-01 19:01:21 +0300 8968 8969 liblzma: Use unaligned_readXXne functions instead of type punning. 8970 8971 Now gcc -fsanitize=undefined should be clean. 8972 8973 Thanks to Jeffrey Walton. 8974 8975 src/liblzma/common/memcmplen.h | 12 ++++++------ 8976 src/liblzma/lzma/lzma_encoder_private.h | 2 +- 8977 2 files changed, 7 insertions(+), 7 deletions(-) 8978 8979commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba 8980Author: Lasse Collin <lasse.collin@tukaani.org> 8981Date: 2019-06-01 18:46:54 +0300 8982 8983 tuklib_integer: Autodetect support for unaligned access on ARM. 8984 8985 The result is used as the default for --enable-unaligned-access. 8986 The test should work with GCC and Clang. 8987 8988 m4/tuklib_integer.m4 | 11 +++++++++++ 8989 1 file changed, 11 insertions(+) 8990 8991commit 3bc112c2d38d5f348bce7bc2422286b1692c7490 8992Author: Lasse Collin <lasse.collin@tukaani.org> 8993Date: 2019-06-01 18:41:16 +0300 8994 8995 tuklib_integer: Improve unaligned memory access. 8996 8997 Now memcpy() or GNU C packed structs for unaligned access instead 8998 of type punning. See the comment in this commit for details. 8999 9000 Avoiding type punning with unaligned access is needed to 9001 silence gcc -fsanitize=undefined. 9002 9003 New functions: unaliged_readXXne and unaligned_writeXXne where 9004 XX is 16, 32, or 64. 9005 9006 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++--- 9007 1 file changed, 168 insertions(+), 12 deletions(-) 9008 9009commit 2a22de439ec63da1927b640eda309296a1e8dce5 9010Author: Lasse Collin <lasse.collin@tukaani.org> 9011Date: 2019-05-13 20:05:17 +0300 9012 9013 liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior. 9014 9015 I should have always known this but I didn't. Here is an example 9016 as a reminder to myself: 9017 9018 int mycopy(void *dest, void *src, size_t n) 9019 { 9020 memcpy(dest, src, n); 9021 return dest == NULL; 9022 } 9023 9024 In the example, a compiler may assume that dest != NULL because 9025 passing NULL to memcpy() would be undefined behavior. Testing 9026 with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1. 9027 With -O2 the return value is 0 because the compiler infers that 9028 dest cannot be NULL because it was already used with memcpy() 9029 and thus the test for NULL gets optimized out. 9030 9031 In liblzma, if a null-pointer was passed to memcpy(), there were 9032 no checks for NULL *after* the memcpy() call, so I cautiously 9033 suspect that it shouldn't have caused bad behavior in practice, 9034 but it's hard to be sure, and the problematic cases had to be 9035 fixed anyway. 9036 9037 Thanks to Jeffrey Walton. 9038 9039 src/liblzma/common/common.c | 6 +++++- 9040 src/liblzma/lz/lz_decoder.c | 12 +++++++++--- 9041 src/liblzma/simple/simple_coder.c | 10 +++++++++- 9042 3 files changed, 23 insertions(+), 5 deletions(-) 9043 9044commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a 9045Author: Lasse Collin <lasse.collin@tukaani.org> 9046Date: 2019-05-11 20:56:08 +0300 9047 9048 Update THANKS. 9049 9050 THANKS | 1 + 9051 1 file changed, 1 insertion(+) 9052 9053commit 4adb8288ab61d5f14e212007b8742df0710baf73 9054Author: Lasse Collin <lasse.collin@tukaani.org> 9055Date: 2019-05-11 20:54:12 +0300 9056 9057 xz: Update xz man page date. 9058 9059 src/xz/xz.1 | 2 +- 9060 1 file changed, 1 insertion(+), 1 deletion(-) 9061 9062commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd 9063Author: Antoine Cœur <antoine.coeur@ef.com> 9064Date: 2019-05-08 13:30:57 +0800 9065 9066 spelling 9067 9068 Doxyfile.in | 2 +- 9069 NEWS | 2 +- 9070 doc/examples/11_file_info.c | 2 +- 9071 src/liblzma/api/lzma/block.h | 2 +- 9072 src/liblzma/api/lzma/hardware.h | 2 +- 9073 src/liblzma/api/lzma/lzma12.h | 2 +- 9074 src/liblzma/api/lzma/vli.h | 2 +- 9075 src/liblzma/common/file_info.c | 4 ++-- 9076 src/liblzma/common/hardware_physmem.c | 2 +- 9077 src/liblzma/common/index.c | 4 ++-- 9078 src/liblzma/common/stream_encoder_mt.c | 2 +- 9079 src/liblzma/common/vli_decoder.c | 2 +- 9080 src/liblzma/lz/lz_decoder.c | 2 +- 9081 src/scripts/xzgrep.in | 2 +- 9082 src/xz/args.c | 2 +- 9083 src/xz/coder.c | 4 ++-- 9084 src/xz/list.c | 4 ++-- 9085 src/xz/main.c | 2 +- 9086 src/xz/mytime.h | 2 +- 9087 src/xz/private.h | 2 +- 9088 src/xz/xz.1 | 2 +- 9089 windows/build.bash | 2 +- 9090 22 files changed, 26 insertions(+), 26 deletions(-) 9091 9092commit 4ed339606156bd313ed99237485cb8ed0362d64f 9093Author: Lasse Collin <lasse.collin@tukaani.org> 9094Date: 2019-05-01 18:43:10 +0300 9095 9096 xz: In xz -lvv look at the widths of the check names too. 9097 9098 Now the widths of the check names is used to adjust the width 9099 of the Check column. This way there no longer is a need to restrict 9100 the widths of the check names to be at most ten terminal-columns. 9101 9102 src/xz/list.c | 32 ++++++++++++++++++++++++++------ 9103 1 file changed, 26 insertions(+), 6 deletions(-) 9104 9105commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65 9106Author: Lasse Collin <lasse.collin@tukaani.org> 9107Date: 2019-05-01 18:33:25 +0300 9108 9109 xz: Fix xz -lvv column alignment to look at the translated strings. 9110 9111 src/xz/list.c | 4 ++-- 9112 1 file changed, 2 insertions(+), 2 deletions(-) 9113 9114commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a 9115Author: Lasse Collin <lasse.collin@tukaani.org> 9116Date: 2019-05-01 16:52:36 +0300 9117 9118 Update THANKS. 9119 9120 THANKS | 1 + 9121 1 file changed, 1 insertion(+) 9122 9123commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c 9124Author: Lasse Collin <lasse.collin@tukaani.org> 9125Date: 2019-05-01 16:43:16 +0300 9126 9127 Windows: Update VS version in windows/vs2019/config.h. 9128 9129 windows/vs2019/config.h | 2 +- 9130 1 file changed, 1 insertion(+), 1 deletion(-) 9131 9132commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51 9133Author: Julien Marrec <julien.marrec@gmail.com> 9134Date: 2019-04-25 17:44:06 +0200 9135 9136 Windows: Upgrade solution itself 9137 9138 windows/vs2019/xz_win.sln | 7 +++++-- 9139 1 file changed, 5 insertions(+), 2 deletions(-) 9140 9141commit ac31413916fa9b11bab17f0f0aa63e2869360f6f 9142Author: Julien Marrec <julien.marrec@gmail.com> 9143Date: 2019-04-25 17:40:24 +0200 9144 9145 Windows: Upgrade solution with VS2019 9146 9147 windows/vs2019/liblzma.vcxproj | 15 ++++++++------- 9148 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++------- 9149 2 files changed, 16 insertions(+), 14 deletions(-) 9150 9151commit be25a0c37ba92a20c390b4d17fe502457fe96b71 9152Author: Julien Marrec <julien.marrec@gmail.com> 9153Date: 2019-04-25 17:39:32 +0200 9154 9155 Windows: Duplicate windows/vs2017 before upgrading 9156 9157 windows/vs2019/config.h | 148 ++++++++++++++ 9158 windows/vs2019/liblzma.vcxproj | 356 ++++++++++++++++++++++++++++++++++ 9159 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++ 9160 windows/vs2019/xz_win.sln | 48 +++++ 9161 4 files changed, 937 insertions(+) 9162 9163commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad 9164Author: Lasse Collin <lasse.collin@tukaani.org> 9165Date: 2019-03-04 22:49:04 +0200 9166 9167 README: Update translation instructions. 9168 9169 XZ Utils is now part of the Translation Project 9170 <https://translationproject.org/>. 9171 9172 README | 32 +++++++++++++------------------- 9173 1 file changed, 13 insertions(+), 19 deletions(-) 9174 9175commit a750c35a7d45a16c11c1d40fecee8443c32a9996 9176Author: Lasse Collin <lasse.collin@tukaani.org> 9177Date: 2019-03-04 21:20:39 +0200 9178 9179 xz: Automatically align column headings in xz -lvv. 9180 9181 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------ 9182 1 file changed, 212 insertions(+), 51 deletions(-) 9183 9184commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77 9185Author: Lasse Collin <lasse.collin@tukaani.org> 9186Date: 2019-03-04 01:07:59 +0200 9187 9188 xz: Automatically align strings ending in a colon in --list output. 9189 9190 This should avoid alignment errors in translations with these 9191 strings. 9192 9193 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 9194 1 file changed, 102 insertions(+), 12 deletions(-) 9195 9196commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484 9197Author: Lasse Collin <lasse.collin@tukaani.org> 9198Date: 2019-01-13 17:29:23 +0200 9199 9200 Windows/VS2017: Omit WindowsTargetPlatformVersion from project files. 9201 9202 I understood that if a WTPV is specified, it's often wrong 9203 because different VS installations have different SDK version 9204 installed. Omitting the WTPV tag makes VS2017 default to 9205 Windows SDK 8.1 which often is also missing, so in any case 9206 people may need to specify the WTPV before building. But some 9207 day in the future a missing WTPV tag will start to default to 9208 the latest installed SDK which sounds reasonable: 9209 9210 https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html 9211 9212 Thanks to "dom". 9213 9214 windows/INSTALL-MSVC.txt | 4 ++++ 9215 windows/vs2017/liblzma.vcxproj | 1 - 9216 windows/vs2017/liblzma_dll.vcxproj | 1 - 9217 3 files changed, 4 insertions(+), 2 deletions(-) 9218 9219commit 4d86076332aece6314063d3712a5f364172bbb0f 9220Author: Lasse Collin <lasse.collin@tukaani.org> 9221Date: 2018-12-20 20:42:29 +0200 9222 9223 Update THANKS. 9224 9225 THANKS | 1 + 9226 1 file changed, 1 insertion(+) 9227 9228commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c 9229Author: Lasse Collin <lasse.collin@tukaani.org> 9230Date: 2018-12-14 20:34:30 +0200 9231 9232 xz: Fix a crash in progress indicator when in passthru mode. 9233 9234 "xz -dcfv not_an_xz_file" crashed (all four options are 9235 required to trigger it). It caused xz to call 9236 lzma_get_progress(&strm, ...) when no coder was initialized 9237 in strm. In this situation strm.internal is NULL which leads 9238 to a crash in lzma_get_progress(). 9239 9240 The bug was introduced when xz started using lzma_get_progress() 9241 to get progress info for multi-threaded compression, so the 9242 bug is present in versions 5.1.3alpha and higher. 9243 9244 Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for 9245 the bug report. 9246 9247 src/xz/coder.c | 11 +++++++---- 9248 src/xz/message.c | 18 ++++++++++++++++-- 9249 src/xz/message.h | 3 ++- 9250 3 files changed, 25 insertions(+), 7 deletions(-) 9251 9252commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56 9253Author: Lasse Collin <lasse.collin@tukaani.org> 9254Date: 2018-11-22 17:20:31 +0200 9255 9256 xz: Update man page timestamp. 9257 9258 src/xz/xz.1 | 2 +- 9259 1 file changed, 1 insertion(+), 1 deletion(-) 9260 9261commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad 9262Author: Pavel Raiskup <praiskup@redhat.com> 9263Date: 2018-11-22 15:14:34 +0100 9264 9265 'have have' typos 9266 9267 src/xz/signals.c | 2 +- 9268 src/xz/xz.1 | 2 +- 9269 2 files changed, 2 insertions(+), 2 deletions(-) 9270 9271commit 9eca51ef805ed8002a851df1b4995d71826c8b6e 9272Author: Lasse Collin <lasse.collin@tukaani.org> 9273Date: 2018-11-02 20:40:48 +0200 9274 9275 Update THANKS. 9276 9277 THANKS | 1 + 9278 1 file changed, 1 insertion(+) 9279 9280commit 106d1a663d4ba42b63231caa289f531548df81c1 9281Author: Lasse Collin <lasse.collin@tukaani.org> 9282Date: 2018-11-02 20:18:45 +0200 9283 9284 Tests: Add a fuzz test program and a config file for OSS-Fuzz. 9285 9286 Thanks to Bhargava Shastry and Github user pdknsk. 9287 9288 tests/Makefile.am | 1 + 9289 tests/ossfuzz/Makefile | 7 ++++ 9290 tests/ossfuzz/config/fuzz.dict | 2 + 9291 tests/ossfuzz/config/fuzz.options | 2 + 9292 tests/ossfuzz/fuzz.c | 82 +++++++++++++++++++++++++++++++++++++++ 9293 5 files changed, 94 insertions(+) 9294 9295commit a18ae42a79a19b1394b41eb3e238139fd28012ec 9296Author: Lasse Collin <lasse.collin@tukaani.org> 9297Date: 2018-10-26 22:49:10 +0300 9298 9299 liblzma: Don't verify header CRC32s if building for fuzz testing. 9300 9301 FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma 9302 is being built for fuzz testing. 9303 9304 Most fuzzed inputs would normally get rejected because of incorrect 9305 CRC32 and the actual header decoding code wouldn't get fuzzed. 9306 Disabling CRC32 checks avoids this problem. The fuzzer program 9307 must still use LZMA_IGNORE_CHECK flag to disable verification of 9308 integrity checks of uncompressed data. 9309 9310 src/liblzma/common/block_header_decoder.c | 5 ++++- 9311 src/liblzma/common/index_decoder.c | 5 ++++- 9312 src/liblzma/common/index_hash.c | 5 ++++- 9313 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++-- 9314 4 files changed, 20 insertions(+), 5 deletions(-) 9315 9316commit f76f7516d6a1c832f61810c82e92d151cc80966c 9317Author: Lasse Collin <lasse.collin@tukaani.org> 9318Date: 2018-07-27 18:10:44 +0300 9319 9320 xzless: Rename unused variables to silence static analysers. 9321 9322 In this particular case I don't see this affecting readability 9323 of the code. 9324 9325 Thanks to Pavel Raiskup. 9326 9327 src/scripts/xzless.in | 2 +- 9328 1 file changed, 1 insertion(+), 1 deletion(-) 9329 9330commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff 9331Author: Lasse Collin <lasse.collin@tukaani.org> 9332Date: 2018-07-27 16:02:58 +0300 9333 9334 liblzma: Remove an always-true condition from lzma_index_cat(). 9335 9336 This should help static analysis tools to see that newg 9337 isn't leaked. 9338 9339 Thanks to Pavel Raiskup. 9340 9341 src/liblzma/common/index.c | 4 ++-- 9342 1 file changed, 2 insertions(+), 2 deletions(-) 9343 9344commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f 9345Author: Lasse Collin <lasse.collin@tukaani.org> 9346Date: 2018-05-19 21:23:25 +0300 9347 9348 liblzma: Improve lzma_properties_decode() API documentation. 9349 9350 src/liblzma/api/lzma/filter.h | 7 ++++--- 9351 1 file changed, 4 insertions(+), 3 deletions(-) 9352 9353commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c 9354Author: Lasse Collin <lasse.collin@tukaani.org> 9355Date: 2018-04-29 18:58:19 +0300 9356 9357 Bump the version number to 5.3.1alpha. 9358 9359 src/liblzma/api/lzma/version.h | 2 +- 9360 src/liblzma/liblzma.map | 2 +- 9361 2 files changed, 2 insertions(+), 2 deletions(-) 9362 9363commit cee3021d30704858e4bdd22240e7d28e570d7451 9364Author: Lasse Collin <lasse.collin@tukaani.org> 9365Date: 2018-04-29 18:48:00 +0300 9366 9367 extra/scanlzma: Fix compiler warnings. 9368 9369 extra/scanlzma/scanlzma.c | 6 +++++- 9370 1 file changed, 5 insertions(+), 1 deletion(-) 9371 9372commit c5c7ceb08a011b97d261798033e2c39613a69eb7 9373Author: Lasse Collin <lasse.collin@tukaani.org> 9374Date: 2018-04-29 18:44:47 +0300 9375 9376 DOS: Add file_info.c to the list of files to build. 9377 9378 dos/Makefile | 1 + 9379 1 file changed, 1 insertion(+) 9380 9381commit 114cab97af766b21e0fc8620479202fb1e7a5e41 9382Author: Lasse Collin <lasse.collin@tukaani.org> 9383Date: 2018-04-29 18:33:10 +0300 9384 9385 Update NEWS for 5.3.1alpha. 9386 9387 NEWS | 11 +++++++++++ 9388 1 file changed, 11 insertions(+) 9389 9390commit b8139e11c512bbf32bf58ab0689f9bb6c52819da 9391Author: Lasse Collin <lasse.collin@tukaani.org> 9392Date: 2018-04-29 18:15:37 +0300 9393 9394 Add NEWS for 5.2.4. 9395 9396 NEWS | 27 +++++++++++++++++++++++++++ 9397 1 file changed, 27 insertions(+) 9398 9399commit 47b59d47cfd904a420fbd45629d168ca1973721d 9400Author: Lasse Collin <lasse.collin@tukaani.org> 9401Date: 2018-02-06 19:36:30 +0200 9402 9403 Update THANKS. 9404 9405 THANKS | 2 ++ 9406 1 file changed, 2 insertions(+) 9407 9408commit bc197991690ede24ab143665b5b0f0f9cb35cc46 9409Author: Ben Boeckel <mathstuf@gmail.com> 9410Date: 2018-01-29 13:58:18 -0500 9411 9412 nothrow: use noexcept for C++11 and newer 9413 9414 In C++11, the `throw()` specifier is deprecated and `noexcept` is 9415 preffered instead. 9416 9417 src/liblzma/api/lzma.h | 6 +++++- 9418 1 file changed, 5 insertions(+), 1 deletion(-) 9419 9420commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5 9421Author: Lasse Collin <lasse.collin@tukaani.org> 9422Date: 2018-02-06 18:02:48 +0200 9423 9424 liblzma: Remove incorrect #ifdef from range_common.h. 9425 9426 In most cases it was harmless but it could affect some 9427 custom build systems. 9428 9429 Thanks to Pippijn van Steenhoven. 9430 9431 src/liblzma/rangecoder/range_common.h | 4 +--- 9432 1 file changed, 1 insertion(+), 3 deletions(-) 9433 9434commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76 9435Author: Lasse Collin <lasse.collin@tukaani.org> 9436Date: 2018-01-10 22:10:39 +0200 9437 9438 Update THANKS. 9439 9440 THANKS | 1 + 9441 1 file changed, 1 insertion(+) 9442 9443commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1 9444Author: Lasse Collin <lasse.collin@tukaani.org> 9445Date: 2018-01-10 21:54:27 +0200 9446 9447 tuklib_integer: New Intel C compiler needs immintrin.h. 9448 9449 Thanks to Melanie Blower (Intel) for the patch. 9450 9451 src/common/tuklib_integer.h | 11 +++++++++++ 9452 1 file changed, 11 insertions(+) 9453 9454commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3 9455Author: Lasse Collin <lasse.collin@tukaani.org> 9456Date: 2017-09-24 20:04:24 +0300 9457 9458 Update THANKS. 9459 9460 THANKS | 1 + 9461 1 file changed, 1 insertion(+) 9462 9463commit a1e2c568de29c0b57d873eab40a2879b749da429 9464Author: Lasse Collin <lasse.collin@tukaani.org> 9465Date: 2017-09-16 20:36:20 +0300 9466 9467 Windows: Fix paths in VS project files. 9468 9469 Some paths use slashes instead of backslashes as directory 9470 separators... now it should work (I tested VS2013 version). 9471 9472 windows/vs2013/liblzma.vcxproj | 12 ++++++------ 9473 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------ 9474 windows/vs2017/liblzma.vcxproj | 12 ++++++------ 9475 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------ 9476 4 files changed, 36 insertions(+), 36 deletions(-) 9477 9478commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e 9479Author: Lasse Collin <lasse.collin@tukaani.org> 9480Date: 2017-09-16 12:56:20 +0300 9481 9482 Windows: Update VS2017 project files to include file info decoder. 9483 9484 windows/vs2017/liblzma.vcxproj | 2 ++ 9485 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 9486 2 files changed, 4 insertions(+) 9487 9488commit 95d563db3ee497b223e522b699c4d4c29943eef0 9489Author: Lasse Collin <lasse.collin@tukaani.org> 9490Date: 2017-09-16 12:54:23 +0300 9491 9492 Windows: Add project files for VS2017. 9493 9494 These files match the v5.2 branch (no file info decoder). 9495 9496 windows/vs2017/config.h | 148 ++++++++++++++ 9497 windows/vs2017/liblzma.vcxproj | 355 ++++++++++++++++++++++++++++++++++ 9498 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++ 9499 windows/vs2017/xz_win.sln | 48 +++++ 9500 4 files changed, 935 insertions(+) 9501 9502commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73 9503Author: Lasse Collin <lasse.collin@tukaani.org> 9504Date: 2017-09-16 12:45:50 +0300 9505 9506 Windows: Update VS2013 project files to include file info decoder. 9507 9508 windows/vs2013/liblzma.vcxproj | 2 ++ 9509 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 9510 2 files changed, 4 insertions(+) 9511 9512commit 82388980187b0e3794d187762054200bbdcc9a53 9513Author: Lasse Collin <lasse.collin@tukaani.org> 9514Date: 2017-09-16 12:39:43 +0300 9515 9516 Windows: Move VS2013 files into windows/vs2013 directory. 9517 9518 windows/{ => vs2013}/config.h | 0 9519 windows/{ => vs2013}/liblzma.vcxproj | 278 +++++++++++++++--------------- 9520 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++---------------- 9521 windows/{ => vs2013}/xz_win.sln | 0 9522 4 files changed, 279 insertions(+), 279 deletions(-) 9523 9524commit 94e3f986aa4e14b4ff01ac24857f499630d6d180 9525Author: Lasse Collin <lasse.collin@tukaani.org> 9526Date: 2017-08-14 20:08:33 +0300 9527 9528 Fix or hide warnings from GCC 7's -Wimplicit-fallthrough. 9529 9530 src/liblzma/lzma/lzma_decoder.c | 6 ++++++ 9531 src/xz/list.c | 2 ++ 9532 2 files changed, 8 insertions(+) 9533 9534commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8 9535Author: Alexey Tourbin <alexey.tourbin@gmail.com> 9536Date: 2017-05-16 23:56:35 +0300 9537 9538 Docs: Fix a typo in a comment in doc/examples/02_decompress.c. 9539 9540 doc/examples/02_decompress.c | 2 +- 9541 1 file changed, 1 insertion(+), 1 deletion(-) 9542 9543commit a015cd1f90116e655be4eaf4aad42c4c911c2807 9544Author: Lasse Collin <lasse.collin@tukaani.org> 9545Date: 2017-05-23 18:34:43 +0300 9546 9547 xz: Fix "xz --list --robot missing_or_bad_file.xz". 9548 9549 It ended up printing an uninitialized char-array when trying to 9550 print the check names (column 7) on the "totals" line. 9551 9552 This also changes the column 12 (minimum xz version) to 9553 50000002 (xz 5.0.0) instead of 0 when there are no valid 9554 input files. 9555 9556 Thanks to kidmin for the bug report. 9557 9558 src/xz/list.c | 8 ++++++-- 9559 1 file changed, 6 insertions(+), 2 deletions(-) 9560 9561commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd 9562Author: Lasse Collin <lasse.collin@tukaani.org> 9563Date: 2017-04-24 20:20:11 +0300 9564 9565 Docs: Add doc/examples/11_file_info.c. 9566 9567 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++ 9568 doc/examples/Makefile | 3 +- 9569 2 files changed, 208 insertions(+), 1 deletion(-) 9570 9571commit 1520f6ec808896375ac7bf778c449e0f7dea5f46 9572Author: Lasse Collin <lasse.collin@tukaani.org> 9573Date: 2017-04-24 19:48:47 +0300 9574 9575 Build: Omit pre-5.0.0 entries from the generated ChangeLog. 9576 9577 It makes ChangeLog significantly smaller. 9578 9579 Makefile.am | 3 ++- 9580 1 file changed, 2 insertions(+), 1 deletion(-) 9581 9582commit 8269782283806c90a8509c2ac2a308344f70e171 9583Author: Lasse Collin <lasse.collin@tukaani.org> 9584Date: 2017-04-24 19:48:23 +0300 9585 9586 xz: Use lzma_file_info_decoder() for --list. 9587 9588 src/xz/list.c | 254 ++++++++++------------------------------------------------ 9589 1 file changed, 44 insertions(+), 210 deletions(-) 9590 9591commit e353d0b1cc0d3997ae5048faa8e6786414953e06 9592Author: Lasse Collin <lasse.collin@tukaani.org> 9593Date: 2017-04-24 19:35:50 +0300 9594 9595 liblzma: Add lzma_file_info_decoder(). 9596 9597 src/liblzma/api/lzma/index.h | 66 ++++ 9598 src/liblzma/common/Makefile.inc | 1 + 9599 src/liblzma/common/file_info.c | 855 ++++++++++++++++++++++++++++++++++++++++ 9600 src/liblzma/liblzma.map | 7 +- 9601 4 files changed, 928 insertions(+), 1 deletion(-) 9602 9603commit 144ef9e19e9496c995b21505dd1e111c442968d1 9604Author: Lasse Collin <lasse.collin@tukaani.org> 9605Date: 2017-04-24 19:30:22 +0300 9606 9607 Update the Git repository URL to HTTPS in ChangeLog. 9608 9609 ChangeLog | 2 +- 9610 1 file changed, 1 insertion(+), 1 deletion(-) 9611 9612commit 8c9842c265993d7dd4039f732d3546267fb5ecc4 9613Author: Lasse Collin <lasse.collin@tukaani.org> 9614Date: 2017-04-21 15:05:16 +0300 9615 9616 liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos. 9617 9618 src/liblzma/api/lzma/base.h | 18 +++++++++--------- 9619 src/liblzma/common/common.c | 2 +- 9620 src/xz/message.c | 2 +- 9621 3 files changed, 11 insertions(+), 11 deletions(-) 9622 9623commit 662b27c417cab248cb365dd7682121bdec4d5ae7 9624Author: Lasse Collin <lasse.collin@tukaani.org> 9625Date: 2017-04-19 22:17:35 +0300 9626 9627 Update the home page URLs to HTTPS. 9628 9629 COPYING | 2 +- 9630 README | 2 +- 9631 configure.ac | 2 +- 9632 doc/faq.txt | 4 ++-- 9633 dos/config.h | 2 +- 9634 src/common/common_w32res.rc | 2 +- 9635 src/xz/xz.1 | 6 +++--- 9636 src/xzdec/xzdec.1 | 4 ++-- 9637 windows/README-Windows.txt | 2 +- 9638 windows/config.h | 2 +- 9639 10 files changed, 14 insertions(+), 14 deletions(-) 9640 9641commit c28f0b3d00af87b92dda229831548d8eb0067d1d 9642Author: Lasse Collin <lasse.collin@tukaani.org> 9643Date: 2017-04-05 18:47:22 +0300 9644 9645 xz: Add io_seek_src(). 9646 9647 src/xz/file_io.c | 20 +++++++++++++++++--- 9648 src/xz/file_io.h | 13 +++++++++++++ 9649 2 files changed, 30 insertions(+), 3 deletions(-) 9650 9651commit bba477257d7319c8764890f3669175b866d24944 9652Author: Lasse Collin <lasse.collin@tukaani.org> 9653Date: 2017-03-30 22:01:54 +0300 9654 9655 xz: Use POSIX_FADV_RANDOM for in "xz --list" mode. 9656 9657 xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly 9658 wrong. 9659 9660 src/xz/file_io.c | 10 ++++++++-- 9661 1 file changed, 8 insertions(+), 2 deletions(-) 9662 9663commit 310d19816d1652b0c8bb1b82574d46345d924752 9664Author: Lasse Collin <lasse.collin@tukaani.org> 9665Date: 2017-03-30 20:03:05 +0300 9666 9667 liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs. 9668 9669 This is to allow other functions to use it without going 9670 via the public API (lzma_index_decoder()). 9671 9672 src/liblzma/common/Makefile.inc | 1 + 9673 src/liblzma/common/index_decoder.c | 10 +++++----- 9674 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++ 9675 3 files changed, 30 insertions(+), 5 deletions(-) 9676 9677commit a27920002dbc469f778a134fc665b7c3ea73701b 9678Author: Lasse Collin <lasse.collin@tukaani.org> 9679Date: 2017-03-30 20:00:09 +0300 9680 9681 liblzma: Add generic support for input seeking (LZMA_SEEK). 9682 9683 Also mention LZMA_SEEK in xz/message.c to silence a warning. 9684 9685 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++- 9686 src/liblzma/common/common.c | 12 +++++++++++- 9687 src/xz/message.c | 1 + 9688 3 files changed, 42 insertions(+), 2 deletions(-) 9689 9690commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d 9691Author: Lasse Collin <lasse.collin@tukaani.org> 9692Date: 2017-03-30 19:47:45 +0300 9693 9694 liblzma: Fix lzma_memlimit_set(strm, 0). 9695 9696 The 0 got treated specially in a buggy way and as a result 9697 the function did nothing. The API doc said that 0 was supposed 9698 to return LZMA_PROG_ERROR but it didn't. 9699 9700 Now 0 is treated as if 1 had been specified. This is done because 9701 0 is already used to indicate an error from lzma_memlimit_get() 9702 and lzma_memusage(). 9703 9704 In addition, lzma_memlimit_set() no longer checks that the new 9705 limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive 9706 for the Index decoder and was actually needed only by the 9707 auto decoder. Auto decoder has now been modified to check for 9708 LZMA_MEMUSAGE_BASE. 9709 9710 src/liblzma/api/lzma/base.h | 7 ++++++- 9711 src/liblzma/common/auto_decoder.c | 3 +++ 9712 src/liblzma/common/common.c | 6 ++++-- 9713 3 files changed, 13 insertions(+), 3 deletions(-) 9714 9715commit 84462afaada61379f5878e46f8f00e25a1cdcf29 9716Author: Lasse Collin <lasse.collin@tukaani.org> 9717Date: 2017-03-30 19:16:55 +0300 9718 9719 liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder. 9720 9721 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 9722 src/liblzma/common/alone_decoder.c | 5 +---- 9723 src/liblzma/common/auto_decoder.c | 5 +---- 9724 src/liblzma/common/stream_decoder.c | 5 +---- 9725 4 files changed, 20 insertions(+), 16 deletions(-) 9726 9727commit cbc74017939690d13441b8926bb743fb03211b83 9728Author: Lasse Collin <lasse.collin@tukaani.org> 9729Date: 2017-03-30 18:58:18 +0300 9730 9731 liblzma: Fix handling of memlimit == 0 in lzma_index_decoder(). 9732 9733 It returned LZMA_PROG_ERROR, which was done to avoid zero as 9734 the limit (because it's a special value elsewhere), but using 9735 LZMA_PROG_ERROR is simply inconvenient and can cause bugs. 9736 9737 The fix/workaround is to treat 0 as if it were 1 byte. It's 9738 effectively the same thing. The only weird consequence is 9739 that then lzma_memlimit_get() will return 1 even when 0 was 9740 specified as the limit. 9741 9742 This fixes a very rare corner case in xz --list where a specific 9743 memory usage limit and a multi-stream file could print the 9744 error message "Internal error (bug)" instead of saying that 9745 the memory usage limit is too low. 9746 9747 src/liblzma/api/lzma/index.h | 18 +++++++++++------- 9748 src/liblzma/common/index_decoder.c | 4 ++-- 9749 2 files changed, 13 insertions(+), 9 deletions(-) 9750 9751commit 78ae13bced912b1b92ae927992c99cbcc463cae7 9752Author: Lasse Collin <lasse.collin@tukaani.org> 9753Date: 2016-12-30 13:25:10 +0200 9754 9755 Update NEWS for 5.2.3. 9756 9757 NEWS | 39 +++++++++++++++++++++++++++++++++++++++ 9758 1 file changed, 39 insertions(+) 9759 9760commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357 9761Author: Lasse Collin <lasse.collin@tukaani.org> 9762Date: 2016-12-26 20:55:52 +0200 9763 9764 Document --enable-sandbox configure option in INSTALL. 9765 9766 INSTALL | 23 +++++++++++++++++++++++ 9767 1 file changed, 23 insertions(+) 9768 9769commit d4a0462abe5478193521c14625e1c81fead87f9f 9770Author: Lasse Collin <lasse.collin@tukaani.org> 9771Date: 2016-11-21 20:24:50 +0200 9772 9773 liblzma: Avoid multiple definitions of lzma_coder structures. 9774 9775 Only one definition was visible in a translation unit. 9776 It avoided a few casts and temp variables but seems that 9777 this hack doesn't work with link-time optimizations in compilers 9778 as it's not C99/C11 compliant. 9779 9780 Fixes: 9781 http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html 9782 9783 src/liblzma/common/alone_decoder.c | 44 +++++---- 9784 src/liblzma/common/alone_encoder.c | 34 ++++--- 9785 src/liblzma/common/auto_decoder.c | 35 ++++--- 9786 src/liblzma/common/block_decoder.c | 41 ++++---- 9787 src/liblzma/common/block_encoder.c | 40 ++++---- 9788 src/liblzma/common/common.h | 18 ++-- 9789 src/liblzma/common/index_decoder.c | 33 ++++--- 9790 src/liblzma/common/index_encoder.c | 16 ++-- 9791 src/liblzma/common/stream_decoder.c | 50 +++++----- 9792 src/liblzma/common/stream_encoder.c | 56 ++++++----- 9793 src/liblzma/common/stream_encoder_mt.c | 124 ++++++++++++++----------- 9794 src/liblzma/delta/delta_common.c | 25 ++--- 9795 src/liblzma/delta/delta_decoder.c | 6 +- 9796 src/liblzma/delta/delta_encoder.c | 12 ++- 9797 src/liblzma/delta/delta_private.h | 4 +- 9798 src/liblzma/lz/lz_decoder.c | 60 ++++++------ 9799 src/liblzma/lz/lz_decoder.h | 13 ++- 9800 src/liblzma/lz/lz_encoder.c | 57 +++++++----- 9801 src/liblzma/lz/lz_encoder.h | 9 +- 9802 src/liblzma/lzma/lzma2_decoder.c | 32 ++++--- 9803 src/liblzma/lzma/lzma2_encoder.c | 51 +++++----- 9804 src/liblzma/lzma/lzma_decoder.c | 27 +++--- 9805 src/liblzma/lzma/lzma_encoder.c | 29 +++--- 9806 src/liblzma/lzma/lzma_encoder.h | 9 +- 9807 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 +- 9808 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 23 ++--- 9809 src/liblzma/lzma/lzma_encoder_private.h | 6 +- 9810 src/liblzma/simple/arm.c | 2 +- 9811 src/liblzma/simple/armthumb.c | 2 +- 9812 src/liblzma/simple/ia64.c | 2 +- 9813 src/liblzma/simple/powerpc.c | 2 +- 9814 src/liblzma/simple/simple_coder.c | 61 ++++++------ 9815 src/liblzma/simple/simple_private.h | 12 +-- 9816 src/liblzma/simple/sparc.c | 2 +- 9817 src/liblzma/simple/x86.c | 15 +-- 9818 35 files changed, 532 insertions(+), 423 deletions(-) 9819 9820commit a01794c52add98263b49119842c3e7141d1b9ced 9821Author: Lasse Collin <lasse.collin@tukaani.org> 9822Date: 2016-10-24 18:53:25 +0300 9823 9824 Update THANKS. 9825 9826 THANKS | 1 + 9827 1 file changed, 1 insertion(+) 9828 9829commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d 9830Author: Lasse Collin <lasse.collin@tukaani.org> 9831Date: 2016-10-24 18:51:36 +0300 9832 9833 tuklib_cpucores: Add support for sched_getaffinity(). 9834 9835 It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better 9836 than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity() 9837 gives the number of cores available to the process instead of 9838 the total number of cores online. 9839 9840 As a side effect, this commit fixes a bug on GNU/kFreeBSD where 9841 configure would detect the FreeBSD-specific cpuset_getaffinity() 9842 but it wouldn't actually work because on GNU/kFreeBSD it requires 9843 using -lfreebsd-glue when linking. Now the glibc-specific function 9844 will be used instead. 9845 9846 Thanks to Sebastian Andrzej Siewior for the original patch 9847 and testing. 9848 9849 m4/tuklib_cpucores.m4 | 30 +++++++++++++++++++++++++++++- 9850 src/common/tuklib_cpucores.c | 9 +++++++++ 9851 2 files changed, 38 insertions(+), 1 deletion(-) 9852 9853commit 446e4318fa79788e09299d5953b5dd428953d14b 9854Author: Lasse Collin <lasse.collin@tukaani.org> 9855Date: 2016-06-30 20:27:36 +0300 9856 9857 xz: Fix copying of timestamps on Windows. 9858 9859 xz used to call utime() on Windows, but its result gets lost 9860 on close(). Using _futime() seems to work. 9861 9862 Thanks to Martok for reporting the bug: 9863 http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html 9864 9865 configure.ac | 2 +- 9866 src/xz/file_io.c | 18 ++++++++++++++++++ 9867 2 files changed, 19 insertions(+), 1 deletion(-) 9868 9869commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd 9870Author: Lasse Collin <lasse.collin@tukaani.org> 9871Date: 2016-06-16 22:46:02 +0300 9872 9873 xz: Silence warnings from -Wlogical-op. 9874 9875 Thanks to Evan Nemerson. 9876 9877 src/xz/file_io.c | 12 ++++++++++-- 9878 1 file changed, 10 insertions(+), 2 deletions(-) 9879 9880commit c83b7a03342c3325ff10400b22ee21edfcd1e026 9881Author: Lasse Collin <lasse.collin@tukaani.org> 9882Date: 2016-04-10 20:55:49 +0300 9883 9884 Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am. 9885 9886 Thanks to Christian Kujau. 9887 9888 src/xz/Makefile.am | 2 +- 9889 1 file changed, 1 insertion(+), 1 deletion(-) 9890 9891commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e 9892Author: Lasse Collin <lasse.collin@tukaani.org> 9893Date: 2016-04-10 20:54:17 +0300 9894 9895 Build: Bump GNU Gettext version requirement to 0.19. 9896 9897 It silences a few warnings and most people probably have 9898 0.19 even on stable distributions. 9899 9900 Thanks to Christian Kujau. 9901 9902 configure.ac | 2 +- 9903 1 file changed, 1 insertion(+), 1 deletion(-) 9904 9905commit ac398c3bafa6e4c80e20571373a96947db863b3d 9906Author: Lasse Collin <lasse.collin@tukaani.org> 9907Date: 2016-03-13 20:21:49 +0200 9908 9909 liblzma: Disable external SHA-256 by default. 9910 9911 This is the sane thing to do. The conflict with OpenSSL 9912 on some OSes and especially that the OS-provided versions 9913 can be significantly slower makes it clear that it was 9914 a mistake to have the external SHA-256 support enabled by 9915 default. 9916 9917 Those who want it can now pass --enable-external-sha256 to 9918 configure. INSTALL was updated with notes about OSes where 9919 this can be a bad idea. 9920 9921 The SHA-256 detection code in configure.ac had some bugs that 9922 could lead to a build failure in some situations. These were 9923 fixed, although it doesn't matter that much now that the 9924 external SHA-256 is disabled by default. 9925 9926 MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init 9927 in libc instead of libutil. Support for the libutil version 9928 was removed. 9929 9930 INSTALL | 36 ++++++++++++++++++++++ 9931 configure.ac | 76 +++++++++++++++++++++++------------------------ 9932 src/liblzma/check/check.h | 16 ++++------ 9933 3 files changed, 79 insertions(+), 49 deletions(-) 9934 9935commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5 9936Author: Lasse Collin <lasse.collin@tukaani.org> 9937Date: 2016-03-10 20:27:05 +0200 9938 9939 Update THANKS. 9940 9941 THANKS | 1 + 9942 1 file changed, 1 insertion(+) 9943 9944commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9 9945Author: Lasse Collin <lasse.collin@tukaani.org> 9946Date: 2016-03-10 20:26:49 +0200 9947 9948 Build: Avoid SHA256_Init on FreeBSD and MINIX 3. 9949 9950 On FreeBSD 10 and older, SHA256_Init from libmd conflicts 9951 with libcrypto from OpenSSL. The OpenSSL version has 9952 different sizeof(SHA256_CTX) and it can cause weird 9953 problems if wrong SHA256_Init gets used. 9954 9955 Looking at the source, MINIX 3 seems to have a similar issue but 9956 I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too. 9957 9958 NetBSD has SHA256_Init in libc and they had a similar problem, 9959 but they already fixed it in 2009. 9960 9961 Thanks to Jim Wilcoxson for the bug report that helped 9962 in finding the problem. 9963 9964 configure.ac | 27 +++++++++++++++++++++------ 9965 1 file changed, 21 insertions(+), 6 deletions(-) 9966 9967commit faf302137e54d605b44ecf0373cb51a6403a2de1 9968Author: Lasse Collin <lasse.collin@tukaani.org> 9969Date: 2015-11-08 20:16:10 +0200 9970 9971 tuklib_physmem: Hopefully silence a warning on Windows. 9972 9973 src/common/tuklib_physmem.c | 3 ++- 9974 1 file changed, 2 insertions(+), 1 deletion(-) 9975 9976commit e52e9151cf8613022d1de4712ff39dbcb666e991 9977Author: Lasse Collin <lasse.collin@tukaani.org> 9978Date: 2015-11-04 23:17:43 +0200 9979 9980 Update THANKS. 9981 9982 THANKS | 1 + 9983 1 file changed, 1 insertion(+) 9984 9985commit 14115f84a38161d55eaa2d070f08739bde37e966 9986Author: Lasse Collin <lasse.collin@tukaani.org> 9987Date: 2015-11-04 23:14:00 +0200 9988 9989 liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma. 9990 9991 When optimizing, GCC can reorder code so that an uninitialized 9992 value gets used in a comparison, which makes Valgrind unhappy. 9993 It doesn't happen when compiled with -O0, which I tend to use 9994 when running Valgrind. 9995 9996 Thanks to Rich Prohaska. I remember this being mentioned long 9997 ago by someone else but nothing was done back then. 9998 9999 src/liblzma/lz/lz_encoder.c | 4 ++++ 10000 1 file changed, 4 insertions(+) 10001 10002commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e 10003Author: Lasse Collin <lasse.collin@tukaani.org> 10004Date: 2015-11-03 20:55:45 +0200 10005 10006 liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c. 10007 10008 It would be too annoying to update other build systems 10009 just because of this. 10010 10011 src/liblzma/lzma/Makefile.inc | 2 +- 10012 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +- 10013 2 files changed, 2 insertions(+), 2 deletions(-) 10014 10015commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b 10016Author: Lasse Collin <lasse.collin@tukaani.org> 10017Date: 2015-11-03 20:47:07 +0200 10018 10019 Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built. 10020 10021 They all need decoder support and if that isn't available, 10022 there's no point trying to build them. 10023 10024 configure.ac | 3 +++ 10025 1 file changed, 3 insertions(+) 10026 10027commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a 10028Author: Lasse Collin <lasse.collin@tukaani.org> 10029Date: 2015-11-03 20:35:19 +0200 10030 10031 Build: Simplify $enable_{encoders,decoders} usage a bit. 10032 10033 configure.ac | 6 ++++-- 10034 1 file changed, 4 insertions(+), 2 deletions(-) 10035 10036commit af13781886c8e7a0aabebb5141ea282dc364f5c6 10037Author: Lasse Collin <lasse.collin@tukaani.org> 10038Date: 2015-11-03 20:31:31 +0200 10039 10040 Windows/MSVC: Update config.h. 10041 10042 windows/config.h | 6 ++++++ 10043 1 file changed, 6 insertions(+) 10044 10045commit 9fa5949330f162c5a2f6653f83025327837e8f39 10046Author: Lasse Collin <lasse.collin@tukaani.org> 10047Date: 2015-11-03 20:29:58 +0200 10048 10049 DOS: Update config.h. 10050 10051 dos/config.h | 6 ++++++ 10052 1 file changed, 6 insertions(+) 10053 10054commit cb3111e3ed84152912b5138d690c8d9f00c6ef02 10055Author: Lasse Collin <lasse.collin@tukaani.org> 10056Date: 2015-11-03 20:29:33 +0200 10057 10058 xz: Make xz buildable even when encoders or decoders are disabled. 10059 10060 The patch is quite long but it's mostly about adding new #ifdefs 10061 to omit code when encoders or decoders have been disabled. 10062 10063 This adds two new #defines to config.h: HAVE_ENCODERS and 10064 HAVE_DECODERS. 10065 10066 configure.ac | 4 ++++ 10067 src/xz/Makefile.am | 8 ++++++-- 10068 src/xz/args.c | 16 ++++++++++++++++ 10069 src/xz/coder.c | 33 +++++++++++++++++++++++++-------- 10070 src/xz/main.c | 9 +++++++-- 10071 src/xz/private.h | 5 ++++- 10072 6 files changed, 62 insertions(+), 13 deletions(-) 10073 10074commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab 10075Author: Lasse Collin <lasse.collin@tukaani.org> 10076Date: 2015-11-03 18:06:40 +0200 10077 10078 Build: Build LZMA1/2 presets also when only decoder is wanted. 10079 10080 People shouldn't rely on the presets when decoding raw streams, 10081 but xz uses the presets as the starting point for raw decoder 10082 options anyway. 10083 10084 lzma_encocder_presets.c was renamed to lzma_presets.c to 10085 make it clear it's not used solely by the encoder code. 10086 10087 src/liblzma/lzma/Makefile.inc | 6 +++++- 10088 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++- 10089 2 files changed, 7 insertions(+), 2 deletions(-) 10090 10091commit 23ed1d41489f632155bbc9660f323d57e09da180 10092Author: Lasse Collin <lasse.collin@tukaani.org> 10093Date: 2015-11-03 17:54:48 +0200 10094 10095 Build: Fix configure to handle LZMA1 dependency with LZMA2. 10096 10097 Now it gives an error if LZMA1 encoder/decoder is missing 10098 when LZMA2 encoder/decoder was requested. Even better would 10099 be LZMA2 implicitly enabling LZMA1 but it would need more code. 10100 10101 configure.ac | 5 ----- 10102 1 file changed, 5 deletions(-) 10103 10104commit b0bc3e03852af13419ea2960881824258d451117 10105Author: Lasse Collin <lasse.collin@tukaani.org> 10106Date: 2015-11-03 17:41:54 +0200 10107 10108 Build: Don't omit lzma_cputhreads() unless using --disable-threads. 10109 10110 Previously it was omitted if encoders were disabled 10111 with --disable-encoders. It didn't make sense and 10112 it also broke the build. 10113 10114 src/liblzma/common/Makefile.inc | 5 ++++- 10115 1 file changed, 4 insertions(+), 1 deletion(-) 10116 10117commit c6bf438ab39e0fb4a47d3c81725c227919502726 10118Author: Lasse Collin <lasse.collin@tukaani.org> 10119Date: 2015-11-02 18:16:51 +0200 10120 10121 liblzma: Fix a build failure related to external SHA-256 support. 10122 10123 If an appropriate header and structure were found by configure, 10124 but a library with a usable SHA-256 functions wasn't, the build 10125 failed. 10126 10127 src/liblzma/check/check.h | 32 +++++++++++++++++++++++--------- 10128 1 file changed, 23 insertions(+), 9 deletions(-) 10129 10130commit e18adc56f2262aa9394d46681e9e4b9981ed5e97 10131Author: Lasse Collin <lasse.collin@tukaani.org> 10132Date: 2015-11-02 15:19:10 +0200 10133 10134 xz: Always close the file before trying to delete it. 10135 10136 unlink() can return EBUSY in errno for open files on some 10137 operating systems and file systems. 10138 10139 src/xz/file_io.c | 25 ++++++++++++------------- 10140 1 file changed, 12 insertions(+), 13 deletions(-) 10141 10142commit 282e768a1484e88c8b7ec35655ee4959954ec87a 10143Author: Lasse Collin <lasse.collin@tukaani.org> 10144Date: 2015-10-12 21:08:42 +0300 10145 10146 Update THANKS. 10147 10148 THANKS | 1 + 10149 1 file changed, 1 insertion(+) 10150 10151commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0 10152Author: Lasse Collin <lasse.collin@tukaani.org> 10153Date: 2015-10-12 21:07:41 +0300 10154 10155 Tests: Add tests for the two bugs fixed in index.c. 10156 10157 tests/test_index.c | 30 ++++++++++++++++++++++++++++++ 10158 1 file changed, 30 insertions(+) 10159 10160commit 21515d79d778b8730a434f151b07202d52a04611 10161Author: Lasse Collin <lasse.collin@tukaani.org> 10162Date: 2015-10-12 20:45:15 +0300 10163 10164 liblzma: Fix lzma_index_dup() for empty Streams. 10165 10166 Stream Flags and Stream Padding weren't copied from 10167 empty Streams. 10168 10169 src/liblzma/common/index.c | 11 ++++++----- 10170 1 file changed, 6 insertions(+), 5 deletions(-) 10171 10172commit 09f395b6b360c0b13e8559eece1d179b908ebd3a 10173Author: Lasse Collin <lasse.collin@tukaani.org> 10174Date: 2015-10-12 20:31:44 +0300 10175 10176 liblzma: Add a note to index.c for those using static analyzers. 10177 10178 src/liblzma/common/index.c | 3 +++ 10179 1 file changed, 3 insertions(+) 10180 10181commit 3bf857edfef51374f6f3fffae3d817f57d3264a0 10182Author: Lasse Collin <lasse.collin@tukaani.org> 10183Date: 2015-10-12 20:29:09 +0300 10184 10185 liblzma: Fix a memory leak in error path of lzma_index_dup(). 10186 10187 lzma_index_dup() calls index_dup_stream() which, in case of 10188 an error, calls index_stream_end() to free memory allocated 10189 by index_stream_init(). However, it illogically didn't 10190 actually free the memory. To make it logical, the tree 10191 handling code was modified a bit in addition to changing 10192 index_stream_end(). 10193 10194 Thanks to Evan Nemerson for the bug report. 10195 10196 src/liblzma/common/index.c | 18 +++++++++--------- 10197 1 file changed, 9 insertions(+), 9 deletions(-) 10198 10199commit 7f05803979b4b79642d5be4218a79da7a0b12c47 10200Author: Lasse Collin <lasse.collin@tukaani.org> 10201Date: 2015-09-29 13:57:28 +0300 10202 10203 Update NEWS for 5.2.2. 10204 10205 NEWS | 18 ++++++++++++++++++ 10206 1 file changed, 18 insertions(+) 10207 10208commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1 10209Author: Hauke Henningsen <sqrt@entless.org> 10210Date: 2015-08-17 04:59:54 +0200 10211 10212 Update German translation, mostly wrt orthography 10213 10214 Provide an update of the German translation. 10215 * A lot of compound words were previously written with spaces, while 10216 German orthography is relatively clear in that the components 10217 should not be separated. 10218 * When referring to the actual process of (de)compression rather than the 10219 concept, replace “(De-)Kompression” with “(De-)Komprimierung”. 10220 Previously, both forms were used in this context and are now used in a 10221 manner consistent with “Komprimierung” being more likely to refer to 10222 a process. 10223 * Consistently translate “standard input”/“output” 10224 * Use “Zeichen” instead of false friend “Charakter” for “character” 10225 * Insert commas around relative clauses (as required in German) 10226 * Some other minor corrections 10227 * Capitalize “ß” as “ẞ” 10228 * Consistently start option descriptions in --help with capital letters 10229 10230 Acked-By: Andre Noll <maan@tuebingen.mpg.de> 10231 10232 * Update after msgmerge 10233 10234 po/de.po | 383 ++++++++++++++++++++++++++++++++------------------------------- 10235 1 file changed, 196 insertions(+), 187 deletions(-) 10236 10237commit cbc9e39bae715accb44168930a71888480aad569 10238Author: Lasse Collin <lasse.collin@tukaani.org> 10239Date: 2015-08-11 13:23:04 +0300 10240 10241 Build: Minor Cygwin cleanup. 10242 10243 Some tests used "cygwin*" and some used "cygwin". I changed 10244 them all to use "cygwin". Shouldn't affect anything in practice. 10245 10246 configure.ac | 6 +++--- 10247 1 file changed, 3 insertions(+), 3 deletions(-) 10248 10249commit bcacd8ce7a031566858e5e03c1009064c3f1c89e 10250Author: Lasse Collin <lasse.collin@tukaani.org> 10251Date: 2015-08-11 13:21:52 +0300 10252 10253 Build: Support building of MSYS2 binaries. 10254 10255 configure.ac | 16 +++++++++++----- 10256 1 file changed, 11 insertions(+), 5 deletions(-) 10257 10258commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c 10259Author: Lasse Collin <lasse.collin@tukaani.org> 10260Date: 2015-08-09 21:06:26 +0300 10261 10262 Windows: Define DLL_EXPORT when building liblzma.dll with MSVC. 10263 10264 src/liblzma/common/common.h uses it to set __declspec(dllexport) 10265 for the API symbols. 10266 10267 Thanks to Adam Walling. 10268 10269 windows/liblzma_dll.vcxproj | 12 ++++++------ 10270 1 file changed, 6 insertions(+), 6 deletions(-) 10271 10272commit a74525cf9b945fb0b370e64cf406104beb31729b 10273Author: Lasse Collin <lasse.collin@tukaani.org> 10274Date: 2015-08-09 21:02:20 +0300 10275 10276 Windows: Omit unneeded header files from MSVC project files. 10277 10278 windows/liblzma.vcxproj | 5 ----- 10279 windows/liblzma_dll.vcxproj | 5 ----- 10280 2 files changed, 10 deletions(-) 10281 10282commit fbbb295a91caf39faf8838c8c39526e4cb4dc121 10283Author: Lasse Collin <lasse.collin@tukaani.org> 10284Date: 2015-07-12 20:48:19 +0300 10285 10286 liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer. 10287 10288 src/liblzma/api/lzma.h | 18 +++++++++++++----- 10289 1 file changed, 13 insertions(+), 5 deletions(-) 10290 10291commit 713dbe5c230fe00865a54f5c32358ea30f9a1156 10292Author: Lasse Collin <lasse.collin@tukaani.org> 10293Date: 2015-06-19 20:38:55 +0300 10294 10295 Update THANKS. 10296 10297 THANKS | 2 ++ 10298 1 file changed, 2 insertions(+) 10299 10300commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1 10301Author: Lasse Collin <lasse.collin@tukaani.org> 10302Date: 2015-06-19 20:21:30 +0300 10303 10304 Windows: Update the docs. 10305 10306 INSTALL | 29 ++++++++----- 10307 windows/INSTALL-MSVC.txt | 47 ++++++++++++++++++++++ 10308 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} | 2 +- 10309 3 files changed, 67 insertions(+), 11 deletions(-) 10310 10311commit b0798c6aa6184efcefd0bdcca20f96121a13feda 10312Author: Lasse Collin <lasse.collin@tukaani.org> 10313Date: 2015-06-19 17:25:31 +0300 10314 10315 Windows: Add MSVC project files for building liblzma. 10316 10317 Thanks to Adam Walling for creating these files. 10318 10319 windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++ 10320 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++ 10321 windows/xz_win.sln | 48 ++++++ 10322 3 files changed, 795 insertions(+) 10323 10324commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7 10325Author: Andre Noll <maan@tuebingen.mpg.de> 10326Date: 2015-05-28 15:50:00 +0200 10327 10328 Fix typo in German translation. 10329 10330 As pointed out by Robert Pollak, there's a typo in the German 10331 translation of the compression preset option (-0 ... -9) help text. 10332 "The compressor" translates to "der Komprimierer", and the genitive 10333 form is "des Komprimierers". The old word makes no sense at all. 10334 10335 po/de.po | 2 +- 10336 1 file changed, 1 insertion(+), 1 deletion(-) 10337 10338commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72 10339Author: Lasse Collin <lasse.collin@tukaani.org> 10340Date: 2015-05-13 20:57:55 +0300 10341 10342 Tests: Fix a memory leak in test_bcj_exact_size. 10343 10344 Thanks to Cristian Rodríguez. 10345 10346 tests/test_bcj_exact_size.c | 1 + 10347 1 file changed, 1 insertion(+) 10348 10349commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8 10350Author: Lasse Collin <lasse.collin@tukaani.org> 10351Date: 2015-05-12 18:08:24 +0300 10352 10353 Fix NEWS about threading in 5.2.0. 10354 10355 Thanks to Andy Hochhaus. 10356 10357 NEWS | 3 ++- 10358 1 file changed, 2 insertions(+), 1 deletion(-) 10359 10360commit 49c26920d6e2d85e5c6123e34958aed2e77485ad 10361Author: Lasse Collin <lasse.collin@tukaani.org> 10362Date: 2015-05-11 21:26:16 +0300 10363 10364 xz: Document that threaded decompression hasn't been implemented yet. 10365 10366 src/xz/xz.1 | 10 +++++++++- 10367 1 file changed, 9 insertions(+), 1 deletion(-) 10368 10369commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256 10370Author: Lasse Collin <lasse.collin@tukaani.org> 10371Date: 2015-04-20 20:20:29 +0300 10372 10373 Update THANKS. 10374 10375 THANKS | 1 + 10376 1 file changed, 1 insertion(+) 10377 10378commit 6bd0349c58451b13442e8f463e35de83548bf985 10379Author: Lasse Collin <lasse.collin@tukaani.org> 10380Date: 2015-04-20 19:59:18 +0300 10381 10382 Revert "xz: Use pipe2() if available." 10383 10384 This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd. 10385 It is a problem when libc has pipe2() but the kernel is too 10386 old to have pipe2() and thus pipe2() fails. In xz it's pointless 10387 to have a fallback for non-functioning pipe2(); it's better to 10388 avoid pipe2() completely. 10389 10390 Thanks to Michael Fox for the bug report. 10391 10392 configure.ac | 4 ++-- 10393 src/xz/file_io.c | 9 +-------- 10394 2 files changed, 3 insertions(+), 10 deletions(-) 10395 10396commit fc0df0f8db87dff45543708a711e17d29c37f632 10397Author: Lasse Collin <lasse.collin@tukaani.org> 10398Date: 2015-04-01 14:45:25 +0300 10399 10400 xz: Fix the Capsicum rights on user_abort_pipe. 10401 10402 src/xz/file_io.c | 6 +++++- 10403 1 file changed, 5 insertions(+), 1 deletion(-) 10404 10405commit 57393615b31b3788dd77280452d845bcc12d33af 10406Author: Lasse Collin <lasse.collin@tukaani.org> 10407Date: 2015-03-31 22:20:11 +0300 10408 10409 Update THANKS. 10410 10411 THANKS | 1 + 10412 1 file changed, 1 insertion(+) 10413 10414commit 1238381143a9a7ce84839c2582ccd56ff750a440 10415Author: Lasse Collin <lasse.collin@tukaani.org> 10416Date: 2015-03-31 22:19:34 +0300 10417 10418 xz: Add support for sandboxing with Capsicum. 10419 10420 The sandboxing is used conditionally as described in main.c. 10421 This isn't optimal but it was much easier to implement than 10422 a full sandboxing solution and it still covers the most common 10423 use cases where xz is writing to standard output. This should 10424 have practically no effect on performance even with small files 10425 as fork() isn't needed. 10426 10427 C and locale libraries can open files as needed. This has been 10428 fine in the past, but it's a problem with things like Capsicum. 10429 io_sandbox_enter() tries to ensure that various locale-related 10430 files have been loaded before cap_enter() is called, but it's 10431 possible that there are other similar problems which haven't 10432 been seen yet. 10433 10434 Currently Capsicum is available on FreeBSD 10 and later 10435 and there is a port to Linux too. 10436 10437 Thanks to Loganaden Velvindron for help. 10438 10439 configure.ac | 41 +++++++++++++++++++++++++++ 10440 src/xz/Makefile.am | 2 +- 10441 src/xz/file_io.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10442 src/xz/file_io.h | 6 ++++ 10443 src/xz/main.c | 18 ++++++++++++ 10444 src/xz/private.h | 4 +++ 10445 6 files changed, 151 insertions(+), 1 deletion(-) 10446 10447commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e 10448Author: Lasse Collin <lasse.collin@tukaani.org> 10449Date: 2015-03-31 21:12:30 +0300 10450 10451 Fix bugs and otherwise improve ax_check_capsicum.m4. 10452 10453 AU_ALIAS was removed because the new version is incompatible 10454 with the old version. 10455 10456 It no longer checks for <sys/capability.h> separately. 10457 It's enough to test for it as part of AC_CHECK_DECL. 10458 The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and 10459 HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded. 10460 HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough. 10461 10462 It no longer does a useless search for the Capsicum library 10463 if the header wasn't found. 10464 10465 Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying 10466 the argument omitted the default action but the given action 10467 wasn't used instead. 10468 10469 AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum 10470 support is found. Previously it was part of the default 10471 ACTION-IF-FOUND which a custom action would override. Now 10472 the default action only prepends ${CAPSICUM_LIB} to LIBS. 10473 10474 The documentation was updated. 10475 10476 Since there as no serial number, "#serial 2" was added. 10477 10478 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------ 10479 1 file changed, 51 insertions(+), 52 deletions(-) 10480 10481commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac 10482Author: Lasse Collin <lasse.collin@tukaani.org> 10483Date: 2015-03-31 19:20:24 +0300 10484 10485 Add m4/ax_check_capsicum.m4 for detecting Capsicum support. 10486 10487 The file was loaded from this web page: 10488 https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4 10489 10490 Thanks to Loganaden Velvindron for pointing it out for me. 10491 10492 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 10493 1 file changed, 86 insertions(+) 10494 10495commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e 10496Author: Lasse Collin <lasse.collin@tukaani.org> 10497Date: 2015-03-30 22:44:02 +0300 10498 10499 Bump version to 5.3.0alpha and soname to 5.3.99. 10500 10501 The idea of 99 is that it looks a bit weird in this context. 10502 For new features there's no API/ABI stability in devel versions. 10503 10504 src/liblzma/Makefile.am | 2 +- 10505 src/liblzma/api/lzma/version.h | 6 +++--- 10506 2 files changed, 4 insertions(+), 4 deletions(-) 10507 10508commit eccd8155e107c5ada03d13e7730675cdf1a44ddc 10509Author: Lasse Collin <lasse.collin@tukaani.org> 10510Date: 2015-03-29 22:14:47 +0300 10511 10512 Update THANKS. 10513 10514 THANKS | 1 + 10515 1 file changed, 1 insertion(+) 10516 10517commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00 10518Author: Lasse Collin <lasse.collin@tukaani.org> 10519Date: 2015-03-29 22:13:48 +0300 10520 10521 Fix the detection of installed RAM on QNX. 10522 10523 The earlier version compiled but didn't actually work 10524 since sysconf(_SC_PHYS_PAGES) always fails (or so I was told). 10525 10526 Thanks to Ole André Vadla Ravnås for the patch and testing. 10527 10528 m4/tuklib_physmem.m4 | 6 +++--- 10529 src/common/tuklib_physmem.c | 14 +++++++++++++- 10530 2 files changed, 16 insertions(+), 4 deletions(-) 10531 10532commit 4c544d2410903d38402221cb783ed85585b6a007 10533Author: Lasse Collin <lasse.collin@tukaani.org> 10534Date: 2015-03-27 22:39:07 +0200 10535 10536 Fix CPU core count detection on QNX. 10537 10538 It tried to use sysctl() on QNX but 10539 - it broke the build because sysctl() needs -lsocket on QNX; 10540 - sysctl() doesn't work for detecting the core count on QNX 10541 even if it compiled. 10542 10543 sysconf() works. An alternative would have been to use 10544 QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>. 10545 10546 Thanks to Ole André Vadla Ravnås. 10547 10548 m4/tuklib_cpucores.m4 | 15 +++++++++++---- 10549 1 file changed, 11 insertions(+), 4 deletions(-) 10550 10551commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3 10552Author: Lasse Collin <lasse.collin@tukaani.org> 10553Date: 2015-03-07 22:05:57 +0200 10554 10555 xz: size_t/uint32_t cleanup in options.c. 10556 10557 src/xz/options.c | 12 ++++++------ 10558 1 file changed, 6 insertions(+), 6 deletions(-) 10559 10560commit 8bcca29a65335fd679c13814b70b35b68fa5daed 10561Author: Lasse Collin <lasse.collin@tukaani.org> 10562Date: 2015-03-07 22:04:23 +0200 10563 10564 xz: Fix a comment and silence a warning in message.c. 10565 10566 src/xz/message.c | 5 +++-- 10567 1 file changed, 3 insertions(+), 2 deletions(-) 10568 10569commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b 10570Author: Lasse Collin <lasse.collin@tukaani.org> 10571Date: 2015-03-07 22:01:00 +0200 10572 10573 liblzma: Silence more uint32_t vs. size_t warnings. 10574 10575 src/liblzma/lz/lz_encoder.c | 2 +- 10576 src/liblzma/lzma/lzma_encoder.c | 2 +- 10577 2 files changed, 2 insertions(+), 2 deletions(-) 10578 10579commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34 10580Author: Lasse Collin <lasse.collin@tukaani.org> 10581Date: 2015-03-07 19:54:00 +0200 10582 10583 xz: Make arg_count an unsigned int to silence a warning. 10584 10585 Actually the value of arg_count cannot exceed INT_MAX 10586 but it's nicer as an unsigned int. 10587 10588 src/xz/args.h | 2 +- 10589 src/xz/main.c | 2 +- 10590 2 files changed, 2 insertions(+), 2 deletions(-) 10591 10592commit f6ec46801588b1be29c07c9db98558b521304002 10593Author: Lasse Collin <lasse.collin@tukaani.org> 10594Date: 2015-03-07 19:33:17 +0200 10595 10596 liblzma: Fix a warning in index.c. 10597 10598 src/liblzma/common/index.c | 4 +++- 10599 1 file changed, 3 insertions(+), 1 deletion(-) 10600 10601commit a24518971cc621315af142dd3bb7614fab04ad27 10602Author: Lasse Collin <lasse.collin@tukaani.org> 10603Date: 2015-02-26 20:46:14 +0200 10604 10605 Build: Fix a CR+LF problem when running autoreconf -fi on OS/2. 10606 10607 build-aux/version.sh | 2 +- 10608 1 file changed, 1 insertion(+), 1 deletion(-) 10609 10610commit dec11497a71518423b5ff0e759100cf8aadf6c7b 10611Author: Lasse Collin <lasse.collin@tukaani.org> 10612Date: 2015-02-26 16:53:44 +0200 10613 10614 Bump version and soname for 5.2.1. 10615 10616 src/liblzma/Makefile.am | 2 +- 10617 src/liblzma/api/lzma/version.h | 2 +- 10618 2 files changed, 2 insertions(+), 2 deletions(-) 10619 10620commit 29e39c79975ab89ee5dd671e97064534a9f3a649 10621Author: Lasse Collin <lasse.collin@tukaani.org> 10622Date: 2015-02-26 13:01:09 +0200 10623 10624 Update NEWS for 5.2.1. 10625 10626 NEWS | 14 ++++++++++++++ 10627 1 file changed, 14 insertions(+) 10628 10629commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd 10630Author: Lasse Collin <lasse.collin@tukaani.org> 10631Date: 2015-02-22 19:38:48 +0200 10632 10633 xz: Use pipe2() if available. 10634 10635 configure.ac | 4 ++-- 10636 src/xz/file_io.c | 9 ++++++++- 10637 2 files changed, 10 insertions(+), 3 deletions(-) 10638 10639commit 117d962685c72682c63edc9bb765367189800202 10640Author: Lasse Collin <lasse.collin@tukaani.org> 10641Date: 2015-02-21 23:40:26 +0200 10642 10643 liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode. 10644 10645 The bug was added in the commit 10646 f48fce093b07aeda95c18850f5e086d9f2383380 and thus 10647 affected 5.1.4beta and 5.2.0. Luckily the bug cannot 10648 cause data corruption or other nasty things. 10649 10650 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +- 10651 1 file changed, 1 insertion(+), 1 deletion(-) 10652 10653commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719 10654Author: Lasse Collin <lasse.collin@tukaani.org> 10655Date: 2015-02-21 23:00:19 +0200 10656 10657 xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick. 10658 10659 Now it reads the old flags instead of blindly setting O_NONBLOCK. 10660 The old code may have worked correctly, but this is better. 10661 10662 src/xz/file_io.c | 16 +++++++++++----- 10663 1 file changed, 11 insertions(+), 5 deletions(-) 10664 10665commit 2205bb5853098aea36a56df6f5747037175f66b4 10666Author: Lasse Collin <lasse.collin@tukaani.org> 10667Date: 2015-02-10 15:29:34 +0200 10668 10669 Update THANKS. 10670 10671 THANKS | 1 + 10672 1 file changed, 1 insertion(+) 10673 10674commit d935b0cdf3db440269b9d952b2b281b18f8c7b08 10675Author: Lasse Collin <lasse.collin@tukaani.org> 10676Date: 2015-02-10 15:28:30 +0200 10677 10678 tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available. 10679 10680 In FreeBSD, cpuset_getaffinity() is the preferred way to get 10681 the number of available cores. 10682 10683 Thanks to Rui Paulo for the patch. I edited it slightly, but 10684 hopefully I didn't break anything. 10685 10686 m4/tuklib_cpucores.m4 | 23 ++++++++++++++++++++++- 10687 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++ 10688 2 files changed, 40 insertions(+), 1 deletion(-) 10689 10690commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560 10691Author: Lasse Collin <lasse.collin@tukaani.org> 10692Date: 2015-02-09 22:08:37 +0200 10693 10694 xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp. 10695 10696 Thanks to Rui Paulo for the fix. 10697 10698 src/scripts/xzdiff.in | 7 ++++++- 10699 1 file changed, 6 insertions(+), 1 deletion(-) 10700 10701commit b9a5b6b7a29029680af733082b6a46e0fc01623a 10702Author: Lasse Collin <lasse.collin@tukaani.org> 10703Date: 2015-02-03 21:45:53 +0200 10704 10705 Add a few casts to tuklib_integer.h to silence possible warnings. 10706 10707 I heard that Visual Studio 2013 gave warnings without the casts. 10708 10709 Thanks to Gabi Davar. 10710 10711 src/common/tuklib_integer.h | 24 ++++++++++++------------ 10712 1 file changed, 12 insertions(+), 12 deletions(-) 10713 10714commit c45757135f40e4a0de730ba5fff0100219493982 10715Author: Lasse Collin <lasse.collin@tukaani.org> 10716Date: 2015-01-26 21:24:39 +0200 10717 10718 liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method. 10719 10720 src/liblzma/common/memcmplen.h | 15 ++++++++++----- 10721 1 file changed, 10 insertions(+), 5 deletions(-) 10722 10723commit 3c500174ed5485f550972a2a6109c361e875f069 10724Author: Lasse Collin <lasse.collin@tukaani.org> 10725Date: 2015-01-26 20:40:16 +0200 10726 10727 Update THANKS. 10728 10729 THANKS | 1 + 10730 1 file changed, 1 insertion(+) 10731 10732commit fec88d41e672d9e197c9442aecf02bd0dfa6d516 10733Author: Lasse Collin <lasse.collin@tukaani.org> 10734Date: 2015-01-26 20:39:28 +0200 10735 10736 liblzma: Silence harmless Valgrind errors. 10737 10738 Thanks to Torsten Rupp for reporting this. I had 10739 forgotten to run Valgrind before the 5.2.0 release. 10740 10741 src/liblzma/lz/lz_encoder.c | 6 ++++++ 10742 1 file changed, 6 insertions(+) 10743 10744commit a9b45badfec0928d20a27c7176c005fa637f7d1e 10745Author: Lasse Collin <lasse.collin@tukaani.org> 10746Date: 2015-01-09 21:50:19 +0200 10747 10748 xz: Fix comments. 10749 10750 src/xz/file_io.c | 12 ++++++++---- 10751 1 file changed, 8 insertions(+), 4 deletions(-) 10752 10753commit 541aee6dd4aa97a809aba281475a21b641bb89e2 10754Author: Lasse Collin <lasse.collin@tukaani.org> 10755Date: 2015-01-09 21:35:06 +0200 10756 10757 Update THANKS. 10758 10759 THANKS | 1 + 10760 1 file changed, 1 insertion(+) 10761 10762commit 4170edc914655310d2363baccf5e615e09b04911 10763Author: Lasse Collin <lasse.collin@tukaani.org> 10764Date: 2015-01-09 21:34:06 +0200 10765 10766 xz: Don't fail if stdout doesn't support O_NONBLOCK. 10767 10768 This is similar to the case with stdin. 10769 10770 Thanks to Brad Smith for the bug report and testing 10771 on OpenBSD. 10772 10773 src/xz/file_io.c | 36 +++++++++++++++--------------------- 10774 1 file changed, 15 insertions(+), 21 deletions(-) 10775 10776commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d 10777Author: Lasse Collin <lasse.collin@tukaani.org> 10778Date: 2015-01-07 19:18:20 +0200 10779 10780 xz: Fix a memory leak in DOS-specific code. 10781 10782 src/xz/file_io.c | 2 ++ 10783 1 file changed, 2 insertions(+) 10784 10785commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea 10786Author: Lasse Collin <lasse.collin@tukaani.org> 10787Date: 2015-01-07 19:08:06 +0200 10788 10789 xz: Don't fail if stdin doesn't support O_NONBLOCK. 10790 10791 It's a problem at least on OpenBSD which doesn't support 10792 O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's 10793 a problem on other OSes too since this behavior is allowed 10794 in POSIX-1.2008. 10795 10796 The code relying on this behavior was committed in June 2013 10797 and included in 5.1.3alpha released on 2013-10-26. Clearly 10798 the development releases only get limited testing. 10799 10800 src/xz/file_io.c | 18 +++++++----------- 10801 1 file changed, 7 insertions(+), 11 deletions(-) 10802 10803commit d2d484647d9d9d679f03c75abb0404f67069271c 10804Author: Lasse Collin <lasse.collin@tukaani.org> 10805Date: 2015-01-06 20:30:15 +0200 10806 10807 Tests: Don't hide unexpected error messages in test_files.sh. 10808 10809 Hiding them makes no sense since normally there's no error 10810 when testing the "good" files. With "bad" files errors are 10811 expected and then it makes sense to keep the messages hidden. 10812 10813 tests/test_files.sh | 4 ++-- 10814 1 file changed, 2 insertions(+), 2 deletions(-) 10815 10816commit aae6a6aeda51cf94a47e39ad624728f9bee75e30 10817Author: Lasse Collin <lasse.collin@tukaani.org> 10818Date: 2014-12-30 11:17:16 +0200 10819 10820 Update Solaris notes in INSTALL. 10821 10822 Mention the possible "make check" failure on Solaris in the 10823 Solaris-specific section of INSTALL. It was already in 10824 section 4.5 but it is better mention it in the OS-specific 10825 section too. 10826 10827 INSTALL | 4 ++++ 10828 1 file changed, 4 insertions(+) 10829 10830commit 7815112153178800a3521b9f31960e7cdc26cfba 10831Author: Lasse Collin <lasse.collin@tukaani.org> 10832Date: 2014-12-26 12:00:05 +0200 10833 10834 Build: POSIX shell isn't required if scripts are disabled. 10835 10836 INSTALL | 3 ++- 10837 configure.ac | 2 +- 10838 2 files changed, 3 insertions(+), 2 deletions(-) 10839 10840commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a 10841Author: Lasse Collin <lasse.collin@tukaani.org> 10842Date: 2014-12-21 20:48:37 +0200 10843 10844 DOS: Update Makefile. 10845 10846 dos/Makefile | 1 + 10847 1 file changed, 1 insertion(+) 10848 10849commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e 10850Author: Lasse Collin <lasse.collin@tukaani.org> 10851Date: 2014-12-21 19:50:38 +0200 10852 10853 Windows: Fix bin_i486 to bin_i686 in build.bash. 10854 10855 windows/build.bash | 2 +- 10856 1 file changed, 1 insertion(+), 1 deletion(-) 10857 10858commit cbafa710918195dbba3db02c3fab4f0538235206 10859Author: Lasse Collin <lasse.collin@tukaani.org> 10860Date: 2014-12-21 18:58:44 +0200 10861 10862 Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c. 10863 10864 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++---- 10865 1 file changed, 26 insertions(+), 4 deletions(-) 10866 10867commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a 10868Author: Lasse Collin <lasse.collin@tukaani.org> 10869Date: 2014-12-21 18:56:44 +0200 10870 10871 Docs: Update docs/examples/00_README.txt. 10872 10873 doc/examples/00_README.txt | 4 ++++ 10874 1 file changed, 4 insertions(+) 10875 10876commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6 10877Author: Lasse Collin <lasse.collin@tukaani.org> 10878Date: 2014-12-21 18:11:17 +0200 10879 10880 Bump version and soname for 5.2.0. 10881 10882 I know that soname != app version, but I skip AGE=1 10883 in -version-info to make the soname match the liblzma 10884 version anyway. It doesn't hurt anything as long as 10885 it doesn't conflict with library versioning rules. 10886 10887 src/liblzma/Makefile.am | 2 +- 10888 src/liblzma/api/lzma/version.h | 6 +++--- 10889 src/liblzma/liblzma.map | 2 +- 10890 3 files changed, 5 insertions(+), 5 deletions(-) 10891