1commit 18b845e69752c975dfeda418ec00eda22605c2ee 2Author: Lasse Collin <lasse.collin@tukaani.org> 3Date: 2023-01-11 18:52:54 +0200 4 5 Bump version and soname for 5.4.1. 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 4080bbb844fb36701ffb978f0c41ea2c2c9f8960 12Author: Jia Tan <jiat0218@gmail.com> 13Date: 2023-01-11 23:58:16 +0800 14 15 Add NEWS for 5.4.1. 16 17 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18 1 file changed, 70 insertions(+) 19 20commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2 21Author: Lasse Collin <lasse.collin@tukaani.org> 22Date: 2023-01-10 11:56:11 +0200 23 24 sysdefs.h: Don't include strings.h anymore. 25 26 On some platforms src/xz/suffix.c may need <strings.h> for 27 strcasecmp() but suffix.c includes the header when it needs it. 28 29 Unless there is an old system that otherwise supports enough C99 30 to build XZ Utils but doesn't have C89/C90-compatible <string.h>, 31 there should be no need to include <strings.h> in sysdefs.h. 32 33 src/common/sysdefs.h | 6 ------ 34 1 file changed, 6 deletions(-) 35 36commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6 37Author: Lasse Collin <lasse.collin@tukaani.org> 38Date: 2023-01-10 11:23:41 +0200 39 40 xz: Include <strings.h> in suffix.c if needed for strcasecmp(). 41 42 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>. 43 Of these, strcasecmp() is used on some platforms in suffix.c. 44 Nothing else in the project needs <strings.h> (at least if 45 building on a modern system). 46 47 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is 48 defined and suffix.c relied on this. 49 50 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though 51 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() 52 is also in <string.h> in DJGPP. 53 54 src/xz/suffix.c | 3 +++ 55 1 file changed, 3 insertions(+) 56 57commit aea639e81beb548e3114c74b6d9a894d6e036189 58Author: Jia Tan <jiat0218@gmail.com> 59Date: 2023-01-11 22:46:48 +0800 60 61 xz: Fix warning -Wformat-nonliteral on clang in message.c. 62 63 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will 64 allow a non-literal format string as long as the function takes its 65 format arguments as a va_list. 66 67 src/xz/message.c | 9 +++++++++ 68 1 file changed, 9 insertions(+) 69 70commit e3b42bfcb0f67988beee7c7022fed0361282be45 71Author: Jia Tan <jiat0218@gmail.com> 72Date: 2023-01-11 20:58:31 +0800 73 74 Tests: Fix test_filter_flags copy/paste error. 75 76 tests/test_filter_flags.c | 4 ++-- 77 1 file changed, 2 insertions(+), 2 deletions(-) 78 79commit 21625b7e11d004788e40eb5eb88d9d89f65fe347 80Author: Jia Tan <jiat0218@gmail.com> 81Date: 2023-01-11 20:42:29 +0800 82 83 Tests: Fix type-limits warning in test_filter_flags. 84 85 This only occurs in test_filter_flags when the BCJ filters are not 86 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a 87 type-limits warning with the loop variable since an unsigned number will 88 always be >= 0. 89 90 tests/test_filter_flags.c | 13 ++++++++++--- 91 1 file changed, 10 insertions(+), 3 deletions(-) 92 93commit c337983e928682d56ce3470b286a8d5b8646e0ad 94Author: Lasse Collin <lasse.collin@tukaani.org> 95Date: 2023-01-10 22:14:03 +0200 96 97 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. 98 99 This affects only 32-bit x86 builds. x86-64 is OK as is. 100 101 I still cannot easily test this myself. The reporter has tested 102 this and it passes the tests included in the CMake build and 103 performance is good: raw CRC64 is 2-3 times faster than the 104 C version of the slice-by-four method. (Note that liblzma doesn't 105 include a MSVC-compatible version of the 32-bit x86 assembly code 106 for the slice-by-four method.) 107 108 Thanks to Iouri Kharon for figuring out a fix, testing, and 109 benchmarking. 110 111 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ 112 1 file changed, 18 insertions(+) 113 114commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7 115Author: Jia Tan <jiat0218@gmail.com> 116Date: 2023-01-11 01:18:50 +0800 117 118 Tests: Fix unused function warning in test_block_header. 119 120 One of the global arrays of filters was only used in a test that 121 required both encoders and decoders to be configured in the build. 122 123 tests/test_block_header.c | 4 ++++ 124 1 file changed, 4 insertions(+) 125 126commit 68e9ef036d18d7c3952bff0b391d5989b86934da 127Author: Jia Tan <jiat0218@gmail.com> 128Date: 2023-01-11 01:08:03 +0800 129 130 Tests: Fix unused function warning in test_index_hash. 131 132 test_index_hash does not use fill_index_hash() unless both encoders 133 and decoders are configured in the build. 134 135 tests/test_index_hash.c | 4 +--- 136 1 file changed, 1 insertion(+), 3 deletions(-) 137 138commit a387707cd8cdefbffb5b7429bda4b7fcc192954a 139Author: Lasse Collin <lasse.collin@tukaani.org> 140Date: 2023-01-10 00:33:14 +0200 141 142 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. 143 144 windows/INSTALL-MSVC.txt | 19 ++++++++++++------- 145 1 file changed, 12 insertions(+), 7 deletions(-) 146 147commit 52902ad69518255a14b0144f0a2379e06fde5b6e 148Author: Lasse Collin <lasse.collin@tukaani.org> 149Date: 2023-01-10 12:47:16 +0200 150 151 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." 152 153 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. 154 155 It was reported that it wasn't a good enough fix and MSVC 156 still produced (different kind of) bad code when building 157 for 32-bit x86 if optimizations are enabled. 158 159 Thanks to Iouri Kharon. 160 161 src/liblzma/check/crc64_fast.c | 6 ------ 162 1 file changed, 6 deletions(-) 163 164commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496 165Author: Lasse Collin <lasse.collin@tukaani.org> 166Date: 2023-01-10 10:05:13 +0200 167 168 sysdefs.h: Fix a comment. 169 170 src/common/sysdefs.h | 2 +- 171 1 file changed, 1 insertion(+), 1 deletion(-) 172 173commit 6e89ab58b031aa046308a0b3504ff0a5be042571 174Author: Lasse Collin <lasse.collin@tukaani.org> 175Date: 2023-01-10 10:04:06 +0200 176 177 sysdefs.h: Don't include memory.h anymore even if it were available. 178 179 It quite probably was never needed, that is, any system where memory.h 180 was required likely couldn't compile XZ Utils for other reasons anyway. 181 182 XZ Utils 5.2.6 and later source packages were generated using 183 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code 184 being removed is no longer used anyway. 185 186 src/common/sysdefs.h | 8 ++------ 187 1 file changed, 2 insertions(+), 6 deletions(-) 188 189commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123 190Author: Lasse Collin <lasse.collin@tukaani.org> 191Date: 2023-01-10 08:50:26 +0200 192 193 CMake/Windows: Add a workaround for windres from GNU binutils. 194 195 This is combined from the following commits in the master branch: 196 443dfebced041adc88f10d824188eeef5b5821a9 197 6b117d3b1fe91eb26d533ab16a2e552f84148d47 198 5e34774c31d1b7509b5cb77a3be9973adec59ea0 199 200 Thanks to Iouri Kharon for the bug report, the original patch, 201 and testing. 202 203 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++- 204 1 file changed, 31 insertions(+), 1 deletion(-) 205 206commit 43521e77acc907863fa4f94aae276366172cb9ee 207Author: Lasse Collin <lasse.collin@tukaani.org> 208Date: 2023-01-06 22:53:38 +0200 209 210 Tests: test_filter_flags: Clean up minor issues. 211 212 Here are the list of the most significant issues addressed: 213 - Avoid using internal common.h header. It's not good to copy the 214 constants like this but common.h cannot be included for use outside 215 of liblzma. This is the quickest thing to do that could be fixed later. 216 217 - Omit the INIT_FILTER macro. Initialization should be done with just 218 regular designated initializers. 219 220 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter 221 Flags encoder and decoder don't validate the options thoroughly. 222 257 is valid only for the x86 filter. This is a bit silly but 223 not a significant problem in practice because the encoder and 224 decoder initialization functions will catch bad alignment still. 225 Perhaps this should be fixed but it's not urgent and doesn't need 226 to be in 5.4.x. 227 228 - Various tweaks to comments such as filter id -> Filter ID 229 230 tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- 231 1 file changed, 78 insertions(+), 75 deletions(-) 232 233commit 6b44cead95d767414272dc3a67898a36bfdf95b3 234Author: Jia Tan <jiat0218@gmail.com> 235Date: 2022-12-29 23:33:33 +0800 236 237 Tests: Refactors existing filter flags tests. 238 239 Converts the existing filter flags tests into tuktests. 240 241 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- 242 1 file changed, 457 insertions(+), 198 deletions(-) 243 244commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7 245Author: Lasse Collin <lasse.collin@tukaani.org> 246Date: 2023-01-08 00:32:29 +0200 247 248 Tests: tuktest.h: Support tuktest_malloc(0). 249 250 It's not needed in XZ Utils at least for now. It's good to support 251 it still because if such use is needed later, it wouldn't be 252 caught on GNU/Linux since malloc(0) from glibc returns non-NULL. 253 254 tests/tuktest.h | 4 ++-- 255 1 file changed, 2 insertions(+), 2 deletions(-) 256 257commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee 258Author: Lasse Collin <lasse.collin@tukaani.org> 259Date: 2023-01-07 21:57:11 +0200 260 261 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. 262 263 The changes listed on cmake-policies(7) for versions 3.17 to 3.25 264 shouldn't affect this project. 265 266 CMakeLists.txt | 2 +- 267 1 file changed, 1 insertion(+), 1 deletion(-) 268 269commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2 270Author: Lasse Collin <lasse.collin@tukaani.org> 271Date: 2023-01-08 00:24:23 +0200 272 273 Update THANKS. 274 275 THANKS | 1 + 276 1 file changed, 1 insertion(+) 277 278commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab 279Author: Lasse Collin <lasse.collin@tukaani.org> 280Date: 2023-01-07 19:50:35 +0200 281 282 Update THANKS. 283 284 THANKS | 1 + 285 1 file changed, 1 insertion(+) 286 287commit 3d45987451b1c3bb42697b29341824c0e5484cba 288Author: Lasse Collin <lasse.collin@tukaani.org> 289Date: 2023-01-09 11:27:24 +0200 290 291 CMake: Fix a copypaste error in xzdec Windows resource file handling. 292 293 It was my mistake. Thanks to Iouri Kharon for the bug report. 294 295 CMakeLists.txt | 4 ++-- 296 1 file changed, 2 insertions(+), 2 deletions(-) 297 298commit 706bce5018d7cf83094e13454a0731169ec119b5 299Author: Lasse Collin <lasse.collin@tukaani.org> 300Date: 2023-01-07 19:50:03 +0200 301 302 CMake/Windows: Add resource files to xz.exe and xzdec.exe. 303 304 The command line tools cannot be built with MSVC for now but 305 they can be built with MinGW-w64. 306 307 Thanks to Iouri Kharon for the bug report and the original patch. 308 309 CMakeLists.txt | 16 ++++++++++++++++ 310 1 file changed, 16 insertions(+) 311 312commit e96dee55df04113c33b387ccdb6cb70935422d91 313Author: Lasse Collin <lasse.collin@tukaani.org> 314Date: 2023-01-09 12:22:05 +0200 315 316 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). 317 318 I haven't tested with MSVC myself and there doesn't seem to be 319 information about the problem online, so I'm relying on the bug report. 320 321 Thanks to Iouri Kharon for the bug report and the patch. 322 323 src/liblzma/check/crc64_fast.c | 6 ++++++ 324 1 file changed, 6 insertions(+) 325 326commit 52bc1ee34dda9bb6fb40175e5952863066681b77 327Author: Lasse Collin <lasse.collin@tukaani.org> 328Date: 2023-01-07 19:31:15 +0200 329 330 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. 331 332 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets 333 disabled with VS2013. 334 335 Thanks to Iouri Kharon for the bug report. 336 337 CMakeLists.txt | 3 ++- 338 configure.ac | 8 ++++++-- 339 2 files changed, 8 insertions(+), 3 deletions(-) 340 341commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa 342Author: Jia Tan <jiat0218@gmail.com> 343Date: 2022-12-29 00:25:18 +0800 344 345 Tests: Creates test_index_hash.c 346 347 Tests all API functions exported from index_hash.h. Does not have a 348 dedicated test for lzma_index_hash_end. 349 350 [Minor edits were made by Lasse Collin.] 351 352 .gitignore | 1 + 353 CMakeLists.txt | 2 + 354 tests/Makefile.am | 3 + 355 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++ 356 4 files changed, 394 insertions(+) 357 358commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1 359Author: Jia Tan <jiat0218@gmail.com> 360Date: 2023-01-05 20:57:25 +0800 361 362 liblzma: Remove common.h include from common/index.h. 363 364 common/index.h is needed by liblzma internally and tests. common.h will 365 include and define many things that are not needed by the tests. 366 367 Also, this prevents include order problems because both common.h and 368 lzma.h define LZMA_API. On most platforms it results only in a warning 369 but on Windows it would break the build as the definition in common.h 370 must be used only for building liblzma itself. 371 372 src/liblzma/common/index.c | 1 + 373 src/liblzma/common/index.h | 9 +++++++-- 374 src/liblzma/common/index_decoder.h | 1 + 375 src/liblzma/common/stream_buffer_encoder.c | 1 + 376 4 files changed, 10 insertions(+), 2 deletions(-) 377 378commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb 379Author: Jia Tan <jiat0218@gmail.com> 380Date: 2022-08-17 20:20:16 +0800 381 382 liblzma: Add NULL check to lzma_index_hash_append. 383 384 This is for consistency with lzma_index_append. 385 386 src/liblzma/common/index_hash.c | 2 +- 387 1 file changed, 1 insertion(+), 1 deletion(-) 388 389commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc 390Author: Jia Tan <jiat0218@gmail.com> 391Date: 2022-08-17 17:59:51 +0800 392 393 liblzma: Replaced hardcoded 0x0 index indicator byte with macro 394 395 src/liblzma/common/index.h | 3 +++ 396 src/liblzma/common/index_decoder.c | 2 +- 397 src/liblzma/common/index_encoder.c | 2 +- 398 src/liblzma/common/index_hash.c | 2 +- 399 src/liblzma/common/stream_decoder.c | 3 ++- 400 src/liblzma/common/stream_decoder_mt.c | 2 +- 401 6 files changed, 9 insertions(+), 5 deletions(-) 402 403commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6 404Author: Jia Tan <jiat0218@gmail.com> 405Date: 2023-01-06 20:43:31 +0800 406 407 Style: Change #if !defined() to #ifndef in mythread.h. 408 409 src/common/mythread.h | 2 +- 410 1 file changed, 1 insertion(+), 1 deletion(-) 411 412commit 3f0130aa288e4ed57ace609517db9700a41223af 413Author: Jia Tan <jiat0218@gmail.com> 414Date: 2023-01-06 20:35:55 +0800 415 416 Build: Add missing stream_decoder_mt.c to .vcxproj files. 417 418 The line in the .vcxproj files for building with was missing in 5.4.0. 419 Thank to Hajin Jang for reporting the issue. 420 421 windows/vs2013/liblzma.vcxproj | 1 + 422 windows/vs2013/liblzma_dll.vcxproj | 1 + 423 windows/vs2017/liblzma.vcxproj | 1 + 424 windows/vs2017/liblzma_dll.vcxproj | 1 + 425 windows/vs2019/liblzma.vcxproj | 1 + 426 windows/vs2019/liblzma_dll.vcxproj | 1 + 427 6 files changed, 6 insertions(+) 428 429commit f204d1050a515d17851eed9049862ce5a9c729c1 430Author: Lasse Collin <lasse.collin@tukaani.org> 431Date: 2023-01-04 22:40:54 +0200 432 433 Update THANKS. 434 435 THANKS | 1 + 436 1 file changed, 1 insertion(+) 437 438commit 34a9c2d650d6c30bd88e1b21910dd863209aa884 439Author: Lasse Collin <lasse.collin@tukaani.org> 440Date: 2023-01-04 18:40:28 +0200 441 442 Tests: Adjust style in test_compress.sh. 443 444 tests/test_compress.sh | 12 +++++++----- 445 1 file changed, 7 insertions(+), 5 deletions(-) 446 447commit 761c208d58e0c3daa0f46e68b406adfc318d2a46 448Author: Jia Tan <jiat0218@gmail.com> 449Date: 2023-01-04 23:58:58 +0800 450 451 Tests: Replace non portable shell parameter expansion 452 453 The shell parameter expansion using # and ## is not supported in 454 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully 455 portable, so we should avoid it. 456 457 tests/create_compress_files.c | 2 +- 458 tests/test_compress.sh | 20 +++++++++++++------- 459 tests/test_compress_prepared_bcj_sparc | 2 +- 460 tests/test_compress_prepared_bcj_x86 | 2 +- 461 4 files changed, 16 insertions(+), 10 deletions(-) 462 463commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4 464Author: Jia Tan <jiat0218@gmail.com> 465Date: 2023-01-03 21:02:38 +0800 466 467 Translations: Add Korean translation of man pages. 468 469 Thanks to Seong-ho Cho 470 471 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 472 po4a/po4a.conf | 2 +- 473 2 files changed, 5553 insertions(+), 1 deletion(-) 474 475commit ca2af49bb8be5995eb0e6a3abf457622626d49a7 476Author: Jia Tan <jiat0218@gmail.com> 477Date: 2023-01-03 20:47:27 +0800 478 479 Translations: Update the Esperanto translation. 480 481 po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- 482 1 file changed, 332 insertions(+), 288 deletions(-) 483 484commit bfba3394aed03311fe9a746d3141b2e16d8b9325 485Author: Lasse Collin <lasse.collin@tukaani.org> 486Date: 2023-01-02 17:05:07 +0200 487 488 Build: Fix config.h comments. 489 490 configure.ac | 2 +- 491 m4/tuklib_progname.m4 | 2 +- 492 2 files changed, 2 insertions(+), 2 deletions(-) 493 494commit 507648ad114c2ae0cd6d181063e1ac07e8106718 495Author: Jia Tan <jiat0218@gmail.com> 496Date: 2023-01-02 22:33:48 +0800 497 498 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. 499 500 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to 501 HAVE_PROGRAM_INVOCATION_NAME. Previously, 502 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when 503 building with autotools. CMake would only set this when it was 1, and the 504 dos/config.h did not define it. The new macro definition is consistent 505 across build systems. 506 507 cmake/tuklib_progname.cmake | 5 ++--- 508 m4/tuklib_progname.m4 | 5 ++++- 509 src/common/tuklib_progname.c | 2 +- 510 src/common/tuklib_progname.h | 2 +- 511 4 files changed, 8 insertions(+), 6 deletions(-) 512 513commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5 514Author: Lasse Collin <lasse.collin@tukaani.org> 515Date: 2022-12-30 20:10:08 +0200 516 517 Tests: test_check: Test corner cases of CLMUL CRC64. 518 519 tests/test_check.c | 27 +++++++++++++++++++++++++++ 520 1 file changed, 27 insertions(+) 521 522commit 8791826f31733fda0a13b411c2ed930faaeb25aa 523Author: Lasse Collin <lasse.collin@tukaani.org> 524Date: 2022-12-30 19:36:49 +0200 525 526 Tests: Clarify a comment in test_lzip_decoder.c. 527 528 tests/test_lzip_decoder.c | 8 ++++++-- 529 1 file changed, 6 insertions(+), 2 deletions(-) 530 531commit c410d812ea12bfc74f6b727c1a799478c79f19ca 532Author: Jia Tan <jiat0218@gmail.com> 533Date: 2022-12-29 01:55:19 +0800 534 535 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c. 536 537 Previously, mytime.c depended on mythread.h for <time.h> to be included. 538 539 src/xz/mytime.c | 4 +++- 540 1 file changed, 3 insertions(+), 1 deletion(-) 541 542commit 501c6013d4a59fae5d4368e9657c4885493db809 543Author: Jia Tan <jiat0218@gmail.com> 544Date: 2022-12-29 01:15:27 +0800 545 546 liblzma: Includes sys/time.h conditionally in mythread 547 548 Previously, <sys/time.h> was always included, even if mythread only used 549 clock_gettime. <time.h> is still needed even if clock_gettime is not used 550 though because struct timespec is needed for mythread_condtime. 551 552 src/common/mythread.h | 8 +++++++- 553 1 file changed, 7 insertions(+), 1 deletion(-) 554 555commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f 556Author: Jia Tan <jiat0218@gmail.com> 557Date: 2022-12-29 01:10:53 +0800 558 559 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. 560 561 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always 562 be set to 0 or 1. However, this macro was needed in xz so if xz was not 563 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but 564 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, 565 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and 566 will only be set if it is 1. 567 568 CMakeLists.txt | 8 +++----- 569 configure.ac | 5 ++++- 570 src/common/mythread.h | 4 ++-- 571 src/xz/mytime.c | 5 ++--- 572 4 files changed, 11 insertions(+), 11 deletions(-) 573 574commit 6fc3e5467911572fa9af4021ea46396261aae796 575Author: Jia Tan <jiat0218@gmail.com> 576Date: 2022-12-28 01:14:07 +0800 577 578 Translations: Add Ukrainian translations of man pages. 579 580 Thanks to Yuri Chornoivan 581 582 po4a/po4a.conf | 2 +- 583 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 584 2 files changed, 3677 insertions(+), 1 deletion(-) 585 586commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e 587Author: Jia Tan <jiat0218@gmail.com> 588Date: 2022-12-22 23:14:53 +0800 589 590 liblzma: Update documentation for lzma_filter_encoder. 591 592 src/liblzma/common/filter_encoder.c | 7 +++++-- 593 1 file changed, 5 insertions(+), 2 deletions(-) 594 595commit b14b8dbba9a3b232787ae218b46430b9246383dd 596Author: Jia Tan <jiat0218@gmail.com> 597Date: 2022-12-21 21:12:03 +0800 598 599 Tests: Adds lzip decoder tests 600 601 .gitignore | 1 + 602 tests/Makefile.am | 2 + 603 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ 604 3 files changed, 474 insertions(+) 605 606commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710 607Author: Jia Cheong Tan <jiat0218@gmail.com> 608Date: 2022-12-20 22:05:21 +0800 609 610 Doxygen: Update .gitignore for generating docs for in source build. 611 612 In source builds are not recommended, but we should still ignore 613 the generated artifacts. 614 615 .gitignore | 2 ++ 616 1 file changed, 2 insertions(+) 617 618commit d3e6fe44196bf9478ad193522e2b48febf2eca6b 619Author: Jia Tan <jiat0218@gmail.com> 620Date: 2022-12-20 20:46:44 +0800 621 622 liblzma: Fix lzma_microlzma_encoder() return value. 623 624 Using return_if_error on lzma_lzma_lclppb_encode was improper because 625 return_if_error is expecting an lzma_ret value, but 626 lzma_lzma_lclppb_encode returns a boolean. This could result in 627 lzma_microlzma_encoder, which would be misleading for applications. 628 629 src/liblzma/common/microlzma_encoder.c | 3 ++- 630 1 file changed, 2 insertions(+), 1 deletion(-) 631 632commit b55a27b46f52524a4a8d9cdef03e6689cefc1375 633Author: Lasse Collin <lasse.collin@tukaani.org> 634Date: 2022-12-16 18:30:02 +0200 635 636 liblzma: Update authors list in arm64.c. 637 638 src/liblzma/simple/arm64.c | 1 + 639 1 file changed, 1 insertion(+) 640 641commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d 642Author: Jia Tan <jiat0218@gmail.com> 643Date: 2022-12-16 20:58:55 +0800 644 645 CMake: Update .gitignore for CMake artifacts from in source build. 646 647 In source builds are not recommended, but we can make it easier 648 by ignoring the generated artifacts from CMake. 649 650 .gitignore | 23 +++++++++++++++++++++++ 651 1 file changed, 23 insertions(+) 652 653commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 654Author: Lasse Collin <lasse.collin@tukaani.org> 655Date: 2022-12-13 20:37:17 +0200 656 657 Bump version to 5.4.0 and soname to 5.4.0. 658 659 src/liblzma/Makefile.am | 2 +- 660 src/liblzma/api/lzma/version.h | 6 +++--- 661 src/liblzma/liblzma_generic.map | 2 +- 662 src/liblzma/liblzma_linux.map | 2 +- 663 4 files changed, 6 insertions(+), 6 deletions(-) 664 665commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19 666Author: Lasse Collin <lasse.collin@tukaani.org> 667Date: 2022-12-13 20:29:39 +0200 668 669 Update INSTALL: CMake on Windows isn't experimental anymore. 670 671 Using CMake to build liblzma should work on a few other OSes 672 but building the command line tools is still subtly broken. 673 674 It is known that shared library versioning may differ between 675 CMake and Libtool builds on some OSes, most notably Darwin. 676 677 INSTALL | 10 ++++------ 678 1 file changed, 4 insertions(+), 6 deletions(-) 679 680commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852 681Author: Lasse Collin <lasse.collin@tukaani.org> 682Date: 2022-12-13 19:47:53 +0200 683 684 Add NEWS for 5.4.0. 685 686 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 687 1 file changed, 202 insertions(+) 688 689commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14 690Author: Lasse Collin <lasse.collin@tukaani.org> 691Date: 2022-12-13 17:41:20 +0200 692 693 Fix a typo in NEWS. 694 695 NEWS | 2 +- 696 1 file changed, 1 insertion(+), 1 deletion(-) 697 698commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245 699Author: Lasse Collin <lasse.collin@tukaani.org> 700Date: 2022-12-13 17:41:03 +0200 701 702 Add NEWS for 5.2.10. 703 704 NEWS | 12 ++++++++++++ 705 1 file changed, 12 insertions(+) 706 707commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6 708Author: Lasse Collin <lasse.collin@tukaani.org> 709Date: 2022-12-13 12:30:45 +0200 710 711 Tests: Fix a typo in tests/files/README. 712 713 tests/files/README | 2 +- 714 1 file changed, 1 insertion(+), 1 deletion(-) 715 716commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5 717Author: Lasse Collin <lasse.collin@tukaani.org> 718Date: 2022-12-13 12:30:09 +0200 719 720 Tests: Add two ARM64 test files. 721 722 tests/files/README | 7 +++++++ 723 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes 724 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes 725 tests/test_files.sh | 5 +++++ 726 4 files changed, 12 insertions(+) 727 728commit f5e419550619c548c7c35d7e367cf00580a56521 729Author: Lasse Collin <lasse.collin@tukaani.org> 730Date: 2022-12-12 22:44:21 +0200 731 732 Translations: Update the Catalan translation. 733 734 po/ca.po | 657 +++++++++++++++++++++++++++++---------------------------------- 735 1 file changed, 306 insertions(+), 351 deletions(-) 736 737commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8 738Author: Lasse Collin <lasse.collin@tukaani.org> 739Date: 2022-12-12 19:18:12 +0200 740 741 Update THANKS. 742 743 THANKS | 1 + 744 1 file changed, 1 insertion(+) 745 746commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc 747Author: Lasse Collin <lasse.collin@tukaani.org> 748Date: 2022-12-12 19:07:58 +0200 749 750 Update AUTHORS. 751 752 AUTHORS | 12 ++++++++++++ 753 1 file changed, 12 insertions(+) 754 755commit f2d98e691099d82054d5f3071ef6f5e809932e44 756Author: Lasse Collin <lasse.collin@tukaani.org> 757Date: 2022-12-12 15:31:14 +0200 758 759 Docs: Omit multi-threaded decompress from TODO. 760 761 The TODO file outdated still. 762 763 TODO | 2 -- 764 1 file changed, 2 deletions(-) 765 766commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da 767Author: Lasse Collin <lasse.collin@tukaani.org> 768Date: 2022-12-11 21:16:09 +0200 769 770 Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter. 771 772 doc/xz-file-format.txt | 29 ++++++++++++++++++++++------- 773 1 file changed, 22 insertions(+), 7 deletions(-) 774 775commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f 776Author: Lasse Collin <lasse.collin@tukaani.org> 777Date: 2022-12-11 21:13:57 +0200 778 779 xz: Rename --experimental-arm64 to --arm64. 780 781 src/xz/args.c | 2 +- 782 1 file changed, 1 insertion(+), 1 deletion(-) 783 784commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5 785Author: Lasse Collin <lasse.collin@tukaani.org> 786Date: 2022-12-11 21:13:06 +0200 787 788 liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A. 789 790 src/liblzma/api/lzma/bcj.h | 6 +----- 791 1 file changed, 1 insertion(+), 5 deletions(-) 792 793commit 01b3549e523edac899ec4925b282ceddd20da116 794Author: Lasse Collin <lasse.collin@tukaani.org> 795Date: 2022-12-08 19:24:22 +0200 796 797 xz: Make args_info.files_name a const pointer. 798 799 src/xz/args.c | 2 +- 800 src/xz/args.h | 2 +- 801 2 files changed, 2 insertions(+), 2 deletions(-) 802 803commit bc665b84ea6bf7946394a08122177efe41b26a5f 804Author: Lasse Collin <lasse.collin@tukaani.org> 805Date: 2022-12-08 19:18:16 +0200 806 807 xz: Don't modify argv[]. 808 809 The code that parses --memlimit options and --block-list modified 810 the argv[] when parsing the option string from optarg. This was 811 visible in "ps auxf" and such and could be confusing. I didn't 812 understand it back in the day when I wrote that code. Now a copy 813 is allocated when modifiable strings are needed. 814 815 src/xz/args.c | 23 +++++++++++++++++++---- 816 1 file changed, 19 insertions(+), 4 deletions(-) 817 818commit a13064e1c290de7933db72b6dffbd65cfce59c9f 819Author: Lasse Collin <lasse.collin@tukaani.org> 820Date: 2022-12-08 18:18:57 +0200 821 822 Translations: Update the German man page translations. 823 824 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------ 825 1 file changed, 1374 insertions(+), 3196 deletions(-) 826 827commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a 828Author: Jia Tan <jiat0218@gmail.com> 829Date: 2022-12-06 23:05:56 +0800 830 831 Translations: Update the German translation. 832 833 po/de.po | 586 ++++++++++++++++++++++++++++++++++----------------------------- 834 1 file changed, 315 insertions(+), 271 deletions(-) 835 836commit 5c304b57c24ef40ff57f864301065f0244c05bde 837Author: Jia Tan <jiat0218@gmail.com> 838Date: 2022-12-06 23:04:25 +0800 839 840 Translations: Update the Turkish translation. 841 842 po/tr.po | 221 +++++++++++++++++++++++++++++++-------------------------------- 843 1 file changed, 108 insertions(+), 113 deletions(-) 844 845commit 6d86781fdb937970486500447ebb49b98244235b 846Author: Jia Tan <jiat0218@gmail.com> 847Date: 2022-12-06 23:02:11 +0800 848 849 Translations: Update the Croatian translation. 850 851 po/hr.po | 228 +++++++++++++++++++++++++++++++-------------------------------- 852 1 file changed, 113 insertions(+), 115 deletions(-) 853 854commit 7a5b4b8075eb36026b1796f04ffed5830c42396a 855Author: Jia Tan <jiat0218@gmail.com> 856Date: 2022-12-06 22:56:30 +0800 857 858 Translations: Add Romanian translation of man pages. 859 860 Thanks to Remus-Gabriel Chelu. 861 862 po4a/po4a.conf | 2 +- 863 po4a/ro.po | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 864 2 files changed, 3693 insertions(+), 1 deletion(-) 865 866commit c6977e7400088177556e8771bcb839eb7d90caa3 867Author: Jia Tan <jiat0218@gmail.com> 868Date: 2022-12-06 22:52:13 +0800 869 870 Translations: Update the Romanian translation. 871 872 po/ro.po | 294 +++++++++++++++++++++++++++++++-------------------------------- 873 1 file changed, 147 insertions(+), 147 deletions(-) 874 875commit ac2a747e939c2cbccff7a49c399769af5e02d2ab 876Author: Lasse Collin <lasse.collin@tukaani.org> 877Date: 2022-12-08 17:30:09 +0200 878 879 liblzma: Check for unexpected NULL pointers in block_header_decode(). 880 881 The API docs gave an impression that such checks are done 882 but they actually weren't done. In practice it made little 883 difference since the calling code has a bug if these are NULL. 884 885 Thanks to Jia Tan for the original patch that checked for 886 block->filters == NULL. 887 888 src/liblzma/common/block_header_decoder.c | 4 ++++ 889 1 file changed, 4 insertions(+) 890 891commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25 892Author: Lasse Collin <lasse.collin@tukaani.org> 893Date: 2022-12-01 20:59:32 +0200 894 895 Bump version number for 5.3.5beta. 896 897 This also sorts the symbol names alphabetically in liblzma_*.map. 898 899 src/liblzma/api/lzma/version.h | 4 ++-- 900 src/liblzma/liblzma_generic.map | 10 +++++----- 901 src/liblzma/liblzma_linux.map | 10 +++++----- 902 3 files changed, 12 insertions(+), 12 deletions(-) 903 904commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa 905Author: Lasse Collin <lasse.collin@tukaani.org> 906Date: 2022-12-01 20:57:26 +0200 907 908 Add NEWS for 5.3.5beta. 909 910 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 911 1 file changed, 43 insertions(+) 912 913commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e 914Author: Lasse Collin <lasse.collin@tukaani.org> 915Date: 2022-12-01 20:57:09 +0200 916 917 Update THANKS. 918 919 THANKS | 3 +++ 920 1 file changed, 3 insertions(+) 921 922commit 62b270988ec67314d69976df484d2974c6eacfda 923Author: Lasse Collin <lasse.collin@tukaani.org> 924Date: 2022-12-01 20:04:17 +0200 925 926 liblzma: Use __has_attribute(__symver__) to fix Clang detection. 927 928 If someone sets up Clang to define __GNUC__ to 10 or greater 929 then symvers broke. __has_attribute is supported by such GCC 930 and Clang versions that don't support __symver__ so this should 931 be much better and simpler way to detect if __symver__ is 932 actually supported. 933 934 Thanks to Tomasz Gajc for the bug report. 935 936 src/liblzma/common/common.h | 15 ++++++++++++++- 937 1 file changed, 14 insertions(+), 1 deletion(-) 938 939commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb 940Author: Lasse Collin <lasse.collin@tukaani.org> 941Date: 2022-12-01 18:51:52 +0200 942 943 liblzma: Omit zero-skipping from ARM64 filter. 944 945 It has some complicated downsides and its usefulness is more limited 946 than I originally thought. So this change is bad for certain very 947 specific situations but a generic solution that works for other 948 filters (and is otherwise better too) is planned anyway. And this 949 way 7-Zip can use the same compatible filter for the .7z format. 950 951 This is still marked as experimental with a new temporary Filter ID. 952 953 src/liblzma/api/lzma/bcj.h | 2 +- 954 src/liblzma/simple/arm64.c | 81 +++++++++++++--------------------------------- 955 2 files changed, 24 insertions(+), 59 deletions(-) 956 957commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b 958Author: Lasse Collin <lasse.collin@tukaani.org> 959Date: 2022-12-01 18:13:27 +0200 960 961 xz: Omit the special notes about ARM64 filter on the man page. 962 963 src/xz/xz.1 | 5 ++--- 964 1 file changed, 2 insertions(+), 3 deletions(-) 965 966commit 0c3627b51862eb0dcdd4fc283d046250571991c6 967Author: Lasse Collin <lasse.collin@tukaani.org> 968Date: 2022-12-01 18:12:03 +0200 969 970 liblzma: Don't be over-specific in lzma_str_to_filters API doc. 971 972 src/liblzma/api/lzma/filter.h | 3 +-- 973 1 file changed, 1 insertion(+), 2 deletions(-) 974 975commit 94adf057f27b1970f493dc99cd166407d7255639 976Author: Lasse Collin <lasse.collin@tukaani.org> 977Date: 2022-12-01 17:54:23 +0200 978 979 liblzma: Silence unused variable warning when BCJ filters are disabled. 980 981 Thanks to Jia Tan for the original patch. 982 983 src/liblzma/common/string_conversion.c | 15 +++++++++++++++ 984 1 file changed, 15 insertions(+) 985 986commit c68af4441744e5ffc41a472e1be9c9d53a1d9780 987Author: Lasse Collin <lasse.collin@tukaani.org> 988Date: 2022-12-01 17:38:03 +0200 989 990 Translations: Update the Chinese (simplified) translation. 991 992 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++-------------------------- 993 1 file changed, 348 insertions(+), 260 deletions(-) 994 995commit 3be6942e5c27d29995d41da52fbe274e4ce4a537 996Author: Lasse Collin <lasse.collin@tukaani.org> 997Date: 2022-11-30 18:55:03 +0200 998 999 Add NEWS for 5.2.9. 1000 1001 NEWS | 34 ++++++++++++++++++++++++++++++++++ 1002 1 file changed, 34 insertions(+) 1003 1004commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d 1005Author: Jia Tan <jiat0218@gmail.com> 1006Date: 2022-11-30 23:33:08 +0800 1007 1008 xz: Remove message_filters_to_str function prototype from message.h. 1009 1010 This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b. 1011 1012 src/xz/message.h | 16 ---------------- 1013 1 file changed, 16 deletions(-) 1014 1015commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7 1016Author: Lasse Collin <lasse.collin@tukaani.org> 1017Date: 2022-11-30 18:08:34 +0200 1018 1019 Change the bug report address. 1020 1021 It forwards to me and Jia Tan. 1022 1023 Also update the IRC reference in README as #tukaani was moved 1024 to Libera Chat long ago. 1025 1026 CMakeLists.txt | 2 +- 1027 README | 11 +++++------ 1028 configure.ac | 2 +- 1029 dos/config.h | 2 +- 1030 windows/README-Windows.txt | 2 +- 1031 5 files changed, 9 insertions(+), 10 deletions(-) 1032 1033commit c21983c76031e01da01ad3c6cc716fe4b8a75070 1034Author: Lasse Collin <lasse.collin@tukaani.org> 1035Date: 2022-11-30 17:50:17 +0200 1036 1037 Build: Add string_conversion.c to CMake, DOS, and VS files. 1038 1039 CMakeLists.txt | 1 + 1040 dos/Makefile | 1 + 1041 windows/vs2013/liblzma.vcxproj | 1 + 1042 windows/vs2013/liblzma_dll.vcxproj | 1 + 1043 windows/vs2017/liblzma.vcxproj | 1 + 1044 windows/vs2017/liblzma_dll.vcxproj | 1 + 1045 windows/vs2019/liblzma.vcxproj | 1 + 1046 windows/vs2019/liblzma_dll.vcxproj | 1 + 1047 8 files changed, 8 insertions(+) 1048 1049commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82 1050Author: Lasse Collin <lasse.collin@tukaani.org> 1051Date: 2022-11-30 17:38:32 +0200 1052 1053 Update to HTTPS URLs in AUTHORS. 1054 1055 AUTHORS | 6 +++--- 1056 1 file changed, 3 insertions(+), 3 deletions(-) 1057 1058commit 0a72b9ca2fe20082da9b7128fe0d908af947a851 1059Author: Jia Tan <jiat0218@gmail.com> 1060Date: 2022-11-30 00:52:06 +0800 1061 1062 liblzma: Improve documentation for string to filter functions. 1063 1064 src/liblzma/api/lzma/filter.h | 17 +++++++++-------- 1065 1 file changed, 9 insertions(+), 8 deletions(-) 1066 1067commit a6e21fcede3b196160a52dd294d965c508a4bb33 1068Author: Lasse Collin <lasse.collin@tukaani.org> 1069Date: 2022-11-29 22:27:42 +0200 1070 1071 liblzma: Two fixes to lzma_str_list_filters() API docs. 1072 1073 Thanks to Jia Tan. 1074 1075 src/liblzma/api/lzma/filter.h | 6 +++--- 1076 1 file changed, 3 insertions(+), 3 deletions(-) 1077 1078commit 7484744af6cbabe81e92af7d9e061dfd597fff7b 1079Author: Lasse Collin <lasse.collin@tukaani.org> 1080Date: 2022-11-28 21:57:47 +0200 1081 1082 xz: Use lzma_str_from_filters(). 1083 1084 Two uses: Displaying encoder filter chain when compressing with -vv, 1085 and displaying the decoder filter chain in --list -vv. 1086 1087 src/xz/list.c | 28 ++++++--- 1088 src/xz/message.c | 175 +++---------------------------------------------------- 1089 2 files changed, 28 insertions(+), 175 deletions(-) 1090 1091commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203 1092Author: Lasse Collin <lasse.collin@tukaani.org> 1093Date: 2022-11-28 21:37:48 +0200 1094 1095 liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters. 1096 1097 lzma_str_to_filters() uses static error messages which makes 1098 them not very precise. It tells the position in the string 1099 where an error occurred though which helps quite a bit if 1100 applications take advantage of it. Dynamic error messages can 1101 be added later with a new flag if it seems important enough. 1102 1103 src/liblzma/api/lzma/filter.h | 258 +++++++ 1104 src/liblzma/common/Makefile.inc | 1 + 1105 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++ 1106 src/liblzma/liblzma_generic.map | 3 + 1107 src/liblzma/liblzma_linux.map | 3 + 1108 5 files changed, 1567 insertions(+) 1109 1110commit 072ebf7b1335421193ffa9d4a70d5533786b8995 1111Author: Lasse Collin <lasse.collin@tukaani.org> 1112Date: 2022-11-28 21:02:19 +0200 1113 1114 liblzma: Make lzma_validate_chain() available outside filter_common.c. 1115 1116 src/liblzma/common/filter_common.c | 8 ++++---- 1117 src/liblzma/common/filter_common.h | 3 +++ 1118 2 files changed, 7 insertions(+), 4 deletions(-) 1119 1120commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf 1121Author: Lasse Collin <lasse.collin@tukaani.org> 1122Date: 2022-11-28 10:51:03 +0200 1123 1124 liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused. 1125 1126 src/liblzma/lz/lz_decoder.c | 14 -------------- 1127 src/liblzma/lz/lz_decoder.h | 3 --- 1128 2 files changed, 17 deletions(-) 1129 1130commit cee83206465b95729ab649aa2f57fdbde8dcaf89 1131Author: Lasse Collin <lasse.collin@tukaani.org> 1132Date: 2022-11-28 10:48:53 +0200 1133 1134 liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder(). 1135 1136 Here too this avoids the slightly ugly method to set 1137 the uncompressed size. 1138 1139 Also moved the setting of dict_size to the struct initializer. 1140 1141 src/liblzma/common/microlzma_decoder.c | 15 ++++++++------- 1142 1 file changed, 8 insertions(+), 7 deletions(-) 1143 1144commit e310e8b6a490dfb468f4ed68feff246d776b323c 1145Author: Lasse Collin <lasse.collin@tukaani.org> 1146Date: 2022-11-28 10:28:20 +0200 1147 1148 liblzma: Use LZMA1EXT feature in lzma_alone_decoder(). 1149 1150 This avoids the need to use the slightly ugly method to 1151 set the uncompressed size. 1152 1153 src/liblzma/common/alone_decoder.c | 18 +++++++++++++----- 1154 1 file changed, 13 insertions(+), 5 deletions(-) 1155 1156commit 33b8a24b6646a9dbfd8358405aec466b13078559 1157Author: Lasse Collin <lasse.collin@tukaani.org> 1158Date: 2022-11-27 23:16:21 +0200 1159 1160 liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker. 1161 1162 Some file formats need support for LZMA1 streams that don't use 1163 the end of payload marker (EOPM) alias end of stream (EOS) marker. 1164 So far liblzma API has supported decompressing such streams via 1165 lzma_alone_decoder() when .lzma header specifies a known 1166 uncompressed size. Encoding support hasn't been available in the API. 1167 1168 Instead of adding a new LZMA1-only API for this purpose, this commit 1169 adds a new filter ID for use with raw encoder and decoder. The main 1170 benefit of this approach is that then also filter chains are possible, 1171 for example, if someone wants to implement support for .7z files that 1172 use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported 1173 in liblzma). 1174 1175 src/liblzma/api/lzma/lzma12.h | 123 ++++++++++++++++++++++++++++++-- 1176 src/liblzma/common/filter_common.c | 7 ++ 1177 src/liblzma/common/filter_decoder.c | 6 ++ 1178 src/liblzma/common/filter_encoder.c | 9 +++ 1179 src/liblzma/lzma/lzma2_encoder.c | 2 +- 1180 src/liblzma/lzma/lzma_decoder.c | 26 ++++++- 1181 src/liblzma/lzma/lzma_encoder.c | 40 +++++++++-- 1182 src/liblzma/lzma/lzma_encoder.h | 3 +- 1183 src/liblzma/lzma/lzma_encoder_private.h | 3 + 1184 9 files changed, 204 insertions(+), 15 deletions(-) 1185 1186commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede 1187Author: Lasse Collin <lasse.collin@tukaani.org> 1188Date: 2022-11-27 18:43:07 +0200 1189 1190 liblzma: Avoid unneeded use of void pointer in LZMA decoder. 1191 1192 src/liblzma/lzma/lzma_decoder.c | 3 +-- 1193 src/liblzma/lzma/lzma_decoder.h | 2 +- 1194 2 files changed, 2 insertions(+), 3 deletions(-) 1195 1196commit 218394958c7683f892275bb40eae880620feebcc 1197Author: Lasse Collin <lasse.collin@tukaani.org> 1198Date: 2022-11-27 18:20:33 +0200 1199 1200 liblzma: Pass the Filter ID to LZ encoder and decoder. 1201 1202 This allows using two Filter IDs with the same 1203 initialization function and data structures. 1204 1205 src/liblzma/common/alone_decoder.c | 1 + 1206 src/liblzma/common/alone_encoder.c | 1 + 1207 src/liblzma/common/common.h | 7 +++++-- 1208 src/liblzma/common/lzip_decoder.c | 1 + 1209 src/liblzma/common/microlzma_decoder.c | 1 + 1210 src/liblzma/common/microlzma_encoder.c | 1 + 1211 src/liblzma/lz/lz_decoder.c | 5 +++-- 1212 src/liblzma/lz/lz_decoder.h | 3 ++- 1213 src/liblzma/lz/lz_encoder.c | 5 +++-- 1214 src/liblzma/lz/lz_encoder.h | 3 ++- 1215 src/liblzma/lzma/lzma2_decoder.c | 3 ++- 1216 src/liblzma/lzma/lzma2_encoder.c | 3 ++- 1217 src/liblzma/lzma/lzma_decoder.c | 2 +- 1218 src/liblzma/lzma/lzma_encoder.c | 2 +- 1219 14 files changed, 26 insertions(+), 12 deletions(-) 1220 1221commit 1663c7676b76f4c514031797f3db1896e8100f7f 1222Author: Lasse Collin <lasse.collin@tukaani.org> 1223Date: 2022-11-27 01:03:16 +0200 1224 1225 liblzma: Remove two FIXME comments. 1226 1227 src/liblzma/common/filter_encoder.c | 4 ++-- 1228 1 file changed, 2 insertions(+), 2 deletions(-) 1229 1230commit 11fe708db783ac36ebeeb85da164e29e8c300910 1231Author: Lasse Collin <lasse.collin@tukaani.org> 1232Date: 2022-11-26 22:25:30 +0200 1233 1234 xz: Use lzma_filters_free(). 1235 1236 src/xz/list.c | 8 ++------ 1237 1 file changed, 2 insertions(+), 6 deletions(-) 1238 1239commit e782af9110d8499c7ac2929bc871540eefea5ea1 1240Author: Lasse Collin <lasse.collin@tukaani.org> 1241Date: 2022-11-26 22:21:13 +0200 1242 1243 liblzma: Use lzma_filters_free() in more places. 1244 1245 src/liblzma/common/block_header_decoder.c | 20 ++------------------ 1246 src/liblzma/common/stream_decoder.c | 4 +--- 1247 src/liblzma/common/stream_decoder_mt.c | 22 +++++----------------- 1248 3 files changed, 8 insertions(+), 38 deletions(-) 1249 1250commit 90caaded2dc6db1d6a55b01160d7e87f4a423628 1251Author: Lasse Collin <lasse.collin@tukaani.org> 1252Date: 2022-11-25 18:04:37 +0200 1253 1254 liblzma: Omit simple coder init functions if they are disabled. 1255 1256 src/liblzma/simple/arm.c | 4 ++++ 1257 src/liblzma/simple/armthumb.c | 4 ++++ 1258 src/liblzma/simple/ia64.c | 4 ++++ 1259 src/liblzma/simple/powerpc.c | 4 ++++ 1260 src/liblzma/simple/sparc.c | 4 ++++ 1261 src/liblzma/simple/x86.c | 4 ++++ 1262 6 files changed, 24 insertions(+) 1263 1264commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45 1265Author: Lasse Collin <lasse.collin@tukaani.org> 1266Date: 2022-11-24 23:24:59 +0200 1267 1268 xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 1269 1270 Now that liblzma accepts these, we avoid the extra check and 1271 there's one message less for translators too. 1272 1273 src/xz/options.c | 5 ----- 1274 1 file changed, 5 deletions(-) 1275 1276commit 3be88ae071371caa279b44e13f4836fb178fe4ae 1277Author: Lasse Collin <lasse.collin@tukaani.org> 1278Date: 2022-11-24 23:23:55 +0200 1279 1280 liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4. 1281 1282 That is, if the specified nice_len is smaller than the minimum 1283 of the match finder, silently use the match finder's minimum value 1284 instead of reporting an error. The old behavior is annoying to users 1285 and it complicates xz options handling too. 1286 1287 src/liblzma/lz/lz_encoder.c | 14 +++++++++----- 1288 src/liblzma/lz/lz_encoder.h | 9 +++++++++ 1289 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++--- 1290 3 files changed, 26 insertions(+), 8 deletions(-) 1291 1292commit 93439cfafe1768b3b18d67d2356ef7e7559bba59 1293Author: Lasse Collin <lasse.collin@tukaani.org> 1294Date: 2022-11-24 16:25:10 +0200 1295 1296 liblzma: Add lzma_filters_update() support to the multi-threaded encoder. 1297 1298 A tiny downside of this is that now a 1-4 tiny allocations are made 1299 for every Block because each worker thread needs its own copy of 1300 the filter chain. 1301 1302 src/liblzma/api/lzma/filter.h | 36 +++++++------ 1303 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++--- 1304 2 files changed, 109 insertions(+), 23 deletions(-) 1305 1306commit 17ac51e689794eb41cab3e80946fec689caea2d2 1307Author: Lasse Collin <lasse.collin@tukaani.org> 1308Date: 2022-11-24 14:53:22 +0200 1309 1310 Update THANKS. 1311 1312 THANKS | 1 + 1313 1 file changed, 1 insertion(+) 1314 1315commit 06824396b2b6c84f3a235cb7c19c2a9701167797 1316Author: Lasse Collin <lasse.collin@tukaani.org> 1317Date: 2022-11-24 14:52:44 +0200 1318 1319 Build: Don't put GNU/Linux-specific symbol versions into static liblzma. 1320 1321 It not only makes no sense to put symbol versions into a static library 1322 but it can also cause breakage. 1323 1324 By default Libtool #defines PIC if building a shared library and 1325 doesn't define it for static libraries. This is documented in the 1326 Libtool manual. It can be overriden using --with-pic or --without-pic. 1327 configure.ac detects if --with-pic or --without-pic is used and then 1328 gives an error if neither --disable-shared nor --disable-static was 1329 used at the same time. Thus, in normal situations it works to build 1330 both shared and static library at the same time on GNU/Linux, 1331 only --with-pic or --without-pic requires that only one type of 1332 library is built. 1333 1334 Thanks to John Paul Adrian Glaubitz from Debian for reporting 1335 the problem that occurred on ia64: 1336 https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html 1337 1338 CMakeLists.txt | 5 +- 1339 configure.ac | 143 +++++++++++++++++++++++++++++--------------- 1340 src/liblzma/common/common.h | 12 ++++ 1341 3 files changed, 111 insertions(+), 49 deletions(-) 1342 1343commit e1acf7107291f8b3d6d609a7133331ff36d35d14 1344Author: Lasse Collin <lasse.collin@tukaani.org> 1345Date: 2022-11-24 01:32:16 +0200 1346 1347 liblzma: Refactor to use lzma_filters_free(). 1348 1349 lzma_filters_free() sets the options to NULL and ids to 1350 LZMA_VLI_UNKNOWN so there is no need to do it by caller; 1351 the filter arrays will always be left in a safe state. 1352 1353 Also use memcpy() instead of a loop to copy a filter chain 1354 when it is known to be safe to copy LZMA_FILTERS_MAX + 1 1355 (even if the elements past the terminator might be uninitialized). 1356 1357 src/liblzma/common/stream_encoder.c | 16 ++++------------ 1358 src/liblzma/common/stream_encoder_mt.c | 11 ++--------- 1359 2 files changed, 6 insertions(+), 21 deletions(-) 1360 1361commit cb05dbcf8b868441ec805016222f3fd77f1c5caa 1362Author: Lasse Collin <lasse.collin@tukaani.org> 1363Date: 2022-11-24 01:26:37 +0200 1364 1365 liblzma: Fix another invalid free() after memory allocation failure. 1366 1367 This time it can happen when lzma_stream_encoder_mt() is used 1368 to reinitialize an existing multi-threaded Stream encoder 1369 and one of 1-4 tiny allocations in lzma_filters_copy() fail. 1370 1371 It's very similar to the previous bug 1372 10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with 1373 an array of lzma_filter structures whose old options are freed 1374 but the replacement never arrives due to a memory allocation 1375 failure in lzma_filters_copy(). 1376 1377 src/liblzma/common/stream_encoder_mt.c | 4 ++++ 1378 1 file changed, 4 insertions(+) 1379 1380commit 75f1a6c26df4ce329da0882786403e3ccf5cd898 1381Author: Jia Tan <jiat0218@gmail.com> 1382Date: 2022-05-05 20:53:42 +0800 1383 1384 liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder. 1385 1386 The documentation mentions that lzma_block_encoder() supports 1387 LZMA_SYNC_FLUSH but it was never added to supported_actions[] 1388 in the internal structure. Because of this, LZMA_SYNC_FLUSH could 1389 not be used with the Block encoder unless it was the next coder 1390 after something like stream_encoder() or stream_encoder_mt(). 1391 1392 src/liblzma/common/block_encoder.c | 1 + 1393 1 file changed, 1 insertion(+) 1394 1395commit d0901645170b638c517f5c50866b6ef48f491c65 1396Author: Lasse Collin <lasse.collin@tukaani.org> 1397Date: 2022-11-24 01:02:50 +0200 1398 1399 liblzma: Add new API function lzma_filters_free(). 1400 1401 This is small but convenient and should have been added 1402 a long time ago. 1403 1404 src/liblzma/api/lzma/filter.h | 21 +++++++++++++++++++++ 1405 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++ 1406 src/liblzma/liblzma_generic.map | 1 + 1407 src/liblzma/liblzma_linux.map | 1 + 1408 4 files changed, 49 insertions(+) 1409 1410commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5 1411Author: Lasse Collin <lasse.collin@tukaani.org> 1412Date: 2022-11-24 00:02:31 +0200 1413 1414 CMake: Don't use symbol versioning with static library. 1415 1416 CMakeLists.txt | 10 +++++++--- 1417 1 file changed, 7 insertions(+), 3 deletions(-) 1418 1419commit 48c1b99dc537a27e1ca929d8837e778e5ba32191 1420Author: Lasse Collin <lasse.collin@tukaani.org> 1421Date: 2022-11-23 21:55:22 +0200 1422 1423 liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy(). 1424 1425 src/liblzma/api/lzma/filter.h | 3 ++- 1426 1 file changed, 2 insertions(+), 1 deletion(-) 1427 1428commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b 1429Author: Lasse Collin <lasse.collin@tukaani.org> 1430Date: 2022-11-23 21:26:21 +0200 1431 1432 liblzma: Fix invalid free() after memory allocation failure. 1433 1434 The bug was in the single-threaded .xz Stream encoder 1435 in the code that is used for both re-initialization and for 1436 lzma_filters_update(). To trigger it, an application had 1437 to either re-initialize an existing encoder instance with 1438 lzma_stream_encoder() or use lzma_filters_update(), and 1439 then one of the 1-4 tiny allocations in lzma_filters_copy() 1440 (called from stream_encoder_update()) must fail. An error 1441 was correctly reported but the encoder state was corrupted. 1442 1443 This is related to the recent fix in 1444 f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but 1445 it wasn't enough to fix the main problem in stream_encoder.c. 1446 1447 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++-------- 1448 1 file changed, 31 insertions(+), 8 deletions(-) 1449 1450commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70 1451Author: Lasse Collin <lasse.collin@tukaani.org> 1452Date: 2022-11-22 16:37:15 +0200 1453 1454 liblzma: Fix language in a comment. 1455 1456 src/liblzma/common/stream_encoder.c | 2 +- 1457 1 file changed, 1 insertion(+), 1 deletion(-) 1458 1459commit c392bf8ccba857baaf50399c4b460119befacd54 1460Author: Lasse Collin <lasse.collin@tukaani.org> 1461Date: 2022-11-22 11:20:17 +0200 1462 1463 liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB. 1464 1465 The encoder doesn't support dictionary sizes larger than 1536 MiB. 1466 This is validated, for example, when calculating the memory usage 1467 via lzma_raw_encoder_memusage(). It is also enforced by the LZ 1468 part of the encoder initialization. However, LZMA encoder with 1469 LZMA_MODE_NORMAL did an unsafe calculation with dict_size before 1470 such validation and that results in an infinite loop if dict_size 1471 was 2 << 30 or greater. 1472 1473 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++---- 1474 1 file changed, 15 insertions(+), 4 deletions(-) 1475 1476commit f50534c973a591ccf65485adfc827a8a7126ca6c 1477Author: Lasse Collin <lasse.collin@tukaani.org> 1478Date: 2022-11-21 13:02:33 +0200 1479 1480 liblzma: Fix two Doxygen commands in the API headers. 1481 1482 These were caught by clang -Wdocumentation. 1483 1484 src/liblzma/api/lzma/hardware.h | 2 +- 1485 src/liblzma/api/lzma/index_hash.h | 2 +- 1486 2 files changed, 2 insertions(+), 2 deletions(-) 1487 1488commit 649d4872ed2f55196114a061d45b416fc4353569 1489Author: Lasse Collin <lasse.collin@tukaani.org> 1490Date: 2022-11-19 19:09:55 +0200 1491 1492 xz: Refactor duplicate code from hardware_memlimit_mtenc_get(). 1493 1494 src/xz/hardware.c | 2 +- 1495 1 file changed, 1 insertion(+), 1 deletion(-) 1496 1497commit d327743bb547a53364e5951a16e5f1663fe4b9ff 1498Author: Lasse Collin <lasse.collin@tukaani.org> 1499Date: 2022-11-19 19:06:13 +0200 1500 1501 xz: Add support --threads=+N so that -T+1 gives threaded mode. 1502 1503 src/xz/args.c | 18 +++++++++++++++--- 1504 src/xz/hardware.c | 17 +++++++++++++++-- 1505 src/xz/hardware.h | 1 + 1506 src/xz/xz.1 | 21 ++++++++++++++++++++- 1507 4 files changed, 51 insertions(+), 6 deletions(-) 1508 1509commit a11a2b8b5e830ba682c1d81aaa7078842b296995 1510Author: Jia Tan <jiat0218@gmail.com> 1511Date: 2022-11-19 23:18:04 +0800 1512 1513 CMake: Adds test_memlimit to CMake tests 1514 1515 CMakeLists.txt | 1 + 1516 1 file changed, 1 insertion(+) 1517 1518commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f 1519Author: Lasse Collin <lasse.collin@tukaani.org> 1520Date: 2022-11-15 19:10:21 +0200 1521 1522 Translations: Update the Korean translation. 1523 1524 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++--------------------------- 1525 1 file changed, 371 insertions(+), 281 deletions(-) 1526 1527commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385 1528Author: Lasse Collin <lasse.collin@tukaani.org> 1529Date: 2022-11-15 19:09:28 +0200 1530 1531 Translations: Update the Turkish translation. 1532 1533 po/tr.po | 568 ++++++++++++++++++++++++++++++++++----------------------------- 1534 1 file changed, 310 insertions(+), 258 deletions(-) 1535 1536commit b9a67d9a5fa207062d4aa8a01639234609315d31 1537Author: Lasse Collin <lasse.collin@tukaani.org> 1538Date: 2022-11-15 10:58:39 +0200 1539 1540 Bump version number for 5.3.4alpha. 1541 1542 src/liblzma/api/lzma/version.h | 2 +- 1543 src/liblzma/liblzma_generic.map | 2 +- 1544 src/liblzma/liblzma_linux.map | 2 +- 1545 3 files changed, 3 insertions(+), 3 deletions(-) 1546 1547commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5 1548Author: Lasse Collin <lasse.collin@tukaani.org> 1549Date: 2022-11-15 10:54:40 +0200 1550 1551 Add NEWS for 5.3.4alpha. 1552 1553 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1554 1 file changed, 96 insertions(+) 1555 1556commit ce8db9e37da4f6c87691c5066f51f91f2411c44a 1557Author: Lasse Collin <lasse.collin@tukaani.org> 1558Date: 2022-11-15 10:54:08 +0200 1559 1560 Add NEWS for 5.2.8. 1561 1562 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1563 1 file changed, 79 insertions(+) 1564 1565commit b56bc8251d2736224af6bdaaae734ceb8926a879 1566Author: Lasse Collin <lasse.collin@tukaani.org> 1567Date: 2022-11-14 23:19:57 +0200 1568 1569 Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options." 1570 1571 This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 1572 and also does equivalent change to arm64.c. 1573 1574 Now that ARM64 filter will use lzma_options_bcj, this change 1575 is not needed anymore. 1576 1577 src/liblzma/simple/arm.c | 2 +- 1578 src/liblzma/simple/arm64.c | 2 +- 1579 src/liblzma/simple/armthumb.c | 2 +- 1580 src/liblzma/simple/ia64.c | 2 +- 1581 src/liblzma/simple/powerpc.c | 2 +- 1582 src/liblzma/simple/simple_coder.c | 4 ++-- 1583 src/liblzma/simple/simple_private.h | 2 +- 1584 src/liblzma/simple/sparc.c | 2 +- 1585 src/liblzma/simple/x86.c | 3 +-- 1586 9 files changed, 10 insertions(+), 11 deletions(-) 1587 1588commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35 1589Author: Lasse Collin <lasse.collin@tukaani.org> 1590Date: 2022-11-14 23:14:41 +0200 1591 1592 Replace the experimental ARM64 filter with a new experimental version. 1593 1594 This is incompatible with the previous version. 1595 1596 This has space/tab fixes in filter_*.c and bcj.h too. 1597 1598 src/liblzma/api/lzma/bcj.h | 41 +----- 1599 src/liblzma/common/filter_common.c | 14 +- 1600 src/liblzma/common/filter_decoder.c | 12 +- 1601 src/liblzma/common/filter_encoder.c | 17 +-- 1602 src/liblzma/simple/arm64.c | 283 ++++++++++++++---------------------- 1603 src/liblzma/simple/simple_decoder.h | 4 - 1604 src/liblzma/simple/simple_encoder.h | 2 - 1605 src/xz/args.c | 2 +- 1606 src/xz/message.c | 13 +- 1607 src/xz/options.c | 39 ----- 1608 src/xz/options.h | 7 - 1609 11 files changed, 147 insertions(+), 287 deletions(-) 1610 1611commit f644473a211394447824ea00518d0a214ff3f7f2 1612Author: Lasse Collin <lasse.collin@tukaani.org> 1613Date: 2022-11-14 21:34:57 +0200 1614 1615 liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. 1616 1617 It also works on E2K as it supports these intrinsics. 1618 1619 On x86-64 runtime detection is used so the code keeps working on 1620 older processors too. A CLMUL-only build can be done by using 1621 -msse4.1 -mpclmul in CFLAGS and this will reduce the library 1622 size since the generic implementation and its 8 KiB lookup table 1623 will be omitted. 1624 1625 On 32-bit x86 this isn't used by default for now because by default 1626 on 32-bit x86 the separate assembly file crc64_x86.S is used. 1627 If --disable-assembler is used then this new CLMUL code is used 1628 the same way as on 64-bit x86. However, a CLMUL-only build 1629 (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on 1630 32-bit x86 due to a currently-missing check for disabled 1631 assembler usage. 1632 1633 The configure.ac check should be such that the code won't be 1634 built if something in the toolchain doesn't support it but 1635 --disable-clmul-crc option can be used to unconditionally 1636 disable this feature. 1637 1638 CLMUL speeds up decompression of files that have compressed very 1639 well (assuming CRC64 is used as a check type). It is know that 1640 the CLMUL code is significantly slower than the generic code for 1641 tiny inputs (especially 1-8 bytes but up to 16 bytes). If that 1642 is a real-world problem then there is already a commented-out 1643 variant that uses the generic version for small inputs. 1644 1645 Thanks to Ilya Kurdyukov for the original patch which was 1646 derived from a white paper from Intel [1] (published in 2009) 1647 and public domain code from [2] (released in 2016). 1648 1649 [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf 1650 [2] https://github.com/rawrunprotected/crc 1651 1652 CMakeLists.txt | 26 ++- 1653 INSTALL | 12 ++ 1654 configure.ac | 59 +++++- 1655 src/liblzma/check/crc64_fast.c | 449 +++++++++++++++++++++++++++++++++++++++- 1656 src/liblzma/check/crc64_table.c | 21 +- 1657 5 files changed, 554 insertions(+), 13 deletions(-) 1658 1659commit 3b466bc79672bb2b06d1245a500588e6026e0ba0 1660Author: Lasse Collin <lasse.collin@tukaani.org> 1661Date: 2022-11-14 20:14:34 +0200 1662 1663 Translations: Update the Swedish translation one more time. 1664 1665 po/sv.po | 6 +++--- 1666 1 file changed, 3 insertions(+), 3 deletions(-) 1667 1668commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6 1669Author: Lasse Collin <lasse.collin@tukaani.org> 1670Date: 2022-11-14 19:34:15 +0200 1671 1672 Translations: Update the Swedish translation again. 1673 1674 po/sv.po | 16 ++++++++-------- 1675 1 file changed, 8 insertions(+), 8 deletions(-) 1676 1677commit a4bc689a823a2254f29ac9d233170add5121b307 1678Author: Lasse Collin <lasse.collin@tukaani.org> 1679Date: 2022-11-14 19:07:45 +0200 1680 1681 Translations: Update the Swedish translation. 1682 1683 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++--------------------------- 1684 1 file changed, 382 insertions(+), 289 deletions(-) 1685 1686commit bbf2073d824ab4ba33bed4b77f467435abd333a5 1687Author: Lasse Collin <lasse.collin@tukaani.org> 1688Date: 2022-11-14 18:58:09 +0200 1689 1690 Translations: Update the Ukrainian translation. 1691 1692 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++--------------------------- 1693 1 file changed, 354 insertions(+), 264 deletions(-) 1694 1695commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6 1696Author: Lasse Collin <lasse.collin@tukaani.org> 1697Date: 2022-11-14 17:58:07 +0200 1698 1699 Build: Omit x86_64 from --enable-assembler. 1700 1701 It didn't do anything. There are only 32-bit x86 assembly files 1702 and it feels likely that new files won't be added as intrinsics 1703 in C are more portable across toolchains and OSes. 1704 1705 configure.ac | 6 ++---- 1706 1 file changed, 2 insertions(+), 4 deletions(-) 1707 1708commit eb0f1450ad9f23dac03050d9c8375980240aee21 1709Author: Lasse Collin <lasse.collin@tukaani.org> 1710Date: 2022-11-14 16:00:52 +0200 1711 1712 liblzma: Use __attribute__((__constructor__)) if available. 1713 1714 This uses it for CRC table initializations when using --disable-small. 1715 It avoids mythread_once() overhead. It also means that then 1716 --disable-small --disable-threads is thread-safe if this attribute 1717 is supported. 1718 1719 CMakeLists.txt | 15 +++++++++++++++ 1720 INSTALL | 4 +++- 1721 configure.ac | 31 ++++++++++++++++++++++++++++--- 1722 src/liblzma/check/crc32_small.c | 7 +++++++ 1723 src/liblzma/check/crc64_small.c | 5 +++++ 1724 src/liblzma/lz/lz_encoder.c | 2 +- 1725 6 files changed, 59 insertions(+), 5 deletions(-) 1726 1727commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1 1728Author: Lasse Collin <lasse.collin@tukaani.org> 1729Date: 2022-11-12 21:19:52 +0200 1730 1731 Translations: Update the Romanian translation. 1732 1733 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++-------------------------- 1734 1 file changed, 380 insertions(+), 271 deletions(-) 1735 1736commit db97e69e12393becc29f8febd53133d0d36989bd 1737Author: Lasse Collin <lasse.collin@tukaani.org> 1738Date: 2022-11-12 21:17:45 +0200 1739 1740 Translations: Update the Hungarian translation. 1741 1742 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++--------------------------- 1743 1 file changed, 357 insertions(+), 268 deletions(-) 1744 1745commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4 1746Author: Lasse Collin <lasse.collin@tukaani.org> 1747Date: 2022-11-11 17:58:57 +0200 1748 1749 Translations: Update the Finnish translation. 1750 1751 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++--------------------------- 1752 1 file changed, 348 insertions(+), 262 deletions(-) 1753 1754commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f 1755Author: Lasse Collin <lasse.collin@tukaani.org> 1756Date: 2022-11-11 17:58:18 +0200 1757 1758 Translations: Update the Croatian translation. 1759 1760 po/hr.po | 680 +++++++++++++++++++++++++++++++++++---------------------------- 1761 1 file changed, 381 insertions(+), 299 deletions(-) 1762 1763commit 26c3359eac0988d6f3986735cd1363bec1678e8e 1764Author: Lasse Collin <lasse.collin@tukaani.org> 1765Date: 2022-11-11 17:57:18 +0200 1766 1767 Translations: Update the Polish translation. 1768 1769 po/pl.po | 569 ++++++++++++++++++++++++++++++++++----------------------------- 1770 1 file changed, 309 insertions(+), 260 deletions(-) 1771 1772commit 577e467b137c735afb8de6ae71ac7a73c2960cc4 1773Author: Lasse Collin <lasse.collin@tukaani.org> 1774Date: 2022-11-11 17:56:44 +0200 1775 1776 Translations: Update the Spanish translation. 1777 1778 po/es.po | 598 ++++++++++++++++++++++++++++++++++++--------------------------- 1779 1 file changed, 344 insertions(+), 254 deletions(-) 1780 1781commit f9b4ff6e9a0f1678650775582d3e4fe782abce97 1782Author: Lasse Collin <lasse.collin@tukaani.org> 1783Date: 2022-11-11 17:16:03 +0200 1784 1785 Update THANKS. 1786 1787 THANKS | 1 + 1788 1 file changed, 1 insertion(+) 1789 1790commit a39961ef211e1bf030b17edeea3cff29fe263b67 1791Author: Lasse Collin <lasse.collin@tukaani.org> 1792Date: 2022-11-11 17:15:25 +0200 1793 1794 liblzma: Fix building with Intel ICC (the classic compiler). 1795 1796 It claims __GNUC__ >= 10 but doesn't support __symver__ attribute. 1797 1798 Thanks to Stephen Sachs. 1799 1800 src/liblzma/common/common.h | 2 +- 1801 1 file changed, 1 insertion(+), 1 deletion(-) 1802 1803commit c715f683dcb1a817d565da292cddfbceda643e12 1804Author: Lasse Collin <lasse.collin@tukaani.org> 1805Date: 2022-11-11 14:35:58 +0200 1806 1807 liblzma: Fix incorrect #ifdef for x86 SSE2 support. 1808 1809 __SSE2__ is the correct macro for SSE2 support with GCC, Clang, 1810 and ICC. __SSE2_MATH__ means doing floating point math with SSE2 1811 instead of 387. Often the latter macro is defined if the first 1812 one is but it was still a bug. 1813 1814 src/liblzma/common/memcmplen.h | 3 +-- 1815 1 file changed, 1 insertion(+), 2 deletions(-) 1816 1817commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce 1818Author: Lasse Collin <lasse.collin@tukaani.org> 1819Date: 2022-11-11 13:27:06 +0200 1820 1821 Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2). 1822 1823 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1824 1 file changed, 74 insertions(+) 1825 1826commit 3c7860cf49de6f81046b3a4034a89f3a4803a576 1827Author: Lasse Collin <lasse.collin@tukaani.org> 1828Date: 2022-11-11 13:16:21 +0200 1829 1830 xzdiff: Add support for .lz files. 1831 1832 The other scripts don't need changes for .lz support because 1833 in those scripts it is enough that xz supports .lz. 1834 1835 src/scripts/xzdiff.in | 10 +++++----- 1836 1 file changed, 5 insertions(+), 5 deletions(-) 1837 1838commit d76c752a6d77052e5ad57ade555082585f7ac5d8 1839Author: Lasse Collin <lasse.collin@tukaani.org> 1840Date: 2022-11-11 12:23:58 +0200 1841 1842 Scripts: Ignore warnings from xz. 1843 1844 In practice this means making the scripts work when 1845 the input files have an unsupported check type which 1846 isn't a problem in practice unless support for 1847 some check types has been disabled at build time. 1848 1849 src/scripts/xzdiff.in | 5 +++-- 1850 src/scripts/xzgrep.in | 2 +- 1851 src/scripts/xzless.in | 4 ++-- 1852 src/scripts/xzmore.in | 4 ++-- 1853 4 files changed, 8 insertions(+), 7 deletions(-) 1854 1855commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c 1856Author: Lasse Collin <lasse.collin@tukaani.org> 1857Date: 2022-11-10 12:34:43 +0200 1858 1859 Translations: Rename poa4/fr_FR.po to po4a/fr.po. 1860 1861 That's how it is preferred at the Translation Project. 1862 On my system /usr/share/man/fr_FR doesn't contain any 1863 other man pages than XZ Utils while /usr/share/man/fr 1864 has quite a few, so this will fix that too. 1865 1866 Thanks to Benno Schulenberg from the Translation Project. 1867 1868 po4a/{fr_FR.po => fr.po} | 0 1869 po4a/po4a.conf | 2 +- 1870 2 files changed, 1 insertion(+), 1 deletion(-) 1871 1872commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a 1873Author: Lasse Collin <lasse.collin@tukaani.org> 1874Date: 2022-11-09 18:48:50 +0200 1875 1876 xz: Update the man page about BCJ filters, including upcoming --arm64. 1877 1878 The --arm64 isn't actually implemented yet in the form 1879 described in this commit. 1880 1881 Thanks to Jia Tan. 1882 1883 src/xz/xz.1 | 66 +++++++++++++++++++++++++++---------------------------------- 1884 1 file changed, 29 insertions(+), 37 deletions(-) 1885 1886commit ba2ae3596f6be1587495f33b367488f6e00e56f1 1887Author: Lasse Collin <lasse.collin@tukaani.org> 1888Date: 2022-11-09 18:14:14 +0200 1889 1890 xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb). 1891 1892 Modern 32-bit ARM in big endian mode use little endian for 1893 instruction encoding still, so the filters work on such 1894 executables too. It's likely less confusing for users this way. 1895 1896 The --arm64 option hasn't been implemented yet (there is 1897 --experimental-arm64 but it's different). The --arm64 option 1898 is added now anyway because this is the likely result and the 1899 strings need to be ready for translators. 1900 1901 Thanks to Jia Tan. 1902 1903 src/xz/message.c | 5 +++-- 1904 1 file changed, 3 insertions(+), 2 deletions(-) 1905 1906commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55 1907Author: Lasse Collin <lasse.collin@tukaani.org> 1908Date: 2022-11-09 15:12:13 +0200 1909 1910 Windows: Update the VS project files for ARM64 and .lz support. 1911 1912 windows/vs2013/config.h | 9 +++++++++ 1913 windows/vs2013/liblzma.vcxproj | 5 ++++- 1914 windows/vs2013/liblzma_dll.vcxproj | 5 ++++- 1915 windows/vs2017/config.h | 9 +++++++++ 1916 windows/vs2017/liblzma.vcxproj | 3 +++ 1917 windows/vs2017/liblzma_dll.vcxproj | 3 +++ 1918 windows/vs2019/config.h | 9 +++++++++ 1919 windows/vs2019/liblzma.vcxproj | 5 ++++- 1920 windows/vs2019/liblzma_dll.vcxproj | 5 ++++- 1921 9 files changed, 49 insertions(+), 4 deletions(-) 1922 1923commit 5846aeda05972bc803c6094821ae836229ebe691 1924Author: Lasse Collin <lasse.collin@tukaani.org> 1925Date: 2022-11-09 14:57:48 +0200 1926 1927 DOS: Update Makefile and config.h to include ARM64 and .lz support. 1928 1929 dos/Makefile | 2 ++ 1930 dos/config.h | 9 +++++++++ 1931 2 files changed, 11 insertions(+) 1932 1933commit 781da8d6c44de6aa278c916375250668a0b107f2 1934Author: Lasse Collin <lasse.collin@tukaani.org> 1935Date: 2022-11-09 14:45:05 +0200 1936 1937 CMake: Add lzip decoder files and #define to the build. 1938 1939 CMakeLists.txt | 3 +++ 1940 1 file changed, 3 insertions(+) 1941 1942commit df8ad4af65a9c4846b108550d0083770a69dee64 1943Author: Lasse Collin <lasse.collin@tukaani.org> 1944Date: 2022-11-09 14:41:56 +0200 1945 1946 Docs: Update INSTALL and also add new prohibited options to PACKAGERS. 1947 1948 INSTALL | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1949 PACKAGERS | 2 ++ 1950 2 files changed, 43 insertions(+), 8 deletions(-) 1951 1952commit c8ef089c149afaab413c3a51be827dd1d11afe0e 1953Author: Lasse Collin <lasse.collin@tukaani.org> 1954Date: 2022-10-20 17:39:06 +0300 1955 1956 Tests: Test the .lz files in test_files.sh. 1957 1958 tests/test_files.sh | 25 +++++++++++++++++++++++++ 1959 1 file changed, 25 insertions(+) 1960 1961commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7 1962Author: Lasse Collin <lasse.collin@tukaani.org> 1963Date: 2022-10-20 15:35:59 +0300 1964 1965 Tests: Add .lz (lzip) test files. 1966 1967 tests/files/README | 109 +++++++++++++++++++++++++++++---- 1968 tests/files/bad-1-v0-uncomp-size.lz | Bin 0 -> 42 bytes 1969 tests/files/bad-1-v1-crc32.lz | Bin 0 -> 50 bytes 1970 tests/files/bad-1-v1-dict-1.lz | Bin 0 -> 50 bytes 1971 tests/files/bad-1-v1-dict-2.lz | Bin 0 -> 50 bytes 1972 tests/files/bad-1-v1-magic-1.lz | Bin 0 -> 50 bytes 1973 tests/files/bad-1-v1-magic-2.lz | Bin 0 -> 50 bytes 1974 tests/files/bad-1-v1-member-size.lz | Bin 0 -> 50 bytes 1975 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes 1976 tests/files/bad-1-v1-uncomp-size.lz | Bin 0 -> 50 bytes 1977 tests/files/good-1-v0-trailing-1.lz | Bin 0 -> 59 bytes 1978 tests/files/good-1-v0.lz | Bin 0 -> 42 bytes 1979 tests/files/good-1-v1-trailing-1.lz | Bin 0 -> 67 bytes 1980 tests/files/good-1-v1-trailing-2.lz | Bin 0 -> 70 bytes 1981 tests/files/good-1-v1.lz | Bin 0 -> 50 bytes 1982 tests/files/good-2-v0-v1.lz | Bin 0 -> 78 bytes 1983 tests/files/good-2-v1-v0.lz | Bin 0 -> 78 bytes 1984 tests/files/good-2-v1-v1.lz | Bin 0 -> 86 bytes 1985 tests/files/unsupported-1-v234.lz | Bin 0 -> 50 bytes 1986 19 files changed, 98 insertions(+), 11 deletions(-) 1987 1988commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f 1989Author: Lasse Collin <lasse.collin@tukaani.org> 1990Date: 2022-10-19 22:32:51 +0300 1991 1992 xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz. 1993 1994 src/xz/args.c | 2 -- 1995 src/xz/coder.h | 1 - 1996 src/xz/suffix.c | 9 --------- 1997 3 files changed, 12 deletions(-) 1998 1999commit 3176f992c55b8d788c4633809aaf9447376a5a12 2000Author: Lasse Collin <lasse.collin@tukaani.org> 2001Date: 2022-10-08 21:28:15 +0300 2002 2003 xz: Add .lz (lzip) decompression support. 2004 2005 If configured with --disable-lzip-decoder then --long-help will 2006 still list `lzip' in --format but I left it like that since 2007 due to translations it would be messy to have two help strings. 2008 Features are disabled only in special situations so wrong help 2009 in such a situation shouldn't matter much. 2010 2011 Thanks to Michał Górny for the original patch. 2012 2013 src/xz/args.c | 9 ++++++++ 2014 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 2015 src/xz/coder.h | 3 +++ 2016 src/xz/message.c | 2 +- 2017 src/xz/suffix.c | 26 ++++++++++++++++++---- 2018 src/xz/xz.1 | 46 +++++++++++++++++++++++++++++++++----- 2019 6 files changed, 141 insertions(+), 13 deletions(-) 2020 2021commit 034086e1ae1459210837a24e04878435c86dc41b 2022Author: Lasse Collin <lasse.collin@tukaani.org> 2023Date: 2022-10-08 00:29:20 +0300 2024 2025 liblzma: Add .lz support to lzma_auto_decoder(). 2026 2027 Thanks to Michał Górny for the original patch. 2028 2029 src/liblzma/api/lzma/container.h | 10 ++++++---- 2030 src/liblzma/common/Makefile.inc | 3 ++- 2031 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------ 2032 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++ 2033 4 files changed, 47 insertions(+), 11 deletions(-) 2034 2035commit 0538db038f3cdc352007dacb42454aa1806b8e40 2036Author: Lasse Collin <lasse.collin@tukaani.org> 2037Date: 2022-10-06 15:50:20 +0300 2038 2039 liblzma: Add .lz (lzip) decompression support (format versions 0 and 1). 2040 2041 Support for format version 0 was removed from lzip 1.18 for some 2042 reason. .lz format version 0 files are rare (and old) but some 2043 source packages were released in this format, and some people might 2044 have personal files in this format too. It's very little extra code 2045 to support it along side format version 1 so this commits adds 2046 support for both. 2047 2048 The Sync Flush marker extentension to the original .lz format 2049 version 1 isn't supported. It would require changes to the 2050 LZMA decoder itself. Such files are very rare anyway. 2051 2052 See the API doc for lzma_lzip_decoder() for more details about 2053 the .lz format support. 2054 2055 Thanks to Michał Górny for the original patch. 2056 2057 configure.ac | 21 ++ 2058 src/liblzma/api/lzma/container.h | 62 +++++- 2059 src/liblzma/common/Makefile.inc | 5 + 2060 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++ 2061 src/liblzma/liblzma_generic.map | 1 + 2062 src/liblzma/liblzma_linux.map | 1 + 2063 6 files changed, 501 insertions(+), 2 deletions(-) 2064 2065commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c 2066Author: Lasse Collin <lasse.collin@tukaani.org> 2067Date: 2022-11-09 14:17:23 +0200 2068 2069 liblzma: Add the missing Makefile.inc change for --disable-microlzma. 2070 2071 This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8. 2072 2073 src/liblzma/common/Makefile.inc | 12 ++++++++++-- 2074 1 file changed, 10 insertions(+), 2 deletions(-) 2075 2076commit 724285dadbdc88765c8fb83eab9816575a260966 2077Author: Lasse Collin <lasse.collin@tukaani.org> 2078Date: 2022-11-09 14:10:52 +0200 2079 2080 xz: Add comments about stdin and src_st.st_size. 2081 2082 "xz -v < regular_file > out.xz" doesn't display the percentage 2083 and estimated remaining time because it doesn't even try to 2084 check the input file size when input is read from stdin. 2085 This could be improved but for now there's just a comment 2086 to remind about it. 2087 2088 src/xz/coder.c | 9 +++++++++ 2089 src/xz/file_io.c | 4 ++++ 2090 2 files changed, 13 insertions(+) 2091 2092commit f723eec68b0e44234910f669a29119de33018967 2093Author: Lasse Collin <lasse.collin@tukaani.org> 2094Date: 2022-11-09 12:48:22 +0200 2095 2096 xz: Fix displaying of file sizes in progress indicator in passthru mode. 2097 2098 It worked for one input file since the counters are zero when 2099 xz starts but they weren't reset when starting a new file in 2100 passthru mode. For example, if files A, B, and C are one byte each, 2101 then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes 2102 instead of 1, 1, and 1 byte. 2103 2104 src/xz/coder.c | 6 +++++- 2105 1 file changed, 5 insertions(+), 1 deletion(-) 2106 2107commit 69265d0f223ddf1d66f799b8b047df22923e376f 2108Author: Lasse Collin <lasse.collin@tukaani.org> 2109Date: 2022-11-09 11:27:20 +0200 2110 2111 xz: Add a comment why --to-stdout is not in --help. 2112 2113 It is on the man page still. 2114 2115 src/xz/message.c | 3 +++ 2116 1 file changed, 3 insertions(+) 2117 2118commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7 2119Author: Lasse Collin <lasse.collin@tukaani.org> 2120Date: 2022-11-08 23:05:37 +0200 2121 2122 xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress. 2123 2124 src/xz/list.c | 20 +++++++++++++++----- 2125 1 file changed, 15 insertions(+), 5 deletions(-) 2126 2127commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a 2128Author: Lasse Collin <lasse.collin@tukaani.org> 2129Date: 2022-11-08 22:26:54 +0200 2130 2131 Docs: Update faq.txt a little. 2132 2133 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++--------------------- 2134 1 file changed, 43 insertions(+), 23 deletions(-) 2135 2136commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b 2137Author: Lasse Collin <lasse.collin@tukaani.org> 2138Date: 2022-11-08 16:57:17 +0200 2139 2140 Translations: Update Turkish translation. 2141 2142 po/tr.po | 2 +- 2143 1 file changed, 1 insertion(+), 1 deletion(-) 2144 2145commit ed3a4822963b4940d84e6f44d47277c394fc046d 2146Author: Lasse Collin <lasse.collin@tukaani.org> 2147Date: 2022-11-08 14:55:32 +0200 2148 2149 Translations: Update Croatian translation. 2150 2151 po/hr.po | 190 ++++++++++++++++++++++++++++++++------------------------------- 2152 1 file changed, 96 insertions(+), 94 deletions(-) 2153 2154commit 4746f5ec721316bc4c6fec9905b2902e0360e0af 2155Author: Lasse Collin <lasse.collin@tukaani.org> 2156Date: 2022-11-08 14:13:03 +0200 2157 2158 liblzma: Update API docs about decoder flags. 2159 2160 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 2161 1 file changed, 17 insertions(+), 4 deletions(-) 2162 2163commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d 2164Author: Lasse Collin <lasse.collin@tukaani.org> 2165Date: 2022-11-08 14:01:50 +0200 2166 2167 liblzma: Use the return_if_error() macro in alone_decoder.c. 2168 2169 src/liblzma/common/alone_decoder.c | 6 ++---- 2170 1 file changed, 2 insertions(+), 4 deletions(-) 2171 2172commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc 2173Author: Lasse Collin <lasse.collin@tukaani.org> 2174Date: 2022-11-08 14:00:58 +0200 2175 2176 liblzma: Fix a comment in auto_decoder.c. 2177 2178 src/liblzma/common/auto_decoder.c | 4 ++-- 2179 1 file changed, 2 insertions(+), 2 deletions(-) 2180 2181commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334 2182Author: Lasse Collin <lasse.collin@tukaani.org> 2183Date: 2022-11-08 13:43:19 +0200 2184 2185 xz: Initialize the pledge(2) sandbox at the very beginning of main(). 2186 2187 It feels better that the initializations are sandboxed too. 2188 They don't do anything that the pledge() call wouldn't allow. 2189 2190 src/xz/main.c | 27 ++++++++++++++------------- 2191 1 file changed, 14 insertions(+), 13 deletions(-) 2192 2193commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5 2194Author: Lasse Collin <lasse.collin@tukaani.org> 2195Date: 2022-11-07 22:51:16 +0200 2196 2197 xz: Extend --robot --info-memory output. 2198 2199 Now it includes everything that the human-readable --info-memory shows. 2200 2201 src/xz/hardware.c | 24 +++++++++++++++--------- 2202 src/xz/xz.1 | 47 +++++++++++++++++++++++++++++++++++++++++------ 2203 2 files changed, 56 insertions(+), 15 deletions(-) 2204 2205commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8 2206Author: Lasse Collin <lasse.collin@tukaani.org> 2207Date: 2022-11-07 17:22:04 +0200 2208 2209 liblzma: Include cached memory in reported memusage in threaded decoder. 2210 2211 This affects lzma_memusage() and lzma_memlimit_set() when used 2212 with the threaded decompressor. Now all allocations are reported 2213 by lzma_memusage() (so it's not misleading) and lzma_memlimit_set() 2214 cannot lower the limit below that value. 2215 2216 The alternative would have been to allow lowering the limit if 2217 doing so is possible by freeing the cached memory but since 2218 the primary use case of lzma_memlimit_set() is to increase 2219 memlimit after LZMA_MEMLIMIT_ERROR this simple approach 2220 was selected. 2221 2222 The cached memory was always included when enforcing 2223 the memory usage limit while decoding. 2224 2225 Thanks to Jia Tan. 2226 2227 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++--- 2228 1 file changed, 19 insertions(+), 3 deletions(-) 2229 2230commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1 2231Author: Jia Tan <jiat0218@gmail.com> 2232Date: 2022-11-07 16:24:14 +0200 2233 2234 xz: Avoid a compiler warning in progress_speed() in message.c. 2235 2236 This should be smaller too since it avoids the string constants. 2237 2238 src/xz/message.c | 9 +++------ 2239 1 file changed, 3 insertions(+), 6 deletions(-) 2240 2241commit cf118c014683069b5dbe91898acdc40f2f0a1f5d 2242Author: Lasse Collin <lasse.collin@tukaani.org> 2243Date: 2022-10-31 16:26:05 +0200 2244 2245 Build: Clarify comment in configure.ac about SSE2. 2246 2247 configure.ac | 5 ++++- 2248 1 file changed, 4 insertions(+), 1 deletion(-) 2249 2250commit aad3c609ffb72f581a7a2b67be3ad70b2b327840 2251Author: Lasse Collin <lasse.collin@tukaani.org> 2252Date: 2022-10-31 16:16:37 +0200 2253 2254 Build: Remove obsolete commented-out lines from configure.ac. 2255 2256 configure.ac | 4 ---- 2257 1 file changed, 4 deletions(-) 2258 2259commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba 2260Author: Lasse Collin <lasse.collin@tukaani.org> 2261Date: 2022-10-31 13:31:58 +0200 2262 2263 Windows: Fix mythread_once() macro with Vista threads. 2264 2265 Don't call InitOnceComplete() if initialization was already done. 2266 2267 So far mythread_once() has been needed only when building 2268 with --enable-small. windows/build.bash does this together 2269 with --disable-threads so the Vista-specific mythread_once() 2270 is never needed by those builds. VS project files or 2271 CMake-builds don't support HAVE_SMALL builds at all. 2272 2273 src/common/mythread.h | 7 ++++--- 2274 1 file changed, 4 insertions(+), 3 deletions(-) 2275 2276commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58 2277Author: Lasse Collin <lasse.collin@tukaani.org> 2278Date: 2022-10-31 11:54:44 +0200 2279 2280 liblzma: Silence -Wconversion warning from crc64_fast.c. 2281 2282 src/liblzma/check/crc64_fast.c | 5 +++-- 2283 1 file changed, 3 insertions(+), 2 deletions(-) 2284 2285commit a243c617ff249d915ac123de4f536b80322c1fdb 2286Author: Lasse Collin <lasse.collin@tukaani.org> 2287Date: 2022-10-31 11:49:47 +0200 2288 2289 CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4. 2290 2291 This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43. 2292 2293 cmake/tuklib_cpucores.cmake | 5 +++++ 2294 1 file changed, 5 insertions(+) 2295 2296commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75 2297Author: Lasse Collin <lasse.collin@tukaani.org> 2298Date: 2022-10-27 15:49:18 +0300 2299 2300 Tests: test_files.sh: Make it not fail if features were disabled at build. 2301 2302 It now tries to test as many files as easily possible. 2303 The exit status indicates skipping if any of the files were 2304 skipped. This way it is easy to notice if something is being 2305 skipped when it isn't expected. 2306 2307 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 2308 1 file changed, 46 insertions(+), 4 deletions(-) 2309 2310commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de 2311Author: Lasse Collin <lasse.collin@tukaani.org> 2312Date: 2022-10-27 15:30:13 +0300 2313 2314 Tests: test_files.sh: Suppress an expected warning from the log. 2315 2316 xz (but not xzdec) will normally warn about unsupported check 2317 but since we are testing specifically such a file, it's better 2318 to silence that warning so that it doesn't look suspicious in 2319 test_files.sh.log. 2320 2321 The use of -q and -Q in xzdec is just for consistency and 2322 doesn't affect the result at least for now. 2323 2324 tests/test_files.sh | 4 ++-- 2325 1 file changed, 2 insertions(+), 2 deletions(-) 2326 2327commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce 2328Author: Lasse Collin <lasse.collin@tukaani.org> 2329Date: 2022-10-27 15:27:50 +0300 2330 2331 Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing. 2332 2333 tests/test_files.sh | 1 + 2334 1 file changed, 1 insertion(+) 2335 2336commit c1dd8524e1af07f16b790463899de06a6a5fcc08 2337Author: Lasse Collin <lasse.collin@tukaani.org> 2338Date: 2022-10-27 01:12:40 +0300 2339 2340 Tests: Keep test_compress_* working when some filters are unavailable. 2341 2342 tests/test_compress.sh | 34 ++++++++++++++++++++-------------- 2343 1 file changed, 20 insertions(+), 14 deletions(-) 2344 2345commit ce30ada91951d0746879ae438da11f1ee8a90aa0 2346Author: Jia Tan <jiat0218@gmail.com> 2347Date: 2022-10-23 21:01:08 +0800 2348 2349 Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled. 2350 2351 tests/test_bcj_exact_size.c | 3 +++ 2352 1 file changed, 3 insertions(+) 2353 2354commit 89c5cfcacaca7130509fac836e2f30c46b824502 2355Author: Lasse Collin <lasse.collin@tukaani.org> 2356Date: 2022-10-26 00:05:57 +0300 2357 2358 Tests: Test also unsupported-*.xz. 2359 2360 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++ 2361 1 file changed, 37 insertions(+) 2362 2363commit a4b214b93ac741edef9c41e55865b0b867ca2587 2364Author: Lasse Collin <lasse.collin@tukaani.org> 2365Date: 2022-10-25 23:45:03 +0300 2366 2367 Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER. 2368 2369 We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS. 2370 2371 There is a warning about AC_PROG_CC_C99 being obsolete but 2372 it cannot be removed because it is needed with Autoconf 2.69. 2373 2374 configure.ac | 2 +- 2375 1 file changed, 1 insertion(+), 1 deletion(-) 2376 2377commit 04f299b64e73f50afc188c2590ebebc6b73ed744 2378Author: Lasse Collin <lasse.collin@tukaani.org> 2379Date: 2022-10-25 23:31:44 +0300 2380 2381 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 2382 2383 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++------- 2384 1 file changed, 22 insertions(+), 7 deletions(-) 2385 2386commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8 2387Author: Lasse Collin <lasse.collin@tukaani.org> 2388Date: 2022-10-25 23:28:34 +0300 2389 2390 Build: Add configure option --disable-microlzma. 2391 2392 MicroLZMA was made for EROFS and used by erofs-utils. 2393 It might be used by something else in the future but 2394 those wanting a smaller build for specific situations 2395 can now disable this rarely-needed feature. 2396 2397 configure.ac | 22 ++++++++++++++++++++++ 2398 1 file changed, 22 insertions(+) 2399 2400commit 054ccd6d14b2cc6eddc56897af280d3221414150 2401Author: Lasse Collin <lasse.collin@tukaani.org> 2402Date: 2022-10-25 23:09:11 +0300 2403 2404 xz: Fix --single-stream with an empty .xz Stream. 2405 2406 Example: 2407 2408 $ xz -dc --single-stream good-0-empty.xz 2409 xz: good-0-empty.xz: Internal error (bug) 2410 2411 The code, that is tries to catch some input file issues early, 2412 didn't anticipate LZMA_STREAM_END which is possible in that 2413 code only when --single-stream is used. 2414 2415 src/xz/coder.c | 9 +++++++++ 2416 1 file changed, 9 insertions(+) 2417 2418commit 563288ea705e83ff5cb292adf794650c263bca1d 2419Author: Lasse Collin <lasse.collin@tukaani.org> 2420Date: 2022-10-25 21:11:58 +0300 2421 2422 xz: Add support for OpenBSD's pledge() sandbox. 2423 2424 configure.ac | 12 +++++++++--- 2425 src/xz/file_io.c | 11 +++++++++++ 2426 src/xz/main.c | 13 +++++++++++++ 2427 src/xz/private.h | 2 +- 2428 4 files changed, 34 insertions(+), 4 deletions(-) 2429 2430commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944 2431Author: Lasse Collin <lasse.collin@tukaani.org> 2432Date: 2022-10-25 19:07:17 +0300 2433 2434 xz: Fix decompressor behavior if input uses an unsupported check type. 2435 2436 Now files with unsupported check will make xz display 2437 a warning, set the exit status to 2 (unless --no-warn is used), 2438 and then decompress the file normally. This is how it was 2439 supposed to work since the beginning but this was broken by 2440 the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is, 2441 a little before 5.0.0 was released. The buggy behavior displayed 2442 a message, set exit status 1 (error), and xz didn't attempt to 2443 to decompress the file. 2444 2445 This doesn't matter today except for special builds that disable 2446 CRC64 or SHA-256 at build time (but such builds should be used 2447 in special situations only). The bug matters if new check type 2448 is added in the future and an old xz version is used to decompress 2449 such a file; however, it's likely that such files would use a new 2450 filter too and an old xz wouldn't be able to decompress the file 2451 anyway. 2452 2453 The first hunk in the commit is the actual fix. The second hunk 2454 is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz. 2455 2456 There is a test file for unsupported check type but it wasn't 2457 used by test_files.sh, perhaps due to different behavior between 2458 xz and the simpler xzdec. 2459 2460 src/xz/coder.c | 19 +++++++++++++++---- 2461 1 file changed, 15 insertions(+), 4 deletions(-) 2462 2463commit aa4fe145b9486adc454f44fd3e09be9add808a0f 2464Author: Lasse Collin <lasse.collin@tukaani.org> 2465Date: 2022-10-25 18:36:19 +0300 2466 2467 xz: Clarify the man page: input file isn't removed if an error occurs. 2468 2469 src/xz/xz.1 | 5 +++-- 2470 1 file changed, 3 insertions(+), 2 deletions(-) 2471 2472commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d 2473Author: Lasse Collin <lasse.collin@tukaani.org> 2474Date: 2022-10-25 18:30:55 +0300 2475 2476 xz: Refactor to remove is_empty_filename(). 2477 2478 Long ago it was used in list.c too but nowadays it's needed 2479 only in io_open_src() so it's nicer to avoid a separate function. 2480 2481 src/xz/file_io.c | 4 +++- 2482 src/xz/util.c | 12 ------------ 2483 src/xz/util.h | 4 ---- 2484 3 files changed, 3 insertions(+), 17 deletions(-) 2485 2486commit 85624015978b0de294cff3df79006df987c552b1 2487Author: Lasse Collin <lasse.collin@tukaani.org> 2488Date: 2022-10-25 18:23:54 +0300 2489 2490 xz: If input file cannot be removed, treat it as a warning, not error. 2491 2492 Treating it as a warning (message + exit status 2) matches gzip 2493 and it seems more logical as at that point the output file has 2494 already been successfully closed. When it's a warning it is 2495 possible to suppress it with --no-warn. 2496 2497 src/xz/file_io.c | 4 ++-- 2498 1 file changed, 2 insertions(+), 2 deletions(-) 2499 2500commit fda9f85f52c546f7ca0313cf89481da4707fecb3 2501Author: Lasse Collin <lasse.collin@tukaani.org> 2502Date: 2022-10-24 16:25:09 +0300 2503 2504 liblzma: Threaded decoder: Stop the worker threads on errors. 2505 2506 It's waste of CPU time and electricity to leave the unfinished 2507 worker threads running when it is known that their output will 2508 get ignored. 2509 2510 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++------- 2511 1 file changed, 26 insertions(+), 7 deletions(-) 2512 2513commit 2611c4d90535652d3eb7ef4a026a6691276fab43 2514Author: Lasse Collin <lasse.collin@tukaani.org> 2515Date: 2022-10-20 20:22:50 +0300 2516 2517 tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD. 2518 2519 On OpenBSD the number of cores online is often less 2520 than what HW_NCPU would return because OpenBSD disables 2521 simultaneous multi-threading (SMT) by default. 2522 2523 Thanks to Christian Weisgerber. 2524 2525 m4/tuklib_cpucores.m4 | 5 +++++ 2526 src/common/tuklib_cpucores.c | 9 +++++++++ 2527 2 files changed, 14 insertions(+) 2528 2529commit 424ac91c7e0419393ff2bde4f62e21fa611c776d 2530Author: Lasse Collin <lasse.collin@tukaani.org> 2531Date: 2022-10-19 19:39:35 +0300 2532 2533 Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled. 2534 2535 This isn't perfect as the scripts can still fail if only 2536 certain filters are disabled. This is still an improvement 2537 as now "make check" has better behavior when all encoders 2538 or decoders are disabled. 2539 2540 Grepping ../config.h is simple and fairly clean but it only 2541 works if config.h was created. CMake builds don't create 2542 config.h but they don't use these test scripts either. 2543 2544 Thanks to Sebastian Andrzej Siewior for reporting the problem. 2545 Thanks to Jia Tan for the original patch which grepped xz 2546 error messages instead of config.h. 2547 2548 tests/test_compress.sh | 12 ++++++++++++ 2549 tests/test_files.sh | 11 +++++++++++ 2550 tests/test_scripts.sh | 11 +++++++++++ 2551 3 files changed, 34 insertions(+) 2552 2553commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09 2554Author: Lasse Collin <lasse.collin@tukaani.org> 2555Date: 2022-10-19 18:54:34 +0300 2556 2557 Test: Remove the (exit 1) lines. 2558 2559 I suspect that I used these in the original version because 2560 Autoconf's manual describes that such a trick is needed in 2561 some specific situations for portability reasons. None of those 2562 situations listed on Autoconf 2.71 manual apply to these test 2563 scripts though so this cleans them up. 2564 2565 tests/test_compress.sh | 10 ---------- 2566 tests/test_files.sh | 9 --------- 2567 tests/test_scripts.sh | 6 ------ 2568 3 files changed, 25 deletions(-) 2569 2570commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e 2571Author: Lasse Collin <lasse.collin@tukaani.org> 2572Date: 2022-10-19 17:14:57 +0300 2573 2574 Tests: Fix a warning in test_memlimit.c when decoders are disabled. 2575 2576 tests/test_memlimit.c | 3 +++ 2577 1 file changed, 3 insertions(+) 2578 2579commit b5f8271b45b9b0e59485ffba3640ca3418835ec4 2580Author: Lasse Collin <lasse.collin@tukaani.org> 2581Date: 2022-10-19 17:11:46 +0300 2582 2583 Tests: Add test_memlimit to .gitignore. 2584 2585 Thanks to Jia Tan. 2586 2587 .gitignore | 1 + 2588 1 file changed, 1 insertion(+) 2589 2590commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38 2591Author: Jia Tan <jiat0218@gmail.com> 2592Date: 2022-10-06 21:53:09 +0300 2593 2594 Tests: Refactor test_stream_flags.c. 2595 2596 Converts test_stream_flags to tuktest. Also the test will now 2597 compile and skip properly if encoders or decoders are disabled. 2598 2599 Thanks to Sebastian Andrzej Siewior. 2600 2601 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++---------- 2602 1 file changed, 416 insertions(+), 117 deletions(-) 2603 2604commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66 2605Author: Jia Tan <jiat0218@gmail.com> 2606Date: 2022-10-06 17:00:38 +0800 2607 2608 Tests: Refactor test_block_header.c. 2609 2610 test_block_header now achieves higher test coverage. Also the 2611 test will now compile and skip properly if encoders or decoders 2612 are disabled. 2613 2614 Thanks to Sebastian Andrzej Siewior. 2615 2616 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++----------- 2617 1 file changed, 370 insertions(+), 116 deletions(-) 2618 2619commit 84963318952064a93bfc52edd6b0ef70593384ee 2620Author: Jia Tan <jiat0218@gmail.com> 2621Date: 2022-10-05 23:54:12 +0800 2622 2623 Tests: Fix compilation issues. 2624 2625 test_bcj_exact_size, test_check, test_hardware, and test_index will 2626 all now compile and skip properly if encoders or decoders are disabled. 2627 2628 Also fixed a small typo (disabed -> disabled). 2629 2630 Thanks to Sebastian Andrzej Siewior. 2631 2632 tests/test_bcj_exact_size.c | 20 ++++++++++++++------ 2633 tests/test_check.c | 8 +++++++- 2634 tests/test_hardware.c | 2 +- 2635 tests/test_index.c | 6 ++++++ 2636 tests/test_memlimit.c | 16 +++++++++++++++- 2637 tests/test_vli.c | 13 +++++++++++++ 2638 6 files changed, 56 insertions(+), 9 deletions(-) 2639 2640commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16 2641Author: Lasse Collin <lasse.collin@tukaani.org> 2642Date: 2022-10-05 16:20:47 +0300 2643 2644 Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED. 2645 2646 tests/test_check.c | 1 + 2647 tests/test_hardware.c | 1 + 2648 tests/test_memlimit.c | 1 + 2649 3 files changed, 3 insertions(+) 2650 2651commit 14af758a770c7781af18fb66d6d21ee5b1c27f04 2652Author: Jia Tan <jiat0218@gmail.com> 2653Date: 2022-10-05 20:57:16 +0800 2654 2655 liblzma: Fix a compilation issue when encoders are disabled. 2656 2657 When encoders were disabled and threading enabled, outqueue.c and 2658 outqueue.h were not compiled. The multi threaded decoder required 2659 these files, so compilation failed. 2660 2661 src/liblzma/common/Makefile.inc | 7 ++++--- 2662 1 file changed, 4 insertions(+), 3 deletions(-) 2663 2664commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f 2665Author: Jia Tan <jiat0218@gmail.com> 2666Date: 2022-10-05 16:41:38 +0800 2667 2668 Tests: Fix compilation error when threading support has been disabled. 2669 2670 Now tests that require threading are skipped when threading 2671 support has been disabled. 2672 2673 Thanks to Sebastian Andrzej Siewior. 2674 2675 tests/test_check.c | 4 ++++ 2676 tests/test_hardware.c | 4 ++++ 2677 tests/test_memlimit.c | 4 ++++ 2678 3 files changed, 12 insertions(+) 2679 2680commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58 2681Author: Lasse Collin <lasse.collin@tukaani.org> 2682Date: 2022-10-05 14:26:00 +0300 2683 2684 tuklib_integer: Add 64-bit endianness-converting reads and writes. 2685 2686 Also update the comment in liblzma's memcmplen.h. 2687 2688 Thanks to Michał Górny for the original patch for the reads. 2689 2690 m4/tuklib_integer.m4 | 8 ++++---- 2691 src/common/tuklib_integer.h | 46 ++++++++++++++++++++++++++++++++++++++++-- 2692 src/liblzma/common/memcmplen.h | 9 +++------ 2693 3 files changed, 51 insertions(+), 12 deletions(-) 2694 2695commit 508a44372c5b0dede8863fd0d358d4a9d8645c95 2696Author: Lasse Collin <lasse.collin@tukaani.org> 2697Date: 2022-09-30 12:06:13 +0300 2698 2699 liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug. 2700 2701 The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98. 2702 2703 src/liblzma/api/lzma/base.h | 11 +++++++++++ 2704 1 file changed, 11 insertions(+) 2705 2706commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed 2707Author: Jia Tan <jiat0218@gmail.com> 2708Date: 2022-09-21 16:15:50 +0800 2709 2710 liblzma: Add dest and src NULL checks to lzma_index_cat. 2711 2712 The documentation states LZMA_PROG_ERROR can be returned from 2713 lzma_index_cat. Previously, lzma_index_cat could not return 2714 LZMA_PROG_ERROR. Now, the validation is similar to 2715 lzma_index_append, which does a NULL check on the index 2716 parameter. 2717 2718 src/liblzma/common/index.c | 3 +++ 2719 1 file changed, 3 insertions(+) 2720 2721commit afd5a8bf5374eba82804a999e1ea7af680784086 2722Author: Jia Tan <jiat0218@gmail.com> 2723Date: 2022-09-21 20:29:28 +0800 2724 2725 Tests: Create a test for the lzma_index_cat bug. 2726 2727 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 2728 1 file changed, 42 insertions(+), 1 deletion(-) 2729 2730commit 3d5a99ca373a4e86faf671226ca6487febb9eeac 2731Author: Jia Tan <jiat0218@gmail.com> 2732Date: 2022-09-21 19:28:53 +0800 2733 2734 liblzma: Fix copying of check type statistics in lzma_index_cat(). 2735 2736 The check type of the last Stream in dest was never copied to 2737 dest->checks (the code tried to copy it but it was done too late). 2738 This meant that the value returned by lzma_index_checks() would 2739 only include the check type of the last Stream when multiple 2740 lzma_indexes had been concatenated. 2741 2742 In xz --list this meant that the summary would only list the 2743 check type of the last Stream, so in this sense this was only 2744 a visual bug. However, it's possible that some applications 2745 use this information for purposes other than merely showing 2746 it to the users in an informational message. I'm not aware of 2747 such applications though and it's quite possible that such 2748 applications don't exist. 2749 2750 Regular streamed decompression in xz or any other application 2751 doesn't use lzma_index_cat() and so this bug cannot affect them. 2752 2753 src/liblzma/common/index.c | 7 ++++++- 2754 1 file changed, 6 insertions(+), 1 deletion(-) 2755 2756commit a61d32172789735350a941e23baf6b587c49e5d9 2757Author: Lasse Collin <lasse.collin@tukaani.org> 2758Date: 2022-09-28 12:20:41 +0300 2759 2760 tuklib_physmem: Fix Unicode builds on Windows. 2761 2762 Thanks to ArSaCiA Game. 2763 2764 src/common/tuklib_physmem.c | 2 +- 2765 1 file changed, 1 insertion(+), 1 deletion(-) 2766 2767commit 5a4d3548ab214fdca364d5c734baf1d1fab47308 2768Author: Lasse Collin <lasse.collin@tukaani.org> 2769Date: 2022-09-28 11:12:07 +0300 2770 2771 Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR. 2772 2773 tests/Makefile.am | 2 + 2774 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2775 2 files changed, 153 insertions(+) 2776 2777commit 660739f99ab211edec4071de98889fb32ed04e98 2778Author: Lasse Collin <lasse.collin@tukaani.org> 2779Date: 2022-09-28 11:05:15 +0300 2780 2781 liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR. 2782 2783 If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible 2784 to use lzma_memlimit_set() to increase the limit and continue 2785 decoding. This was supposed to work from the beginning but 2786 there was a bug. With other decoders (.lzma or threaded .xz) 2787 this already worked correctly. 2788 2789 src/liblzma/common/stream_decoder.c | 16 +++++++++++++--- 2790 1 file changed, 13 insertions(+), 3 deletions(-) 2791 2792commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b 2793Author: Lasse Collin <lasse.collin@tukaani.org> 2794Date: 2022-09-28 11:00:23 +0300 2795 2796 liblzma: Stream decoder: Fix comments. 2797 2798 src/liblzma/common/stream_decoder.c | 12 +++++------- 2799 1 file changed, 5 insertions(+), 7 deletions(-) 2800 2801commit f664cb25841fc1c478b819034a224a558e2ac6e7 2802Author: Lasse Collin <lasse.collin@tukaani.org> 2803Date: 2022-09-20 16:58:22 +0300 2804 2805 liblzma: ARM64: Add comments. 2806 2807 src/liblzma/simple/arm64.c | 13 +++++++++++++ 2808 1 file changed, 13 insertions(+) 2809 2810commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41 2811Author: Lasse Collin <lasse.collin@tukaani.org> 2812Date: 2022-09-20 16:27:50 +0300 2813 2814 liblzma: ARM64: Fix wrong comment in API doc. 2815 2816 Thanks to Jia Tan. 2817 2818 src/liblzma/api/lzma/bcj.h | 4 ++-- 2819 1 file changed, 2 insertions(+), 2 deletions(-) 2820 2821commit d5b0906fa55157f48c200188a3951d80df9cb308 2822Author: Lasse Collin <lasse.collin@tukaani.org> 2823Date: 2022-09-19 20:24:26 +0300 2824 2825 xz: Add --experimental-arm64[=width=WIDTH]. 2826 2827 It will be renamed to --arm64 once it is stable. 2828 2829 Man page or --long-help weren't updated yet. 2830 2831 src/xz/args.c | 7 +++++++ 2832 src/xz/message.c | 7 +++++++ 2833 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++ 2834 src/xz/options.h | 7 +++++++ 2835 4 files changed, 60 insertions(+) 2836 2837commit ecb966de308c255bb4735a7307ef9901c643a9de 2838Author: Lasse Collin <lasse.collin@tukaani.org> 2839Date: 2022-09-19 19:34:56 +0300 2840 2841 liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID. 2842 2843 That is, the Filter ID will be changed once the design is final. 2844 The current version will be removed. So files created with the 2845 tempoary Filter ID won't be supported in the future. 2846 2847 CMakeLists.txt | 3 + 2848 configure.ac | 4 +- 2849 src/liblzma/api/lzma/bcj.h | 35 +++++- 2850 src/liblzma/common/filter_common.c | 9 ++ 2851 src/liblzma/common/filter_decoder.c | 8 ++ 2852 src/liblzma/common/filter_encoder.c | 11 ++ 2853 src/liblzma/simple/Makefile.inc | 4 + 2854 src/liblzma/simple/arm64.c | 227 ++++++++++++++++++++++++++++++++++++ 2855 src/liblzma/simple/simple_coder.h | 9 ++ 2856 src/liblzma/simple/simple_decoder.h | 4 + 2857 src/liblzma/simple/simple_encoder.h | 2 + 2858 11 files changed, 313 insertions(+), 3 deletions(-) 2859 2860commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8 2861Author: Lasse Collin <lasse.collin@tukaani.org> 2862Date: 2022-09-17 22:42:18 +0300 2863 2864 liblzma: Simple/BCJ filters: Allow disabling generic BCJ options. 2865 2866 This will be needed for the ARM64 BCJ filter as it will use 2867 its own options struct. 2868 2869 src/liblzma/simple/arm.c | 2 +- 2870 src/liblzma/simple/armthumb.c | 2 +- 2871 src/liblzma/simple/ia64.c | 2 +- 2872 src/liblzma/simple/powerpc.c | 2 +- 2873 src/liblzma/simple/simple_coder.c | 4 ++-- 2874 src/liblzma/simple/simple_private.h | 2 +- 2875 src/liblzma/simple/sparc.c | 2 +- 2876 src/liblzma/simple/x86.c | 3 ++- 2877 8 files changed, 10 insertions(+), 9 deletions(-) 2878 2879commit c3592d0a55114144686ecf960cb516d6b31c98e9 2880Author: Lasse Collin <lasse.collin@tukaani.org> 2881Date: 2022-09-16 17:08:53 +0300 2882 2883 Tests: Add a test file for lzma_index_append() integer overflow bug. 2884 2885 This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136. 2886 2887 test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz 2888 because only then the previously-buggy code path gets tested. 2889 Normal decompression doesn't use lzma_index_append() at all. 2890 Instead, lzma_index_hash functions are used and those already 2891 did the overflow check. 2892 2893 tests/files/README | 10 ++++++++++ 2894 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes 2895 tests/test_files.sh | 8 ++++++++ 2896 3 files changed, 18 insertions(+) 2897 2898commit 982b29f828079a2a26253a40e975127a40a7d2bd 2899Author: Lasse Collin <lasse.collin@tukaani.org> 2900Date: 2022-09-16 15:10:07 +0300 2901 2902 Translations: Add Turkish translation. 2903 2904 po/LINGUAS | 1 + 2905 po/tr.po | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2906 2 files changed, 978 insertions(+) 2907 2908commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2 2909Author: Lasse Collin <lasse.collin@tukaani.org> 2910Date: 2022-09-16 14:09:07 +0300 2911 2912 Update THANKS. 2913 2914 THANKS | 1 + 2915 1 file changed, 1 insertion(+) 2916 2917commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420 2918Author: Lasse Collin <lasse.collin@tukaani.org> 2919Date: 2022-09-16 14:07:03 +0300 2920 2921 xzgrep: Fix compatibility with old shells. 2922 2923 Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15: 2924 2925 xzgrep: line 231: syntax error near unexpected token `;;' 2926 2927 On SCO OpenServer 5.0.7 with Korn Shell 93r: 2928 2929 syntax error at line 231 : `;;' unexpected 2930 2931 Turns out that some old shells don't like apostrophes (') inside 2932 command substitutions. For example, the following fails: 2933 2934 x=$(echo foo 2935 # asdf'zxcv 2936 echo bar) 2937 printf '%s\n' "$x" 2938 2939 The problem was introduced by commits 2940 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29), 2941 bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and 2942 a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19). 2943 5.2.6 is the only stable release that included 2944 this problem. 2945 2946 Thanks to Kevin R. Bulgrien for reporting the problem 2947 on SCO OpenServer 5.0.7 and for providing the fix. 2948 2949 src/scripts/xzgrep.in | 6 +++--- 2950 1 file changed, 3 insertions(+), 3 deletions(-) 2951 2952commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99 2953Author: Lasse Collin <lasse.collin@tukaani.org> 2954Date: 2022-09-09 14:12:30 +0300 2955 2956 Tests: Silence warnings about unused functions from tuktest.h. 2957 2958 Warnings about unused tuktest_run_test conveniently tell which 2959 test programs haven't been converted to tuktest.h yet but I 2960 silenced that warning too for now anyway. 2961 2962 It is fine to use __attribute__((__unused__)) even when the 2963 function is actually used because the attribute only means 2964 that the function might be unused. 2965 2966 tests/tuktest.h | 10 ++++++++++ 2967 1 file changed, 10 insertions(+) 2968 2969commit f8ee61e74eb40600445fdb601c374d582e1e9c8a 2970Author: Lasse Collin <lasse.collin@tukaani.org> 2971Date: 2022-09-09 13:51:57 +0300 2972 2973 liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs. 2974 2975 lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed 2976 this. Before this patch, failing lzma_filters_copy() could result 2977 in free(invalid_pointer) or invalid memory reads in stream_encoder.c 2978 or stream_encoder_mt.c. 2979 2980 To trigger this, allocating memory for a filter options structure 2981 has to fail. These are tiny allocations so in practice they very 2982 rarely fail. 2983 2984 Certain badness in the filter chain array could also make 2985 lzma_filters_copy() fail but both stream_encoder.c and 2986 stream_encoder_mt.c validate the filter chain before 2987 trying to copy it, so the crash cannot occur this way. 2988 2989 src/liblzma/api/lzma/filter.h | 4 +++- 2990 src/liblzma/common/filter_common.c | 18 ++++++++++++------ 2991 2 files changed, 15 insertions(+), 7 deletions(-) 2992 2993commit 18d7facd3802b55c287581405c4d49c98708c136 2994Author: Jia Tan <jiat0218@gmail.com> 2995Date: 2022-09-02 20:18:55 +0800 2996 2997 liblzma: lzma_index_append: Add missing integer overflow check. 2998 2999 The documentation in src/liblzma/api/lzma/index.h suggests that 3000 both the unpadded (compressed) size and the uncompressed size 3001 are checked for overflow, but only the unpadded size was checked. 3002 The uncompressed check is done first since that is more likely to 3003 occur than the unpadded or index field size overflows. 3004 3005 src/liblzma/common/index.c | 4 ++++ 3006 1 file changed, 4 insertions(+) 3007 3008commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4 3009Author: Lasse Collin <lasse.collin@tukaani.org> 3010Date: 2022-09-08 15:11:08 +0300 3011 3012 Update THANKS. 3013 3014 THANKS | 1 + 3015 1 file changed, 1 insertion(+) 3016 3017commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc 3018Author: Jia Tan <jiat0218@gmail.com> 3019Date: 2022-09-08 15:07:00 +0300 3020 3021 CMake: Clarify a comment about Windows symlinks without file extension. 3022 3023 CMakeLists.txt | 7 +++---- 3024 1 file changed, 3 insertions(+), 4 deletions(-) 3025 3026commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d 3027Author: Lasse Collin <lasse.collin@tukaani.org> 3028Date: 2022-09-08 15:02:41 +0300 3029 3030 CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep. 3031 3032 The previous commit split liblzma.map into liblzma_linux.map and 3033 liblzma_generic.map. This commit updates the CMake build for those. 3034 3035 common_w32res.rc dependency was listed under Linux/FreeBSD while 3036 obviously it belongs to Windows when building a DLL. 3037 3038 CMakeLists.txt | 24 +++++++++++++++++++----- 3039 1 file changed, 19 insertions(+), 5 deletions(-) 3040 3041commit 913ddc5572b9455fa0cf299be2e35c708840e922 3042Author: Lasse Collin <lasse.collin@tukaani.org> 3043Date: 2022-09-04 23:23:00 +0300 3044 3045 liblzma: Vaccinate against an ill patch from RHEL/CentOS 7. 3046 3047 RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded 3048 encoder that is behind #ifdef LZMA_UNSTABLE in the API headers. 3049 In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map. 3050 API/ABI compatibility tracking isn't done between development 3051 releases so newer releases didn't have XZ_5.1.2alpha anymore. 3052 3053 Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep 3054 the exported symbols compatible with 5.1.2alpha. After checking 3055 the ABI changes it turned out that >= 5.2.0 ABI is backward 3056 compatible with the threaded encoder functions from 5.1.2alpha 3057 (but not vice versa as fixes and extensions to these functions 3058 were made between 5.1.2alpha and 5.2.0). 3059 3060 In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with 3061 xz-5.2.2-compat-libs.patch to modify liblzma.map: 3062 3063 - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and 3064 lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha. 3065 3066 - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was 3067 an error; the intention was to keep using XZ_5.2 (XZ_5.2.2 3068 has never been used in XZ Utils). So XZ_5.2.2 lists all 3069 symbols that were listed under XZ_5.2 before the patch. 3070 lzma_stream_encoder_mt and _mt_memusage are included too so 3071 they are listed both here and under XZ_5.1.2alpha. 3072 3073 The patch didn't add any __asm__(".symver ...") lines to the .c 3074 files. Thus the resulting liblzma.so exports the threaded encoder 3075 functions under XZ_5.1.2alpha only. Listing the two functions 3076 also under XZ_5.2.2 in liblzma.map has no effect without 3077 matching .symver lines. 3078 3079 The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked 3080 against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7. 3081 This is unfortunate but this alone isn't too bad as the problem 3082 is contained within RHEL/CentOS 7 and doesn't affect users 3083 of other distributions. It could also be fixed internally in 3084 RHEL/CentOS 7. 3085 3086 The second problem is more serious: In XZ Utils 5.2.2 the API 3087 headers don't have #ifdef LZMA_UNSTABLE for obvious reasons. 3088 This is true in RHEL/CentOS 7 version too. Thus now programs 3089 using new APIs can be compiled without an extra #define. However, 3090 the programs end up depending on symbol version XZ_5.1.2alpha 3091 (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would 3092 with an unpatched XZ Utils 5.2.2. This means that such binaries 3093 won't run on other distributions shipping XZ Utils >= 5.2.0 as 3094 they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide 3095 XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch 3096 luckily isn't included there anymore with XZ Utils 5.2.4.) 3097 3098 Binaries built by RHEL/CentOS 7 users get distributed and then 3099 people wonder why they don't run on some other distribution. 3100 Seems that people have found out about the patch and been copying 3101 it to some build scripts, seemingly curing the symptoms but 3102 actually spreading the illness further and outside RHEL/CentOS 7. 3103 3104 The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it 3105 had spread at least to EasyBuild. I heard about the events only 3106 recently. :-( 3107 3108 This commit splits liblzma.map into two versions: one for 3109 GNU/Linux and another for other OSes that can use symbol versioning 3110 (FreeBSD, Solaris, maybe others). The Linux-specific file and the 3111 matching additions to .c files add full compatibility with binaries 3112 that have been built against a RHEL/CentOS-patched liblzma. Builds 3113 for OSes other than GNU/Linux won't get the vaccine as they should 3114 be immune to the problem (I really hope that no build script uses 3115 the RHEL/CentOS 7 patch outside GNU/Linux). 3116 3117 The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2 3118 are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way 3119 if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building, 3120 the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2 3121 since XZ_5.2 {...} is the first one that lists that function. 3122 Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2 3123 will be missing but that's still a minor problem compared to 3124 only having lzma_stream_encoder_mt@@XZ_5.1.2alpha! 3125 3126 The "local: *;" line was moved to XZ_5.0 so that it doesn't need 3127 to be moved around. It doesn't matter where it is put. 3128 3129 Having two similar liblzma_*.map files is a bit silly as it is, 3130 at least for now, easily possible to generate the generic one 3131 from the Linux-specific file. But that adds extra steps and 3132 increases the risk of mistakes when supporting more than one 3133 build system. So I rather maintain two files in parallel and let 3134 validate_map.sh check that they are in sync when "make mydist" 3135 is run. 3136 3137 This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and 3138 lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these 3139 weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was 3140 for these two). I added these anyway because someone might 3141 misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2 3142 (@@XZ_5.2.2) versions were exported too. 3143 3144 At glance one could suggest using __typeof__ to copy the function 3145 prototypes when making aliases. However, this doesn't work trivially 3146 because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure) 3147 and it won't change symbol visibility from hidden to default (done 3148 by LZMA_API()). Attributes could be copied with __copy__ attribute 3149 but that needs GCC 9 and a fallback method would be needed anyway. 3150 3151 This uses __symver__ attribute with GCC >= 10 and 3152 __asm__(".symver ...") with everything else. The attribute method 3153 is required for LTO (-flto) support with GCC. Using -flto with 3154 GCC older than 10 is now broken on GNU/Linux and will not be fixed 3155 (can silently result in a broken liblzma build that has dangerously 3156 incorrect symbol versions). LTO builds with Clang seem to work 3157 with the traditional __asm__(".symver ...") method. 3158 3159 Thanks to Boud Roukema for reporting the problem and discussing 3160 the details and testing the fix. 3161 3162 configure.ac | 23 +++- 3163 src/liblzma/Makefile.am | 10 +- 3164 src/liblzma/common/block_buffer_encoder.c | 18 ++++ 3165 src/liblzma/common/common.c | 14 +++ 3166 src/liblzma/common/common.h | 28 +++++ 3167 src/liblzma/common/hardware_cputhreads.c | 12 +++ 3168 src/liblzma/common/stream_encoder_mt.c | 42 ++++++++ 3169 src/liblzma/{liblzma.map => liblzma_generic.map} | 6 +- 3170 src/liblzma/liblzma_linux.map | 131 +++++++++++++++++++++++ 3171 src/liblzma/validate_map.sh | 113 +++++++++++++++++-- 3172 10 files changed, 382 insertions(+), 15 deletions(-) 3173 3174commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9 3175Author: Lasse Collin <lasse.collin@tukaani.org> 3176Date: 2022-08-31 16:42:04 +0300 3177 3178 CMake: Add xz symlinks. 3179 3180 These are a minor thing especially since the xz build has 3181 some real problems still like lack of large file support 3182 on 32-bit systems but I'll commit this since the code exists. 3183 3184 Thanks to Jia Tan. 3185 3186 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++- 3187 1 file changed, 37 insertions(+), 1 deletion(-) 3188 3189commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9 3190Author: Lasse Collin <lasse.collin@tukaani.org> 3191Date: 2022-08-31 16:29:38 +0300 3192 3193 CMake: Put xz man page install under if(UNIX) like is for xzdec. 3194 3195 Thanks to Jia Tan. 3196 3197 CMakeLists.txt | 8 +++++--- 3198 1 file changed, 5 insertions(+), 3 deletions(-) 3199 3200commit c1555b1a221a1427d4d650647531016d754bc4da 3201Author: Lasse Collin <lasse.collin@tukaani.org> 3202Date: 2022-08-22 18:16:40 +0300 3203 3204 Bump version number for 5.3.3alpha. 3205 3206 src/liblzma/api/lzma/version.h | 2 +- 3207 src/liblzma/liblzma.map | 2 +- 3208 2 files changed, 2 insertions(+), 2 deletions(-) 3209 3210commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb 3211Author: Lasse Collin <lasse.collin@tukaani.org> 3212Date: 2022-08-22 18:13:56 +0300 3213 3214 Add NEWS for 5.3.3alpha. 3215 3216 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3217 1 file changed, 119 insertions(+) 3218 3219commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa 3220Author: Lasse Collin <lasse.collin@tukaani.org> 3221Date: 2022-07-12 17:59:41 +0300 3222 3223 Translations: Add Portuguese translation. 3224 3225 Jia Tan made white-space changes and also changed "Language: pt_BR\n" 3226 to pt. The translator wasn't reached so I'm hoping these changes 3227 are OK and will commit it without translator's approval. 3228 3229 Thanks to Pedro Albuquerque and Jia Tan. 3230 3231 po/LINGUAS | 1 + 3232 po/pt.po | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3233 2 files changed, 1002 insertions(+) 3234 3235commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae 3236Author: Lasse Collin <lasse.collin@tukaani.org> 3237Date: 2022-07-10 21:16:40 +0300 3238 3239 Translations: Add Serbian translation. 3240 3241 Quite a few white-space changes were made by Jia Tan to make 3242 this look good. Contacting the translator didn't succeed so 3243 I'm committing this without getting translator's approval. 3244 3245 Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan. 3246 3247 po/LINGUAS | 1 + 3248 po/sr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3249 2 files changed, 988 insertions(+) 3250 3251commit cc8617ab53b1f2a4da212fa76c92fe538269c5de 3252Author: Lasse Collin <lasse.collin@tukaani.org> 3253Date: 2022-07-04 23:51:36 +0300 3254 3255 Translations: Add Swedish translation. 3256 3257 Thanks to Sebastian Rasmussen and Jia Tan. 3258 3259 po/LINGUAS | 1 + 3260 po/sv.po | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3261 2 files changed, 984 insertions(+) 3262 3263commit c613598c358b640682d0ca2aed38fa7df763e8c7 3264Author: Lasse Collin <lasse.collin@tukaani.org> 3265Date: 2022-07-04 23:40:27 +0300 3266 3267 Translations: Add Esperanto translation. 3268 3269 Thanks to Keith Bowes and Jia Tan. 3270 3271 po/LINGUAS | 1 + 3272 po/eo.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3273 2 files changed, 985 insertions(+) 3274 3275commit 659a587d678f21e98e91d2751c31d4ce050c081a 3276Author: Lasse Collin <lasse.collin@tukaani.org> 3277Date: 2022-07-01 00:22:33 +0300 3278 3279 Translations: Add Catalan translation. 3280 3281 Thanks to Jordi Mas and Jia Tan. 3282 3283 po/LINGUAS | 1 + 3284 po/ca.po | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3285 2 files changed, 1077 insertions(+) 3286 3287commit 739fd8c9bdf1d85f57d56642aad87148d4779530 3288Author: Lasse Collin <lasse.collin@tukaani.org> 3289Date: 2022-06-30 17:47:08 +0300 3290 3291 Translations: Add Ukrainian translation. 3292 3293 Thanks to Yuri Chornoivan and Jia Tan. 3294 3295 po/LINGUAS | 1 + 3296 po/uk.po | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3297 2 files changed, 997 insertions(+) 3298 3299commit 73280550b111930c62a667e56add8fd574f80bc8 3300Author: Lasse Collin <lasse.collin@tukaani.org> 3301Date: 2022-06-30 17:45:26 +0300 3302 3303 Translators: Add Romanian translation. 3304 3305 Thanks to Remus-Gabriel Chelu and Jia Tan. 3306 3307 po/LINGUAS | 1 + 3308 po/ro.po | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3309 2 files changed, 1017 insertions(+) 3310 3311commit 2465f5b825152714b2c357d96c2422c31109d320 3312Author: Lasse Collin <lasse.collin@tukaani.org> 3313Date: 2022-06-29 18:33:32 +0300 3314 3315 Translations: Update Brazilian Portuguese translation. 3316 3317 One msgstr was changed. The diff is long due to changes 3318 in the source code line numbers in the comments. 3319 3320 Thanks to Rafael Fontenelle. 3321 3322 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------ 3323 1 file changed, 92 insertions(+), 94 deletions(-) 3324 3325commit 434e1ffd3e62719d509da10b646216f5ef53fe4d 3326Author: Lasse Collin <lasse.collin@tukaani.org> 3327Date: 2022-06-29 18:04:44 +0300 3328 3329 Translations: Add Croatian translation. 3330 3331 Thanks to Božidar Putanec and Jia Tan. 3332 3333 po/LINGUAS | 1 + 3334 po/hr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3335 2 files changed, 988 insertions(+) 3336 3337commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499 3338Author: Lasse Collin <lasse.collin@tukaani.org> 3339Date: 2022-06-29 17:58:48 +0300 3340 3341 Translations: Add Spanish translation. 3342 3343 Thanks to Cristian Othón Martínez Vera and Jia Tan. 3344 3345 po/LINGUAS | 1 + 3346 po/es.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3347 2 files changed, 985 insertions(+) 3348 3349commit 9899b0f82bc130998d1f1f618a6ab805b73f2696 3350Author: Lasse Collin <lasse.collin@tukaani.org> 3351Date: 2022-06-29 17:49:43 +0300 3352 3353 Translations: Add Korean translation. 3354 3355 Thanks to Seong-ho Cho and Jia Tan. 3356 3357 po/LINGUAS | 1 + 3358 po/ko.po | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3359 2 files changed, 973 insertions(+) 3360 3361commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f 3362Author: Lasse Collin <lasse.collin@tukaani.org> 3363Date: 2020-03-16 21:57:21 +0200 3364 3365 Translations: Rebuild cs.po to avoid incorrect fuzzy strings. 3366 3367 "make dist" updates the .po files and the fuzzy strings would 3368 result in multiple very wrong translations. 3369 3370 po/cs.po | 592 ++++++++++++++++++++++++++++++++++----------------------------- 3371 1 file changed, 322 insertions(+), 270 deletions(-) 3372 3373commit e56ff423ee7af9e648e16b132f0d835d2cb4db26 3374Author: Lasse Collin <lasse.collin@tukaani.org> 3375Date: 2020-03-16 17:30:39 +0200 3376 3377 Translations: Add partial Danish translation. 3378 3379 I made a few minor white space changes without getting them 3380 approved by the Danish translation team. 3381 3382 po/LINGUAS | 1 + 3383 po/da.po | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3384 2 files changed, 897 insertions(+) 3385 3386commit 43e09c62e77cb8807d932c81de4decbdb956e184 3387Author: Lasse Collin <lasse.collin@tukaani.org> 3388Date: 2020-03-11 22:37:54 +0200 3389 3390 Translations: Add hu, zh_CN, and zh_TW. 3391 3392 I made a few white space changes to these without getting them 3393 approved by the translation teams. (I tried to contact the hu and 3394 zh_TW teams but didn't succeed. I didn't contact the zh_CN team.) 3395 3396 po/LINGUAS | 3 + 3397 po/hu.po | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3398 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3399 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3400 4 files changed, 2907 insertions(+) 3401 3402commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b 3403Author: Lasse Collin <lasse.collin@tukaani.org> 3404Date: 2020-03-11 14:33:30 +0200 3405 3406 Translations: Update vi.po to match the file from the TP. 3407 3408 The translated strings haven't been updated but word wrapping 3409 is different. 3410 3411 po/vi.po | 407 ++++++++++++++++++++++++++++----------------------------------- 3412 1 file changed, 179 insertions(+), 228 deletions(-) 3413 3414commit 801f39691fc4abc6dd33d7653d498781b593f3eb 3415Author: Lasse Collin <lasse.collin@tukaani.org> 3416Date: 2020-03-11 14:18:03 +0200 3417 3418 Translations: Add fi and pt_BR, and update de, fr, it, and pl. 3419 3420 The German translation isn't identical to the file in 3421 the Translation Project but the changes (white space changes 3422 only) were approved by the translator Mario Blättermann. 3423 3424 po/LINGUAS | 2 + 3425 po/de.po | 476 ++++++++++++++-------------- 3426 po/fi.po | 974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3427 po/fr.po | 272 ++++++++-------- 3428 po/it.po | 479 ++++++++++++---------------- 3429 po/pl.po | 239 +++++++------- 3430 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3431 7 files changed, 2697 insertions(+), 746 deletions(-) 3432 3433commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33 3434Author: Lasse Collin <lasse.collin@tukaani.org> 3435Date: 2022-08-22 17:27:19 +0300 3436 3437 xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress. 3438 3439 src/xz/xz.1 | 31 +++++++++++++++++++------------ 3440 1 file changed, 19 insertions(+), 12 deletions(-) 3441 3442commit df23c31000283c00e5ef1ca32a0bc3bb757bd707 3443Author: Lasse Collin <lasse.collin@tukaani.org> 3444Date: 2022-08-22 16:46:18 +0300 3445 3446 CMake: Add liblzma tests. 3447 3448 Thanks to Jia Tan for the patch. 3449 3450 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 3451 1 file changed, 52 insertions(+), 1 deletion(-) 3452 3453commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5 3454Author: Lasse Collin <lasse.collin@tukaani.org> 3455Date: 2022-08-19 23:32:22 +0300 3456 3457 xz: Revise --info-memory output. 3458 3459 The strings could be more descriptive but it's good 3460 to have some version of this committed now. 3461 3462 --robot mode wasn't changed yet. 3463 3464 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------ 3465 src/xz/xz.1 | 1 + 3466 2 files changed, 27 insertions(+), 6 deletions(-) 3467 3468commit f864f6d42eab57ea8ed82cc2dd19a03b51377442 3469Author: Lasse Collin <lasse.collin@tukaani.org> 3470Date: 2022-08-19 23:12:02 +0300 3471 3472 xz: Update the man page for threaded decompression and memlimits. 3473 3474 This documents the changes made in commits 3475 6c6da57ae2aa962aabde6892442227063d87e88c, 3476 cad299008cf73ec566f0662a9cf2b94f86a99659, and 3477 898faa97287a756231c663a3ed5165672b417207. 3478 3479 The --info-memory bit hasn't been finished yet 3480 even though it's already mentioned in this commit 3481 under --memlimit-mt-decompress and --threads. 3482 3483 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 3484 1 file changed, 121 insertions(+), 27 deletions(-) 3485 3486commit d13bfcc0056617dd648f655a01653932fad7067f 3487Author: Lasse Collin <lasse.collin@tukaani.org> 3488Date: 2022-08-18 17:49:16 +0300 3489 3490 Build: Include the CMake files in the distribution. 3491 3492 This was supposed to be done in 2020 with 5.2.5 release 3493 already but it was noticed only today. 5.2.5 and 5.2.6 3494 even mention experiemental CMake support in the NEWS entries. 3495 3496 Thanks to Olivier B. for reporting the problem. 3497 3498 Makefile.am | 2 ++ 3499 1 file changed, 2 insertions(+) 3500 3501commit e66787bcfefdb93f19c974f895f65969a77937b0 3502Author: Lasse Collin <lasse.collin@tukaani.org> 3503Date: 2022-08-18 17:38:05 +0300 3504 3505 Windows: Fix broken liblzma.dll build with Visual Studio project files. 3506 3507 The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616 3508 "Windows: Fix building of resource files when config.h isn't used." 3509 3510 That commit fixed liblzma.dll build with CMake while keeping it 3511 working with Autotools on Windows but the VS project files were 3512 forgotten. 3513 3514 I haven't tested these changes. 3515 3516 Thanks to Olivier B. for reporting the bug and for the initial patch. 3517 3518 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++ 3519 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++ 3520 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++ 3521 3 files changed, 18 insertions(+) 3522 3523commit c4e8e5fb311225b8b48d34157891a640b2535e0c 3524Author: Lasse Collin <lasse.collin@tukaani.org> 3525Date: 2022-08-18 17:16:49 +0300 3526 3527 liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used. 3528 3529 It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR) 3530 if LZMA_FINISH is used and there isn't enough input to finish 3531 decoding the Block Header or the Block. The use of LZMA_DATA_ERROR 3532 is simpler and the less risky than LZMA_BUF_ERROR but this might 3533 be changed before 5.4.0. 3534 3535 src/liblzma/api/lzma/container.h | 6 +++++ 3536 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++ 3537 2 files changed, 48 insertions(+) 3538 3539commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3 3540Author: Lasse Collin <lasse.collin@tukaani.org> 3541Date: 2022-08-12 18:31:47 +0300 3542 3543 Add NEWS for 5.2.6. 3544 3545 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3546 1 file changed, 121 insertions(+) 3547 3548commit 413b86fcf8934fae5a004f378a9483d37d8fcaab 3549Author: Lasse Collin <lasse.collin@tukaani.org> 3550Date: 2022-08-12 14:28:41 +0300 3551 3552 Add Jia Tan to AUTHORS. 3553 3554 AUTHORS | 2 +- 3555 1 file changed, 1 insertion(+), 1 deletion(-) 3556 3557commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7 3558Author: Lasse Collin <lasse.collin@tukaani.org> 3559Date: 2022-07-25 19:28:26 +0300 3560 3561 Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0. 3562 3563 This makes ChangeLog smaller. 3564 3565 Makefile.am | 2 +- 3566 1 file changed, 1 insertion(+), 1 deletion(-) 3567 3568commit 6f6d11225d6016be2bbb55d845b66f6b04d048df 3569Author: Lasse Collin <lasse.collin@tukaani.org> 3570Date: 2022-07-25 19:11:05 +0300 3571 3572 Translations: Change the copyright comment string to use with po4a. 3573 3574 This affects the second line in po4a/xz-man.pot. The man pages of 3575 xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+ 3576 while the rest of the man pages are in the public domain. 3577 3578 po4a/update-po | 2 +- 3579 1 file changed, 1 insertion(+), 1 deletion(-) 3580 3581commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24 3582Author: Jia Tan <jiat0218@gmail.com> 3583Date: 2022-07-25 18:30:05 +0300 3584 3585 liblzma: Refactor lzma_mf_is_supported() to use a switch-statement. 3586 3587 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------ 3588 1 file changed, 14 insertions(+), 18 deletions(-) 3589 3590commit 4d80b463a1251aa22eabc87d2732fec13b1adda6 3591Author: Jia Tan <jiat0218@gmail.com> 3592Date: 2022-07-25 18:20:01 +0300 3593 3594 Build: Don't allow empty LIST in --enable-match-finders=LIST. 3595 3596 It's enforced only when a match finder is needed, that is, 3597 when LZMA1 or LZMA2 encoder is enabled. 3598 3599 configure.ac | 4 ++++ 3600 1 file changed, 4 insertions(+) 3601 3602commit 9cc721af5436908f2d5a828aebbc4050a32a3487 3603Author: Lasse Collin <lasse.collin@tukaani.org> 3604Date: 2022-07-24 13:27:48 +0300 3605 3606 xz: Update the man page that change to --keep will be in 5.2.6. 3607 3608 src/xz/xz.1 | 4 ++-- 3609 1 file changed, 2 insertions(+), 2 deletions(-) 3610 3611commit b81bf0c7d1873e52a4086a9abb494471d652cb55 3612Author: Lasse Collin <lasse.collin@tukaani.org> 3613Date: 2022-07-19 23:23:54 +0300 3614 3615 Update THANKS. 3616 3617 THANKS | 1 + 3618 1 file changed, 1 insertion(+) 3619 3620commit 340cf1ec3927767046b8293a49da3db4e393f426 3621Author: Nicholas Jackson <nickajacks1@gmail.com> 3622Date: 2022-07-17 17:39:23 -0700 3623 3624 CMake: Add missing source file to liblzma build 3625 3626 CMakeLists.txt | 1 + 3627 1 file changed, 1 insertion(+) 3628 3629commit d796b6d7fdb8b7238b277056cf9146cce25db604 3630Author: Lasse Collin <lasse.collin@tukaani.org> 3631Date: 2022-07-19 23:19:49 +0300 3632 3633 xzgrep man page: Document exit statuses. 3634 3635 src/scripts/xzgrep.1 | 15 ++++++++++++++- 3636 1 file changed, 14 insertions(+), 1 deletion(-) 3637 3638commit 923bf96b55e5216a6c8df9d8331934f54784390e 3639Author: Lasse Collin <lasse.collin@tukaani.org> 3640Date: 2022-07-19 23:13:24 +0300 3641 3642 xzgrep: Improve error handling, especially signals. 3643 3644 xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly 3645 should have. It's quite possible that it's not perfect still 3646 but at least it's much better. 3647 3648 If multiple exit statuses compete, now it tries to pick 3649 the largest of value. 3650 3651 Some comments were added. 3652 3653 The exit status handling of signals is still broken if the shell 3654 uses values larger than 255 in $? to indicate that a process 3655 died due to a signal ***and*** their "exit" command doesn't take 3656 this into account. This seems to work well with the ksh and yash 3657 versions I tried. However, there is a report in gzip/zgrep that 3658 OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating 3659 the argument to 8 bits: 3660 3661 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25 3662 3663 Such a bug would break xzgrep but I didn't add a workaround 3664 at least for now. 5.11 is old and I don't know if the problem 3665 exists in modern descendants, or if the problem exists in other 3666 ksh implementations in use. 3667 3668 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++-------------- 3669 1 file changed, 53 insertions(+), 19 deletions(-) 3670 3671commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff 3672Author: Lasse Collin <lasse.collin@tukaani.org> 3673Date: 2022-07-19 00:10:55 +0300 3674 3675 xzgrep: Make the fix for ZDI-CAN-16587 more robust. 3676 3677 I don't know if this can make a difference in the real world 3678 but it looked kind of suspicious (what happens with sed 3679 implementations that cannot process very long lines?). 3680 At least this commit shouldn't make it worse. 3681 3682 src/scripts/xzgrep.in | 5 ++++- 3683 1 file changed, 4 insertions(+), 1 deletion(-) 3684 3685commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 3686Author: Lasse Collin <lasse.collin@tukaani.org> 3687Date: 2022-07-18 21:52:31 +0300 3688 3689 xzgrep: Use grep -H --label when available (GNU, *BSDs). 3690 3691 It avoids the use of sed for prefixing filenames to output lines. 3692 Using sed for that is slower and prone to security bugs so now 3693 the sed method is only used as a fallback. 3694 3695 This also fixes an actual bug: When grepping a binary file, 3696 GNU grep nowadays prints its diagnostics to stderr instead of 3697 stdout and thus the sed-method for prefixing the filename doesn't 3698 work. So with this commit grepping binary files gives reasonable 3699 output with GNU grep now. 3700 3701 This was inspired by zgrep but the implementation is different. 3702 3703 src/scripts/xzgrep.in | 21 +++++++++++++++++++++ 3704 1 file changed, 21 insertions(+) 3705 3706commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52 3707Author: Lasse Collin <lasse.collin@tukaani.org> 3708Date: 2022-07-18 21:10:25 +0300 3709 3710 xzgrep: Use -e to specify the pattern to grep. 3711 3712 Now we don't need the separate test for adding the -q option 3713 as it can be added directly in the two places where it's needed. 3714 3715 src/scripts/xzgrep.in | 12 ++++-------- 3716 1 file changed, 4 insertions(+), 8 deletions(-) 3717 3718commit bad61b5997e6647911974022bfb72f3d4818a594 3719Author: Lasse Collin <lasse.collin@tukaani.org> 3720Date: 2022-07-18 19:18:48 +0300 3721 3722 Scripts: Use printf instead of echo in a few places. 3723 3724 It's a good habbit as echo has some portability corner cases 3725 when the string contents can be anything. 3726 3727 src/scripts/xzdiff.in | 6 +++--- 3728 src/scripts/xzgrep.in | 4 ++-- 3729 src/scripts/xzless.in | 4 ++-- 3730 src/scripts/xzmore.in | 8 ++++---- 3731 4 files changed, 11 insertions(+), 11 deletions(-) 3732 3733commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645 3734Author: Lasse Collin <lasse.collin@tukaani.org> 3735Date: 2022-07-17 21:36:25 +0300 3736 3737 xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters. 3738 3739 Also replace one use of expr with printf. 3740 3741 The rationale for LC_ALL=C was already mentioned in 3742 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security 3743 issue. However, unrelated uses weren't changed in that commit yet. 3744 3745 POSIX says that with sed and such tools one should use LC_ALL=C 3746 to ensure predictable behavior when strings contain byte sequences 3747 that aren't valid multibyte characters in the current locale. See 3748 under "Application usage" in here: 3749 3750 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html 3751 3752 With GNU sed invalid multibyte strings would work without this; 3753 it's documented in its Texinfo manual. Some other implementations 3754 aren't so forgiving. 3755 3756 src/scripts/xzgrep.in | 14 ++++++++------ 3757 1 file changed, 8 insertions(+), 6 deletions(-) 3758 3759commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68 3760Author: Lasse Collin <lasse.collin@tukaani.org> 3761Date: 2022-07-17 20:55:16 +0300 3762 3763 xzgrep: Fix parsing of certain options. 3764 3765 Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is 3766 an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename 3767 instead of as a pattern. This bug was fixed in zgrep in gzip in 2012. 3768 3769 Add -E, -F, -G, and -P to the "no argument required" list. 3770 3771 Add -X to "argument required" list. It is an 3772 intentionally-undocumented GNU grep option so this isn't 3773 an important option for xzgrep but it seems that other grep 3774 implementations (well, those that I checked) don't support -X 3775 so I hope this change is an improvement still. 3776 3777 grep -d (grep --directories=ACTION) requires an argument. In 3778 contrast to zgrep, I kept -d in the "no argument required" list 3779 because it's not supported in xzgrep (or zgrep). This way 3780 "xzgrep -d" gives an error about option being unsupported instead 3781 of telling that it requires an argument. Both zgrep and xzgrep 3782 tell that it's unsupported if an argument is specified. 3783 3784 Add comments. 3785 3786 src/scripts/xzgrep.in | 19 +++++++++++++++++-- 3787 1 file changed, 17 insertions(+), 2 deletions(-) 3788 3789commit 2d2201bc6315deda4d43625aa510972467bd51d4 3790Author: Lasse Collin <lasse.collin@tukaani.org> 3791Date: 2022-07-14 20:33:05 +0300 3792 3793 Tests: Add the .lzma files to test_files.sh. 3794 3795 tests/test_files.sh | 20 ++++++++++++++++++++ 3796 1 file changed, 20 insertions(+) 3797 3798commit ce5549a591bf126300618879f5b24023351baff6 3799Author: Lasse Collin <lasse.collin@tukaani.org> 3800Date: 2022-07-14 19:37:42 +0300 3801 3802 Tests: Add .lzma test files. 3803 3804 tests/files/README | 63 ++++++++++++++++----- 3805 tests/files/bad-too_big_size-with_eopm.lzma | Bin 0 -> 37 bytes 3806 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes 3807 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes 3808 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes 3809 tests/files/bad-unknown_size-without_eopm.lzma | Bin 0 -> 31 bytes 3810 tests/files/good-known_size-with_eopm.lzma | Bin 0 -> 37 bytes 3811 tests/files/good-known_size-without_eopm.lzma | Bin 0 -> 31 bytes 3812 tests/files/good-unknown_size-with_eopm.lzma | Bin 0 -> 37 bytes 3813 9 files changed, 50 insertions(+), 13 deletions(-) 3814 3815commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3 3816Author: Lasse Collin <lasse.collin@tukaani.org> 3817Date: 2022-07-14 18:12:38 +0300 3818 3819 liblzma: Rename a variable and improve a comment. 3820 3821 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++---- 3822 1 file changed, 9 insertions(+), 4 deletions(-) 3823 3824commit 511feb5eadb988d641b025d597f4fac7502003b8 3825Author: Lasse Collin <lasse.collin@tukaani.org> 3826Date: 2022-07-13 22:24:41 +0300 3827 3828 Update THANKS. 3829 3830 THANKS | 1 + 3831 1 file changed, 1 insertion(+) 3832 3833commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2 3834Author: Lasse Collin <lasse.collin@tukaani.org> 3835Date: 2022-07-13 22:24:07 +0300 3836 3837 liblzma: Add optional autodetection of LZMA end marker. 3838 3839 Turns out that this is needed for .lzma files as the spec in 3840 LZMA SDK says that end marker may be present even if the size 3841 is stored in the header. Such files are rare but exist in the 3842 real world. The code in liblzma is so old that the spec didn't 3843 exist in LZMA SDK back then and I had understood that such 3844 files weren't possible (the lzma tool in LZMA SDK didn't 3845 create such files). 3846 3847 This modifies the internal API so that LZMA decoder can be told 3848 if EOPM is allowed even when the uncompressed size is known. 3849 It's allowed with .lzma and not with other uses. 3850 3851 Thanks to Karl Beldan for reporting the problem. 3852 3853 doc/lzma-file-format.txt | 11 +++- 3854 src/liblzma/common/alone_decoder.c | 2 +- 3855 src/liblzma/common/microlzma_decoder.c | 2 +- 3856 src/liblzma/lz/lz_decoder.c | 10 +++- 3857 src/liblzma/lz/lz_decoder.h | 8 +-- 3858 src/liblzma/lzma/lzma2_decoder.c | 2 +- 3859 src/liblzma/lzma/lzma_decoder.c | 99 ++++++++++++++++++++++++---------- 3860 7 files changed, 95 insertions(+), 39 deletions(-) 3861 3862commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2 3863Author: Lasse Collin <lasse.collin@tukaani.org> 3864Date: 2022-07-12 18:53:04 +0300 3865 3866 xz: Document the special memlimit case of 2000 MiB on MIPS32. 3867 3868 See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7. 3869 3870 src/xz/xz.1 | 8 ++++++-- 3871 1 file changed, 6 insertions(+), 2 deletions(-) 3872 3873commit d1bfa3dc703325ecd974167e864a8712fdfe936e 3874Author: Jia Tan <jiat0218@gmail.com> 3875Date: 2022-07-01 21:19:26 +0800 3876 3877 Created script to generate code coverage reports. 3878 3879 The script uses lcov and genhtml after running the tests 3880 to show the code coverage statistics. The script will create 3881 a coverage directory where it is run. It can be run both in 3882 and out of the source directory. 3883 3884 .gitignore | 4 +++ 3885 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3886 2 files changed, 83 insertions(+) 3887 3888commit 86a30b0255d8064169fabfd213d907016d2f9f2a 3889Author: Jia Tan <jiat0218@gmail.com> 3890Date: 2022-06-16 17:32:19 +0300 3891 3892 Tests: Add more tests into test_check. 3893 3894 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 3895 tests/tests.h | 23 +++++ 3896 2 files changed, 295 insertions(+), 7 deletions(-) 3897 3898commit 82e30fed66a89706388a8c15dc954d84e63f38fa 3899Author: Lasse Collin <lasse.collin@tukaani.org> 3900Date: 2022-06-16 15:02:57 +0300 3901 3902 Tests: Use char[][24] array for enum_strings_lzma_ret. 3903 3904 Array of pointers to short strings is a bit pointless here 3905 and now it's fully const. 3906 3907 tests/tests.h | 2 +- 3908 1 file changed, 1 insertion(+), 1 deletion(-) 3909 3910commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e 3911Author: Lasse Collin <lasse.collin@tukaani.org> 3912Date: 2022-06-16 14:12:14 +0300 3913 3914 Tests: tuktest.h: Add tuktest_error_impl to help with error conditions. 3915 3916 tests/tuktest.h | 72 +++++++++++++++++++++++++-------------------------------- 3917 1 file changed, 32 insertions(+), 40 deletions(-) 3918 3919commit b339892668da20aea22a93668c82b87a38e4a97f 3920Author: Lasse Collin <lasse.collin@tukaani.org> 3921Date: 2022-06-16 13:29:59 +0300 3922 3923 Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there. 3924 3925 tests/test_bcj_exact_size.c | 4 +--- 3926 tests/tuktest.h | 52 +++++++++++++++++++++------------------------ 3927 2 files changed, 25 insertions(+), 31 deletions(-) 3928 3929commit d8b63a0ad68d1c461eb373466679ebc41fbc207d 3930Author: Lasse Collin <lasse.collin@tukaani.org> 3931Date: 2022-06-16 13:08:19 +0300 3932 3933 Tests: tuktest.h: Add malloc wrapper with automatic freeing. 3934 3935 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3936 1 file changed, 124 insertions(+) 3937 3938commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53 3939Author: Lasse Collin <lasse.collin@tukaani.org> 3940Date: 2022-06-16 11:47:37 +0300 3941 3942 Tests: tuktest.h: Move a function. 3943 3944 tests/tuktest.h | 44 ++++++++++++++++++++++---------------------- 3945 1 file changed, 22 insertions(+), 22 deletions(-) 3946 3947commit 70c7555f6403553ee35539e869de0025592d8564 3948Author: Lasse Collin <lasse.collin@tukaani.org> 3949Date: 2022-06-14 22:21:15 +0300 3950 3951 Tests: test_vli: Remove an invalid test-assertion. 3952 3953 lzma_vli is unsigned so trying a signed value results in 3954 a compiler warning from -Wsign-conversion. (lzma_vli)-1 3955 equals to LZMA_VLI_UNKNOWN anyway which is the next assertion. 3956 3957 tests/test_vli.c | 2 -- 3958 1 file changed, 2 deletions(-) 3959 3960commit 154b73c5a1092c3f785e01666b564ad7ff1be555 3961Author: Lasse Collin <lasse.collin@tukaani.org> 3962Date: 2022-06-14 22:10:10 +0300 3963 3964 Tests: test_vli: Add const where appropriate. 3965 3966 tests/test_vli.c | 53 ++++++++++++++++++++++++++++------------------------- 3967 1 file changed, 28 insertions(+), 25 deletions(-) 3968 3969commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb 3970Author: Jia Tan <jiat75@gmail.com> 3971Date: 2022-06-13 20:27:03 +0800 3972 3973 Added vli tests to .gitignore 3974 3975 .gitignore | 1 + 3976 1 file changed, 1 insertion(+) 3977 3978commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e 3979Author: Jia Tan <jiat0218@gmail.com> 3980Date: 2022-06-12 11:31:40 +0800 3981 3982 Created tests for all functions exported in vli.h 3983 3984 Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c 3985 3986 tests/Makefile.am | 4 +- 3987 tests/test_vli.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3988 2 files changed, 311 insertions(+), 1 deletion(-) 3989 3990commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f 3991Author: jiat75 <jiat0218@gmail.com> 3992Date: 2022-06-03 21:24:54 +0800 3993 3994 Added parallel test artifacts to .gitignore 3995 3996 .gitignore | 2 ++ 3997 1 file changed, 2 insertions(+) 3998 3999commit 00e3613f1212eaa84e721585fdb4de6967cf2476 4000Author: Lasse Collin <lasse.collin@tukaani.org> 4001Date: 2022-06-14 21:29:21 +0300 4002 4003 Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size. 4004 4005 It's much nicer this way so that the test data isn't a hardcoded 4006 table inside the C file. 4007 4008 tests/test_bcj_exact_size.c | 19 +++++++------------ 4009 1 file changed, 7 insertions(+), 12 deletions(-) 4010 4011commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0 4012Author: Lasse Collin <lasse.collin@tukaani.org> 4013Date: 2022-06-14 21:26:13 +0300 4014 4015 Tests: Add file reading helpers to tuktest.h. 4016 4017 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 4018 1 file changed, 176 insertions(+), 7 deletions(-) 4019 4020commit 83d2337b72dbf391c6f3b41889eea99e51679105 4021Author: Lasse Collin <lasse.collin@tukaani.org> 4022Date: 2022-06-14 18:21:57 +0300 4023 4024 Tests: tuktest.h: Move a printf from a macro to a helper function. 4025 4026 tests/tuktest.h | 26 ++++++++++++++++++-------- 4027 1 file changed, 18 insertions(+), 8 deletions(-) 4028 4029commit f9e8176ea7d520797a2db2d49a5a632c285674a8 4030Author: Lasse Collin <lasse.collin@tukaani.org> 4031Date: 2022-06-14 17:20:49 +0300 4032 4033 Tests: Add test file good-1-empty-bcj-lzma2.xz. 4034 4035 This is from test_bcj_exact_size.c. 4036 It's good to have it as a standalone file. 4037 4038 tests/files/README | 5 +++++ 4039 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes 4040 2 files changed, 5 insertions(+) 4041 4042commit aa75c5563a760aea3aa23d997d519e702e82726b 4043Author: Jia Tan <jiat0218@gmail.com> 4044Date: 2022-06-10 21:35:18 +0800 4045 4046 Tests: Created tests for hardware functions. 4047 4048 Created tests for all API functions exported in 4049 src/liblzma/api/lzma/hardware.h. The tests are fairly trivial 4050 but are helpful because they will inform users if their machines 4051 cannot support these functions. They also improve the code 4052 coverage metrics. 4053 4054 .gitignore | 1 + 4055 tests/Makefile.am | 2 ++ 4056 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 4057 3 files changed, 48 insertions(+) 4058 4059commit 5c8ffdca20813939818843476fb212dfae8838a3 4060Author: Lasse Collin <lasse.collin@tukaani.org> 4061Date: 2022-06-02 21:01:45 +0300 4062 4063 Tests: Convert test_check to tuktest. 4064 4065 Thanks to Jia Tan for help with all the tests. 4066 4067 tests/test_check.c | 67 +++++++++++++++++++++++++++--------------------------- 4068 1 file changed, 33 insertions(+), 34 deletions(-) 4069 4070commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86 4071Author: Lasse Collin <lasse.collin@tukaani.org> 4072Date: 2022-06-02 20:31:03 +0300 4073 4074 Tests: Convert test_block_header to tuktest. 4075 4076 tests/test_block_header.c | 89 +++++++++++++++++++++++++++-------------------- 4077 1 file changed, 52 insertions(+), 37 deletions(-) 4078 4079commit 754d39fbebee3782258d42f154a223d3c5770ec7 4080Author: Lasse Collin <lasse.collin@tukaani.org> 4081Date: 2022-06-02 20:28:23 +0300 4082 4083 Tests: Convert test_bcj_exact_size to tuktest. 4084 4085 The compress() and decompress() functions were merged because 4086 the later depends on the former so they need to be a single 4087 test case. 4088 4089 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++-------------------- 4090 1 file changed, 41 insertions(+), 34 deletions(-) 4091 4092commit 96da21470f9570cd08286906a050a7c22631775b 4093Author: Lasse Collin <lasse.collin@tukaani.org> 4094Date: 2022-06-02 20:27:00 +0300 4095 4096 Tests: Include tuktest.h in tests.h. 4097 4098 This breaks -Werror because none of the tests so far use 4099 tuktest.h and thus there are warnings about unused variables 4100 and functions. 4101 4102 tests/tests.h | 47 +++++++++++++++++++++++------------------------ 4103 1 file changed, 23 insertions(+), 24 deletions(-) 4104 4105commit df71ba1c991f60c3269aaadd398247e632714626 4106Author: Lasse Collin <lasse.collin@tukaani.org> 4107Date: 2022-06-02 20:25:21 +0300 4108 4109 Tests: Add tuktest.h mini-test-framework. 4110 4111 tests/Makefile.am | 1 + 4112 tests/tuktest.h | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4113 2 files changed, 753 insertions(+) 4114 4115commit 4773608554d1b684a05ff9c1d879cf5c42266d33 4116Author: Lasse Collin <lasse.collin@tukaani.org> 4117Date: 2022-05-23 21:31:36 +0300 4118 4119 Build: Enable Automake's parallel test harness. 4120 4121 It has been the default for quite some time already and 4122 the old serial harness isn't discouraged. The downside is 4123 that with parallel tests one cannot print progress info or 4124 other diagnostics to the terminal; all output from the tests 4125 will be in the log files only. But now that the compression 4126 tests are separated the parallel tests will speed things up. 4127 4128 configure.ac | 2 +- 4129 1 file changed, 1 insertion(+), 1 deletion(-) 4130 4131commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05 4132Author: Lasse Collin <lasse.collin@tukaani.org> 4133Date: 2022-05-23 21:17:47 +0300 4134 4135 Tests: Split test_compress.sh into separate test unit for each file. 4136 4137 test_compress.sh now takes one command line argument: 4138 a filename to be tested. If it begins with "compress_generated_" 4139 the file will be created with create_compress_files. 4140 4141 This will allow parallel execution of the slow tests. 4142 4143 tests/Makefile.am | 11 +++- 4144 tests/test_compress.sh | 91 +++++++++++++++++++--------------- 4145 tests/test_compress_generated_abc | 3 ++ 4146 tests/test_compress_generated_random | 3 ++ 4147 tests/test_compress_generated_text | 3 ++ 4148 tests/test_compress_prepared_bcj_sparc | 3 ++ 4149 tests/test_compress_prepared_bcj_x86 | 3 ++ 4150 7 files changed, 77 insertions(+), 40 deletions(-) 4151 4152commit c7758ac9c734707514dd34f254173ebac5eea7f8 4153Author: Lasse Collin <lasse.collin@tukaani.org> 4154Date: 2022-05-23 20:32:49 +0300 4155 4156 Test: Make create_compress_files.c a little more flexible. 4157 4158 If a command line argument is given, then only the test file 4159 of that type is created. It's quite dumb in sense that unknown 4160 names don't give an error but it's good enough here. 4161 4162 Also use EXIT_FAILURE instead of 1 as exit status for errors. 4163 4164 tests/create_compress_files.c | 25 +++++++++++++++---------- 4165 1 file changed, 15 insertions(+), 10 deletions(-) 4166 4167commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c 4168Author: Lasse Collin <lasse.collin@tukaani.org> 4169Date: 2022-05-23 20:17:42 +0300 4170 4171 Tests: Remove unneeded commented lines from test_compress.sh. 4172 4173 tests/test_compress.sh | 13 ------------- 4174 1 file changed, 13 deletions(-) 4175 4176commit 2ee50d150ee009f36135540b459e6ff328549725 4177Author: Lasse Collin <lasse.collin@tukaani.org> 4178Date: 2022-05-23 20:16:00 +0300 4179 4180 Tests: Remove progress indicator from test_compress.sh. 4181 4182 It will be useless with Automake's parallel tests. 4183 4184 tests/test_compress.sh | 9 --------- 4185 1 file changed, 9 deletions(-) 4186 4187commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0 4188Author: Lasse Collin <lasse.collin@tukaani.org> 4189Date: 2022-05-23 19:37:18 +0300 4190 4191 liblzma: Silence a warning. 4192 4193 The actual initialization is done via mythread_sync and seems 4194 that GCC doesn't necessarily see that it gets initialized there. 4195 4196 src/liblzma/common/stream_decoder_mt.c | 2 +- 4197 1 file changed, 1 insertion(+), 1 deletion(-) 4198 4199commit 5d8f3764ef43c35910e6d7003c0900a961ef6544 4200Author: Lasse Collin <lasse.collin@tukaani.org> 4201Date: 2022-04-14 20:53:16 +0300 4202 4203 xz: Fix build with --disable-threads. 4204 4205 src/xz/hardware.c | 4 ++++ 4206 1 file changed, 4 insertions(+) 4207 4208commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9 4209Author: Lasse Collin <lasse.collin@tukaani.org> 4210Date: 2022-04-14 14:50:17 +0300 4211 4212 xz: Change the cap of the default -T0 memlimit for 32-bit xz. 4213 4214 The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room 4215 and it looks like a round (artificial) number in --info-memory 4216 once --info-memory is made to display it. 4217 4218 Also, using #if avoids useless code on 64-bit builds. 4219 4220 src/xz/hardware.c | 4 +++- 4221 1 file changed, 3 insertions(+), 1 deletion(-) 4222 4223commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c 4224Author: Lasse Collin <lasse.collin@tukaani.org> 4225Date: 2022-04-14 14:20:46 +0300 4226 4227 xz: Add a default soft memory usage limit for --threads=0. 4228 4229 This is a soft limit in sense that it only affects the number of 4230 threads. It never makes xz fail and it never makes xz change 4231 settings that would affect the compressed output. 4232 4233 The idea is to make -T0 have more reasonable behavior when 4234 the system has very many cores or when a memory-hungry 4235 compression options are used. This also helps with 32-bit xz, 4236 preventing it from running out of address space. 4237 4238 The downside of this commit is that now the number of threads 4239 might become too low compared to what the user expected. I 4240 hope this to be an acceptable compromise as the old behavior 4241 has been a source of well-argued complaints for a long time. 4242 4243 src/xz/coder.c | 28 ++++++++++++++++++++++++++-- 4244 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++--------- 4245 src/xz/hardware.h | 27 +++++++++++++++++++++++++++ 4246 3 files changed, 82 insertions(+), 11 deletions(-) 4247 4248commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4 4249Author: Lasse Collin <lasse.collin@tukaani.org> 4250Date: 2022-04-14 12:59:09 +0300 4251 4252 xz: Make -T0 use multithreaded mode on single-core systems. 4253 4254 The main problem withi the old behavior is that the compressed 4255 output is different on single-core systems vs. multicore systems. 4256 This commit fixes it by making -T0 one thread in multithreaded mode 4257 on single-core systems. 4258 4259 The downside of this is that it uses more memory. However, if 4260 --memlimit-compress is used, xz can (thanks to the previous commit) 4261 drop to the single-threaded mode still. 4262 4263 src/xz/coder.c | 18 +++++++++--------- 4264 src/xz/hardware.c | 14 ++++++++++++++ 4265 src/xz/hardware.h | 4 ++++ 4266 3 files changed, 27 insertions(+), 9 deletions(-) 4267 4268commit 898faa97287a756231c663a3ed5165672b417207 4269Author: Lasse Collin <lasse.collin@tukaani.org> 4270Date: 2022-04-14 12:38:00 +0300 4271 4272 xz: Changes to --memlimit-compress and --no-adjust. 4273 4274 In single-threaded mode, --memlimit-compress can make xz scale down 4275 the LZMA2 dictionary size to meet the memory usage limit. This 4276 obviously affects the compressed output. However, if xz was in 4277 threaded mode, --memlimit-compress could make xz reduce the number 4278 of threads but it wouldn't make xz switch from multithreaded mode 4279 to single-threaded mode or scale down the LZMA2 dictionary size. 4280 This seemed illogical and there was even a "FIXME?" about it. 4281 4282 Now --memlimit-compress can make xz switch to single-threaded 4283 mode if one thread in multithreaded mode uses too much memory. 4284 If memory usage is still too high, then the LZMA2 dictionary 4285 size can be scaled down too. 4286 4287 The option --no-adjust was also changed so that it no longer 4288 prevents xz from scaling down the number of threads as that 4289 doesn't affect compressed output (only performance). After 4290 this commit --no-adjust only prevents adjustments that affect 4291 compressed output, that is, with --no-adjust xz won't switch 4292 from multithreaded mode to single-threaded mode and won't 4293 scale down the LZMA2 dictionary size. 4294 4295 The man page wasn't updated yet. 4296 4297 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++------------------- 4298 1 file changed, 43 insertions(+), 20 deletions(-) 4299 4300commit cad299008cf73ec566f0662a9cf2b94f86a99659 4301Author: Lasse Collin <lasse.collin@tukaani.org> 4302Date: 2022-04-11 22:20:49 +0300 4303 4304 xz: Add --memlimit-mt-decompress along with a default limit value. 4305 4306 --memlimit-mt-decompress allows specifying the limit for 4307 multithreaded decompression. This matches memlimit_threading in 4308 liblzma. This limit can only affect the number of threads being 4309 used; it will never prevent xz from decompressing a file. The 4310 old --memlimit-decompress option is still used at the same time. 4311 4312 If the value of --memlimit-decompress (the default value or 4313 one specified by the user) is less than the value of 4314 --memlimit-mt-decompress , then --memlimit-mt-decompress is 4315 reduced to match --memlimit-decompress. 4316 4317 Man page wasn't updated yet. 4318 4319 src/xz/args.c | 24 +++++++++++++++------- 4320 src/xz/coder.c | 34 ++++++++++--------------------- 4321 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 4322 src/xz/hardware.h | 17 ++++++++++------ 4323 src/xz/message.c | 4 +++- 4324 5 files changed, 97 insertions(+), 42 deletions(-) 4325 4326commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a 4327Author: Lasse Collin <lasse.collin@tukaani.org> 4328Date: 2022-04-06 23:11:59 +0300 4329 4330 liblzma: Threaded decoder: Improve setting of pending_error. 4331 4332 It doesn't need to be done conditionally. The comments try 4333 to explain it. 4334 4335 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++----------- 4336 1 file changed, 35 insertions(+), 16 deletions(-) 4337 4338commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2 4339Author: Lasse Collin <lasse.collin@tukaani.org> 4340Date: 2022-04-06 12:39:49 +0300 4341 4342 liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder. 4343 4344 In most cases if the input file is corrupt the application won't 4345 care about the uncompressed content at all. With this new flag 4346 the threaded decoder will return an error as soon as any thread 4347 has detected an error; it won't wait to copy out the data before 4348 the location of the error. 4349 4350 I don't plan to use this in xz to keep the behavior consistent 4351 between single-threaded and multi-threaded modes. 4352 4353 src/liblzma/api/lzma/container.h | 25 ++++++++++++++++- 4354 src/liblzma/common/common.h | 7 +++-- 4355 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++--------------- 4356 3 files changed, 56 insertions(+), 26 deletions(-) 4357 4358commit 64b6d496dc815a176d8307f418f6834a26783484 4359Author: Lasse Collin <lasse.collin@tukaani.org> 4360Date: 2022-04-05 12:24:57 +0300 4361 4362 liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used. 4363 4364 This makes the behavior consistent with the single-threaded 4365 decoder when handling truncated .xz files. 4366 4367 Thanks to Jia Tan for finding this issue. 4368 4369 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++-- 4370 1 file changed, 24 insertions(+), 2 deletions(-) 4371 4372commit e671bc8828b9c0c5406c3a22c541301d0eb54518 4373Author: Lasse Collin <lasse.collin@tukaani.org> 4374Date: 2022-04-02 21:49:59 +0300 4375 4376 liblzma: Threaded decoder: Support zpipe.c-style decoding loop. 4377 4378 This makes it possible to call lzma_code() in a loop that only 4379 reads new input when lzma_code() didn't fill the output buffer 4380 completely. That isn't the calling style suggested by the 4381 liblzma example program 02_decompress.c so perhaps the usefulness 4382 of this feature is limited. 4383 4384 Also, it is possible to write such a loop so that it works 4385 with the single-threaded decoder but not with the threaded 4386 decoder even after this commit, or so that it works only if 4387 lzma_mt.timeout = 0. 4388 4389 The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known 4390 example of a loop where more input is read only when output isn't 4391 full. Porting this as is to liblzma would work with the 4392 single-threaded decoder (if LZMA_CONCATENATED isn't used) but it 4393 wouldn't work with threaded decoder even after this commit because 4394 the loop assumes that no more output is possible when it cannot 4395 read more input ("if (strm.avail_in == 0) break;"). This cannot 4396 be fixed at liblzma side; the loop has to be modified at least 4397 a little. 4398 4399 I'm adding this in any case because the actual code is simple 4400 and short and should have no harmful side-effects in other 4401 situations. 4402 4403 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++----- 4404 1 file changed, 67 insertions(+), 10 deletions(-) 4405 4406commit 2ba8173e27be4793edb46497e499ac2ae753a316 4407Author: Lasse Collin <lasse.collin@tukaani.org> 4408Date: 2022-03-31 00:05:07 +0300 4409 4410 Update THANKS. 4411 4412 THANKS | 1 + 4413 1 file changed, 1 insertion(+) 4414 4415commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 4416Author: Lasse Collin <lasse.collin@tukaani.org> 4417Date: 2022-03-29 19:19:12 +0300 4418 4419 xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587). 4420 4421 Malicious filenames can make xzgrep to write to arbitrary files 4422 or (with a GNU sed extension) lead to arbitrary code execution. 4423 4424 xzgrep from XZ Utils versions up to and including 5.2.5 are 4425 affected. 5.3.1alpha and 5.3.2alpha are affected as well. 4426 This patch works for all of them. 4427 4428 This bug was inherited from gzip's zgrep. gzip 1.12 includes 4429 a fix for zgrep. 4430 4431 The issue with the old sed script is that with multiple newlines, 4432 the N-command will read the second line of input, then the 4433 s-commands will be skipped because it's not the end of the 4434 file yet, then a new sed cycle starts and the pattern space 4435 is printed and emptied. So only the last line or two get escaped. 4436 4437 One way to fix this would be to read all lines into the pattern 4438 space first. However, the included fix is even simpler: All lines 4439 except the last line get a backslash appended at the end. To ensure 4440 that shell command substitution doesn't eat a possible trailing 4441 newline, a colon is appended to the filename before escaping. 4442 The colon is later used to separate the filename from the grep 4443 output so it is fine to add it here instead of a few lines later. 4444 4445 The old code also wasn't POSIX compliant as it used \n in the 4446 replacement section of the s-command. Using \<newline> is the 4447 POSIX compatible method. 4448 4449 LC_ALL=C was added to the two critical sed commands. POSIX sed 4450 manual recommends it when using sed to manipulate pathnames 4451 because in other locales invalid multibyte sequences might 4452 cause issues with some sed implementations. In case of GNU sed, 4453 these particular sed scripts wouldn't have such problems but some 4454 other scripts could have, see: 4455 4456 info '(sed)Locale Considerations' 4457 4458 This vulnerability was discovered by: 4459 cleemy desu wayo working with Trend Micro Zero Day Initiative 4460 4461 Thanks to Jim Meyering and Paul Eggert discussing the different 4462 ways to fix this and for coordinating the patch release schedule 4463 with gzip. 4464 4465 src/scripts/xzgrep.in | 20 ++++++++++++-------- 4466 1 file changed, 12 insertions(+), 8 deletions(-) 4467 4468commit bd93b776c1bd15e90661033c918cdeb354dbcc38 4469Author: Lasse Collin <lasse.collin@tukaani.org> 4470Date: 2022-03-26 01:02:44 +0200 4471 4472 liblzma: Fix a deadlock in threaded decoder. 4473 4474 If a worker thread has consumed all input so far and it's 4475 waiting on thr->cond and then the main thread enables 4476 partial update for that thread, the code used to deadlock. 4477 This commit allows one dummy decoding pass to occur in this 4478 situation which then also does the partial update. 4479 4480 As part of the fix, this moves thr->progress_* updates to 4481 avoid the second thr->mutex locking. 4482 4483 Thanks to Jia Tan for finding, debugging, and reporting the bug. 4484 4485 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++--------- 4486 1 file changed, 52 insertions(+), 19 deletions(-) 4487 4488commit e0394e94230f208682ac1e1f4c41f22f9ad79916 4489Author: Lasse Collin <lasse.collin@tukaani.org> 4490Date: 2022-03-23 16:34:00 +0200 4491 4492 Update THANKS. 4493 4494 THANKS | 1 + 4495 1 file changed, 1 insertion(+) 4496 4497commit 487c77d48760564b1949c5067630b675b87be4de 4498Author: Lasse Collin <lasse.collin@tukaani.org> 4499Date: 2022-03-23 16:28:55 +0200 4500 4501 liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT. 4502 4503 LZMA_TIMED_OUT is not an error and thus stopping threads on 4504 LZMA_TIMED_OUT breaks the decoder badly. 4505 4506 Thanks to Jia Tan for finding the bug and for the patch. 4507 4508 src/liblzma/common/stream_decoder_mt.c | 2 +- 4509 1 file changed, 1 insertion(+), 1 deletion(-) 4510 4511commit 6c6da57ae2aa962aabde6892442227063d87e88c 4512Author: Lasse Collin <lasse.collin@tukaani.org> 4513Date: 2022-03-07 00:36:16 +0200 4514 4515 xz: Add initial support for threaded decompression. 4516 4517 If threading support is enabled at build time, this will 4518 use lzma_stream_decoder_mt() even for single-threaded mode. 4519 With memlimit_threading=0 the behavior should be identical. 4520 4521 This needs some work like adding --memlimit-threading=LIMIT. 4522 4523 The original patch from Sebastian Andrzej Siewior included 4524 a method to get currently available RAM on Linux. It might 4525 be one way to go but as it is Linux-only, the available-RAM 4526 approach needs work for portability or using a fallback method 4527 on other OSes. 4528 4529 The man page wasn't updated yet. 4530 4531 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++- 4532 1 file changed, 35 insertions(+), 1 deletion(-) 4533 4534commit 4cce3e27f529af33e0e7749a8cbcec59954946b5 4535Author: Lasse Collin <lasse.collin@tukaani.org> 4536Date: 2022-03-06 23:36:20 +0200 4537 4538 liblzma: Add threaded .xz decompressor. 4539 4540 I realize that this is about a decade late. 4541 4542 Big thanks to Sebastian Andrzej Siewior for the original patch. 4543 I made a bunch of smaller changes but after a while quite a few 4544 things got rewritten. So any bugs in the commit were created by me. 4545 4546 src/liblzma/api/lzma/container.h | 90 +- 4547 src/liblzma/common/Makefile.inc | 5 + 4548 src/liblzma/common/common.h | 4 + 4549 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++ 4550 src/liblzma/liblzma.map | 1 + 4551 5 files changed, 1907 insertions(+), 7 deletions(-) 4552 4553commit 717631b9788dc9c100ee0c87d3c14a2782638ff4 4554Author: Lasse Collin <lasse.collin@tukaani.org> 4555Date: 2022-03-06 16:54:23 +0200 4556 4557 liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK. 4558 4559 If Check is unsupported, it will be silently ignored. 4560 It's the caller's job to handle it. 4561 4562 src/liblzma/api/lzma/block.h | 3 --- 4563 1 file changed, 3 deletions(-) 4564 4565commit 1a4bb97a00936535e30ac61945aeee38882b5d1a 4566Author: Lasse Collin <lasse.collin@tukaani.org> 4567Date: 2022-03-06 16:41:19 +0200 4568 4569 liblzma: Add new output queue (lzma_outq) features. 4570 4571 Add lzma_outq_clear_cache2() which may leave one buffer allocated 4572 in the cache. 4573 4574 Add lzma_outq_outbuf_memusage() to get the memory needed for 4575 a single lzma_outbuf. This is now used internally in outqueue.c too. 4576 4577 Track both the total amount of memory allocated and the amount of 4578 memory that is in active use (not in cache). 4579 4580 In lzma_outbuf, allow storing the current input position that 4581 matches the current output position. This way the main thread 4582 can notice when no more output is possible without first providing 4583 more input. 4584 4585 Allow specifying return code for lzma_outq_read() in a finished 4586 lzma_outbuf. 4587 4588 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++------- 4589 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++- 4590 2 files changed, 79 insertions(+), 8 deletions(-) 4591 4592commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4 4593Author: Lasse Collin <lasse.collin@tukaani.org> 4594Date: 2022-03-06 15:18:58 +0200 4595 4596 liblzma: Index hash: Change return value type of hash_append() to void. 4597 4598 src/liblzma/common/index_hash.c | 11 +++++------ 4599 1 file changed, 5 insertions(+), 6 deletions(-) 4600 4601commit 20e7a33e2d59c6a814447d3991f21e2702174b20 4602Author: Lasse Collin <lasse.collin@tukaani.org> 4603Date: 2022-02-22 03:42:57 +0200 4604 4605 liblzma: Minor addition to lzma_vli_size() API doc. 4606 4607 Thanks to Jia Tan. 4608 4609 src/liblzma/api/lzma/vli.h | 2 ++ 4610 1 file changed, 2 insertions(+) 4611 4612commit 4f78f5fcf63592f2d77e921cfe0d5de300867374 4613Author: Lasse Collin <lasse.collin@tukaani.org> 4614Date: 2022-02-22 02:04:18 +0200 4615 4616 liblzma: Check the return value of lzma_index_append() in threaded encoder. 4617 4618 If lzma_index_append() failed (most likely memory allocation failure) 4619 it could have gone unnoticed and the resulting .xz file would have 4620 an incorrect Index. Decompressing such a file would produce the 4621 correct uncompressed data but then an error would occur when 4622 verifying the Index field. 4623 4624 src/liblzma/common/stream_encoder_mt.c | 7 +++++-- 4625 1 file changed, 5 insertions(+), 2 deletions(-) 4626 4627commit 5313ad66b40aab822ddca3e9905254cb99a4080d 4628Author: Lasse Collin <lasse.collin@tukaani.org> 4629Date: 2022-02-22 01:37:39 +0200 4630 4631 Update THANKS. 4632 4633 THANKS | 1 + 4634 1 file changed, 1 insertion(+) 4635 4636commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e 4637Author: Ed Maste <emaste@FreeBSD.org> 4638Date: 2022-02-11 15:25:46 +0000 4639 4640 liblzma: Use non-executable stack on FreeBSD as on Linux 4641 4642 src/liblzma/check/crc32_x86.S | 4 ++-- 4643 src/liblzma/check/crc64_x86.S | 4 ++-- 4644 2 files changed, 4 insertions(+), 4 deletions(-) 4645 4646commit 1c9a5786d206b4abc8e427326651c8174baea753 4647Author: Lasse Collin <lasse.collin@tukaani.org> 4648Date: 2022-02-20 20:36:27 +0200 4649 4650 liblzma: Make Block decoder catch certain types of errors better. 4651 4652 Now it limits the input and output buffer sizes that are 4653 passed to a raw decoder. This way there's no need to check 4654 if the sizes can grow too big or overflow when updating 4655 Compressed Size and Uncompressed Size counts. This also means 4656 that a corrupt file cannot cause the raw decoder to process 4657 useless extra input or output that would exceed the size info 4658 in Block Header (and thus cause LZMA_DATA_ERROR anyway). 4659 4660 More importantly, now the size information is verified more 4661 carefully in case raw decoder returns LZMA_OK. This doesn't 4662 really matter with the current single-threaded .xz decoder 4663 as the errors would be detected slightly later anyway. But 4664 this helps avoiding corner cases in the upcoming threaded 4665 decompressor, and it might help other Block decoder uses 4666 outside liblzma too. 4667 4668 The test files bad-1-lzma2-{9,10,11}.xz test these conditions. 4669 With the single-threaded .xz decoder the only difference is 4670 that LZMA_DATA_ERROR is detected in a difference place now. 4671 4672 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------ 4673 1 file changed, 54 insertions(+), 25 deletions(-) 4674 4675commit 555de11873eb00c9b94a8be70645db502e5a9dbd 4676Author: Lasse Collin <lasse.collin@tukaani.org> 4677Date: 2022-02-20 19:38:55 +0200 4678 4679 Tests: Add bad-1-lzma2-11.xz. 4680 4681 tests/files/README | 5 +++++ 4682 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes 4683 2 files changed, 5 insertions(+) 4684 4685commit f0da507f22e7f4e3edb75b45b74d344244ca03fb 4686Author: Lasse Collin <lasse.collin@tukaani.org> 4687Date: 2022-02-18 18:51:10 +0200 4688 4689 Translations: Fix po4a failure with the French man page translations. 4690 4691 Thanks to Mario Blättermann for the patch. 4692 4693 po4a/fr_FR.po | 6 ++++-- 4694 1 file changed, 4 insertions(+), 2 deletions(-) 4695 4696commit f7711d228c3c32395460c82498c60a9f730d0239 4697Author: Lasse Collin <lasse.collin@tukaani.org> 4698Date: 2022-02-07 01:14:37 +0200 4699 4700 Translations: Add French translation of man pages. 4701 4702 This matches xz-utils 5.2.5-2 in Debian. 4703 4704 The translation was done by "bubu", proofread by the debian-l10n-french 4705 mailing list contributors, and submitted to me on the xz-devel mailing 4706 list by Jean-Pierre Giraud. Thanks to everyone! 4707 4708 po4a/fr_FR.po | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4709 po4a/po4a.conf | 2 +- 4710 2 files changed, 3542 insertions(+), 1 deletion(-) 4711 4712commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4 4713Author: jiat75 <jiat0218@gmail.com> 4714Date: 2022-01-28 20:47:55 +0800 4715 4716 liblzma: Add NULL checks to LZMA and LZMA2 properties encoders. 4717 4718 Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode() 4719 assumed that the options pointers must be non-NULL because the 4720 with these filters the API says it must never be NULL. It is 4721 good to do these checks anyway. 4722 4723 src/liblzma/lzma/lzma2_encoder.c | 3 +++ 4724 src/liblzma/lzma/lzma_encoder.c | 3 +++ 4725 2 files changed, 6 insertions(+) 4726 4727commit 2523c30705f49eabd27b854aa656ae87cc224808 4728Author: Lasse Collin <lasse.collin@tukaani.org> 4729Date: 2022-02-06 23:19:32 +0200 4730 4731 liblzma: Fix uint64_t vs. size_t confusion. 4732 4733 This broke 32-bit builds due to a pointer type mismatch. 4734 4735 This bug was introduced with the output-size-limited encoding 4736 in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 4737 4738 Thanks to huangqinjin for the bug report. 4739 4740 src/liblzma/rangecoder/range_encoder.h | 11 +++++++---- 4741 1 file changed, 7 insertions(+), 4 deletions(-) 4742 4743commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2 4744Author: huangqinjin <huangqinjin@gmail.com> 4745Date: 2021-12-13 20:49:21 +0800 4746 4747 CMake: Keep compatible with Windows 95 for 32-bit build. 4748 4749 CMakeLists.txt | 12 +++++++++++- 4750 1 file changed, 11 insertions(+), 1 deletion(-) 4751 4752commit 2024fbf2794885277d05378d40b2b8015a7c3b40 4753Author: Lasse Collin <lasse.collin@tukaani.org> 4754Date: 2021-11-13 21:04:05 +0200 4755 4756 xzgrep: Update man page timestamp. 4757 4758 src/scripts/xzgrep.1 | 2 +- 4759 1 file changed, 1 insertion(+), 1 deletion(-) 4760 4761commit 400e7a239a53282cedaad927a41f3463d7f542e5 4762Author: Lasse Collin <lasse.collin@tukaani.org> 4763Date: 2021-11-13 18:23:24 +0200 4764 4765 Update THANKS. 4766 4767 THANKS | 1 + 4768 1 file changed, 1 insertion(+) 4769 4770commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0 4771Author: Ville Skyttä <ville.skytta@iki.fi> 4772Date: 2021-11-13 10:11:57 +0200 4773 4774 xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep` 4775 4776 `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in 4777 current post 3.7 Git they have been made to emit obsolescence warnings: 4778 https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1 4779 4780 src/scripts/xzgrep.1 | 8 ++++---- 4781 src/scripts/xzgrep.in | 4 ++-- 4782 2 files changed, 6 insertions(+), 6 deletions(-) 4783 4784commit edf525e2b1840dcaf377df472c67d8f11f8ace1b 4785Author: Lasse Collin <lasse.collin@tukaani.org> 4786Date: 2021-10-28 23:02:11 +0300 4787 4788 Bump the version number for 5.3.2alpha. 4789 4790 src/liblzma/api/lzma/version.h | 2 +- 4791 src/liblzma/liblzma.map | 2 +- 4792 2 files changed, 2 insertions(+), 2 deletions(-) 4793 4794commit ea8c948655a86290524efe59cff067e06a886709 4795Author: Lasse Collin <lasse.collin@tukaani.org> 4796Date: 2021-10-28 22:59:52 +0300 4797 4798 Add NEWS for 5.3.2alpha. 4799 4800 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4801 1 file changed, 86 insertions(+) 4802 4803commit 52435f302f4724157ec50b4210cbe42b285c3cbc 4804Author: Lasse Collin <lasse.collin@tukaani.org> 4805Date: 2021-10-27 23:27:48 +0300 4806 4807 Update THANKS. 4808 4809 THANKS | 1 + 4810 1 file changed, 1 insertion(+) 4811 4812commit f2aea1d5a504b2021bf47a238390e4f12bdd518d 4813Author: Lasse Collin <lasse.collin@tukaani.org> 4814Date: 2021-10-27 23:23:11 +0300 4815 4816 xz: Change the coding style of the previous commit. 4817 4818 It isn't any better now but it's consistent with 4819 the rest of the code base. 4820 4821 src/xz/file_io.c | 11 ++++++----- 4822 1 file changed, 6 insertions(+), 5 deletions(-) 4823 4824commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81 4825Author: Alexander Bluhm <alexander.bluhm@gmx.net> 4826Date: 2021-10-05 23:33:16 +0200 4827 4828 xz: Avoid fchown(2) failure. 4829 4830 OpenBSD does not allow to change the group of a file if the user 4831 does not belong to this group. In contrast to Linux, OpenBSD also 4832 fails if the new group is the same as the old one. Do not call 4833 fchown(2) in this case, it would change nothing anyway. 4834 4835 This fixes an issue with Perl Alien::Build module. 4836 https://github.com/PerlAlien/Alien-Build/issues/62 4837 4838 src/xz/file_io.c | 8 +++++++- 4839 1 file changed, 7 insertions(+), 1 deletion(-) 4840 4841commit 2b509c868cae3988bf21cd693fbf9021cdc85628 4842Author: Lasse Collin <lasse.collin@tukaani.org> 4843Date: 2021-09-17 17:31:11 +0300 4844 4845 liblzma: Fix liblzma.map for the lzma_microlzma_* symbols. 4846 4847 This should have been part of d267d109c370a40b502e73f8664b154b15e4f253. 4848 4849 Thanks to Gao Xiang. 4850 4851 src/liblzma/liblzma.map | 4 ++-- 4852 1 file changed, 2 insertions(+), 2 deletions(-) 4853 4854commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6 4855Author: Lasse Collin <lasse.collin@tukaani.org> 4856Date: 2021-09-09 22:21:07 +0300 4857 4858 Update THANKS. 4859 4860 THANKS | 1 + 4861 1 file changed, 1 insertion(+) 4862 4863commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e 4864Author: Lasse Collin <lasse.collin@tukaani.org> 4865Date: 2021-09-09 21:41:51 +0300 4866 4867 liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC. 4868 4869 By default, MSVC always sets __cplusplus to 199711L. The real 4870 C++ standard version is available in _MSVC_LANG (or one could 4871 use /Zc:__cplusplus to set __cplusplus correctly). 4872 4873 Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>. 4874 4875 Thanks to Dan Weiss. 4876 4877 src/liblzma/api/lzma.h | 3 ++- 4878 1 file changed, 2 insertions(+), 1 deletion(-) 4879 4880commit d267d109c370a40b502e73f8664b154b15e4f253 4881Author: Lasse Collin <lasse.collin@tukaani.org> 4882Date: 2021-09-05 20:38:12 +0300 4883 4884 liblzma: Rename EROFS LZMA to MicroLZMA. 4885 4886 It still exists primarily for EROFS but MicroLZMA is 4887 a more generic name (that hopefully doesn't clash with 4888 something that already exists). 4889 4890 src/liblzma/api/lzma/container.h | 33 +++++++++++++--------- 4891 src/liblzma/common/Makefile.inc | 4 +-- 4892 .../{erofs_decoder.c => microlzma_decoder.c} | 32 ++++++++++----------- 4893 .../{erofs_encoder.c => microlzma_encoder.c} | 30 ++++++++++---------- 4894 4 files changed, 52 insertions(+), 47 deletions(-) 4895 4896commit 3247e95115acb95bc27f41e8cf4501db5b0b4309 4897Author: Lasse Collin <lasse.collin@tukaani.org> 4898Date: 2021-06-04 19:02:38 +0300 4899 4900 xzdiff: Update the man page about the exit status. 4901 4902 This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca. 4903 4904 src/scripts/xzdiff.1 | 4 ++-- 4905 1 file changed, 2 insertions(+), 2 deletions(-) 4906 4907commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc 4908Author: Lasse Collin <lasse.collin@tukaani.org> 4909Date: 2021-06-04 18:52:48 +0300 4910 4911 xzless: Fix less(1) version detection when it contains a dot. 4912 4913 Sometimes the version number from "less -V" contains a dot, 4914 sometimes not. xzless failed detect the version number when 4915 it does contain a dot. This fixes it. 4916 4917 Thanks to nick87720z for reporting this. Apparently it had been 4918 reported here <https://bugs.gentoo.org/489362> in 2013. 4919 4920 src/scripts/xzless.in | 2 +- 4921 1 file changed, 1 insertion(+), 1 deletion(-) 4922 4923commit 5fb5212d816addbc523d0798cb482fdd0484f8fa 4924Author: Lasse Collin <lasse.collin@tukaani.org> 4925Date: 2021-04-11 19:58:10 +0300 4926 4927 Update THANKS. 4928 4929 THANKS | 2 ++ 4930 1 file changed, 2 insertions(+) 4931 4932commit fc3d3a7296ef58bb799a73943636b8bfd95339f7 4933Author: Ivan A. Melnikov <iv@altlinux.org> 4934Date: 2021-04-09 11:45:10 +0300 4935 4936 Reduce maximum possible memory limit on MIPS32 4937 4938 Due to architectural limitations, address space available to a single 4939 userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems 4940 that have more physical RAM -- e.g. 64-bit systems with 32-bit 4941 userspace, or systems that use XPA (an extension similar to x86's PAE). 4942 4943 So, for MIPS32, we have to impose stronger memory limits. I've chosen 4944 2000MiB to give the process some headroom. 4945 4946 src/xz/hardware.c | 6 ++++++ 4947 1 file changed, 6 insertions(+) 4948 4949commit e7da44d5151e21f153925781ad29334ae0786101 4950Author: Lasse Collin <lasse.collin@tukaani.org> 4951Date: 2021-02-13 23:31:27 +0200 4952 4953 CMake: Use interface library for better FindLibLZMA compatibility. 4954 4955 https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html 4956 4957 Thanks to Markus Rickert. 4958 4959 CMakeLists.txt | 11 +++++++++-- 4960 1 file changed, 9 insertions(+), 2 deletions(-) 4961 4962commit a61dd82ada39030f41b4ffca9ea551714908bedc 4963Author: Lasse Collin <lasse.collin@tukaani.org> 4964Date: 2021-01-30 18:36:04 +0200 4965 4966 CMake: Try to improve compatibility with the FindLibLZMA module. 4967 4968 The naming conflict with FindLibLZMA module gets worse. 4969 Not avoiding it in the first place was stupid. 4970 4971 Normally find_package(LibLZMA) will use the module and 4972 find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config 4973 file even with a case insensitive file system. However, if 4974 CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system 4975 is case insensitive, find_package(LibLZMA) will find our liblzma 4976 config file instead of using FindLibLZMA module. 4977 4978 One big problem with this is that FindLibLZMA uses 4979 LibLZMA::LibLZMA and we use liblzma::liblzma as the target 4980 name. With target names CMake happens to be case sensitive. 4981 To workaround this, this commit adds 4982 4983 add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma) 4984 4985 to the config file. Then both spellings work. 4986 4987 To make the behavior consistent between case sensitive and 4988 insensitive file systems, the config and related files are 4989 renamed from liblzmaConfig.cmake to liblzma-config.cmake style. 4990 With this style CMake looks for lowercase version of the package 4991 name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work 4992 to find our config file. 4993 4994 There are other differences between our config file and 4995 FindLibLZMA so it's still possible that things break for 4996 reasons other than the spelling of the target name. Hopefully 4997 those situations aren't too common. 4998 4999 When the config file is available, it should always give as good or 5000 better results as FindLibLZMA so this commit doesn't affect the 5001 recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG) 5002 which explicitly avoids FindLibLZMA. 5003 5004 Thanks to Markus Rickert. 5005 5006 CMakeLists.txt | 21 +++++++++++++-------- 5007 1 file changed, 13 insertions(+), 8 deletions(-) 5008 5009commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05 5010Author: Lasse Collin <lasse.collin@tukaani.org> 5011Date: 2021-01-29 21:19:43 +0200 5012 5013 Update THANKS. 5014 5015 THANKS | 1 + 5016 1 file changed, 1 insertion(+) 5017 5018commit 6c6f0db340dcb8bb424411cedba713405d55f6b8 5019Author: Lasse Collin <lasse.collin@tukaani.org> 5020Date: 2021-01-29 21:19:08 +0200 5021 5022 liblzma: Fix unitialized variable. 5023 5024 This was introduced two weeks ago in the commit 5025 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c. 5026 5027 Thanks to Nathan Moinvaziri. 5028 5029 src/liblzma/lzma/lzma_encoder.c | 1 + 5030 1 file changed, 1 insertion(+) 5031 5032commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c 5033Author: Lasse Collin <lasse.collin@tukaani.org> 5034Date: 2021-01-24 22:32:41 +0200 5035 5036 Tests: Add bad-1-lzma2-10.xz and also modify -9.xz. 5037 5038 tests/files/README | 11 +++++++++-- 5039 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes 5040 tests/files/bad-1-lzma2-9.xz | Bin 72 -> 72 bytes 5041 3 files changed, 9 insertions(+), 2 deletions(-) 5042 5043commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7 5044Author: Lasse Collin <lasse.collin@tukaani.org> 5045Date: 2021-01-24 19:22:35 +0200 5046 5047 liblzma: Fix a wrong comment in stream_encoder_mt.c. 5048 5049 src/liblzma/common/stream_encoder_mt.c | 10 +++++++--- 5050 1 file changed, 7 insertions(+), 3 deletions(-) 5051 5052commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e 5053Author: Lasse Collin <lasse.collin@tukaani.org> 5054Date: 2021-01-24 18:51:51 +0200 5055 5056 Tests: Add bad-1-lzma2-9.xz. 5057 5058 tests/files/README | 4 ++++ 5059 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes 5060 2 files changed, 4 insertions(+) 5061 5062commit fdd30032f8531ac89519b48c21d810ecf06825f6 5063Author: Lasse Collin <lasse.collin@tukaani.org> 5064Date: 2021-01-24 17:02:00 +0200 5065 5066 Tests: Add bad-1-check-crc32-2.xz. 5067 5068 tests/files/README | 7 +++++++ 5069 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes 5070 2 files changed, 7 insertions(+) 5071 5072commit db465419ae26ec7fb9b9472183911ff521620c77 5073Author: Lasse Collin <lasse.collin@tukaani.org> 5074Date: 2021-01-17 19:20:50 +0200 5075 5076 liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end. 5077 5078 When the uncompressed size is known to be exact, after decompressing 5079 the stream exactly comp_size bytes of input must have been consumed. 5080 This is a minor improvement to error detection. 5081 5082 src/liblzma/common/erofs_decoder.c | 7 ++++++- 5083 1 file changed, 6 insertions(+), 1 deletion(-) 5084 5085commit 774cc0118ba2496581cb2621505a04bb6598cc75 5086Author: Lasse Collin <lasse.collin@tukaani.org> 5087Date: 2021-01-17 18:53:34 +0200 5088 5089 liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known. 5090 5091 The caller must still not specify an uncompressed size bigger 5092 than the actual uncompressed size. 5093 5094 As a downside, this now needs the exact compressed size. 5095 5096 src/liblzma/api/lzma/container.h | 23 ++++++++--- 5097 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++---- 5098 2 files changed, 91 insertions(+), 12 deletions(-) 5099 5100commit 421b0aa352da244075db10205cf33712f91b9835 5101Author: Lasse Collin <lasse.collin@tukaani.org> 5102Date: 2021-01-14 20:57:11 +0200 5103 5104 liblzma: Fix missing normalization in rc_encode_dummy(). 5105 5106 Without this fix it could attempt to create too much output. 5107 5108 src/liblzma/rangecoder/range_encoder.h | 7 ++++++- 5109 1 file changed, 6 insertions(+), 1 deletion(-) 5110 5111commit 601ec0311e769fc704daaaa7dac0ca840aff080e 5112Author: Lasse Collin <lasse.collin@tukaani.org> 5113Date: 2021-01-14 20:07:01 +0200 5114 5115 liblzma: Add EROFS LZMA encoder and decoder. 5116 5117 Right now this is just a planned extra-compact format for use 5118 in the EROFS file system in Linux. At this point it's possible 5119 that the format will either change or be abandoned and removed 5120 completely. 5121 5122 The special thing about the encoder is that it uses the 5123 output-size-limited encoding added in the previous commit. 5124 EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed 5125 data so the compressors must be able to create valid streams 5126 that fill the given block size. 5127 5128 src/liblzma/api/lzma/container.h | 76 +++++++++++++++++++ 5129 src/liblzma/common/Makefile.inc | 2 + 5130 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++ 5131 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++ 5132 src/liblzma/liblzma.map | 2 + 5133 5 files changed, 367 insertions(+) 5134 5135commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c 5136Author: Lasse Collin <lasse.collin@tukaani.org> 5137Date: 2021-01-13 19:16:32 +0200 5138 5139 liblzma: Add rough support for output-size-limited encoding in LZMA1. 5140 5141 With this it is possible to encode LZMA1 data without EOPM so that 5142 the encoder will encode as much input as it can without exceeding 5143 the specified output size limit. The resulting LZMA1 stream will 5144 be a normal LZMA1 stream without EOPM. The actual uncompressed size 5145 will be available to the caller via the uncomp_size pointer. 5146 5147 One missing thing is that the LZMA layer doesn't inform the LZ layer 5148 when the encoding is finished and thus the LZ may read more input 5149 when it won't be used. However, this doesn't matter if encoding is 5150 done with a single call (which is the planned use case for now). 5151 For proper multi-call encoding this should be improved. 5152 5153 This commit only adds the functionality for internal use. 5154 Nothing uses it yet. 5155 5156 src/liblzma/common/common.h | 11 +++ 5157 src/liblzma/lz/lz_encoder.c | 16 ++++ 5158 src/liblzma/lz/lz_encoder.h | 4 + 5159 src/liblzma/lzma/lzma_encoder.c | 127 +++++++++++++++++++++++--------- 5160 src/liblzma/lzma/lzma_encoder_private.h | 12 +++ 5161 src/liblzma/rangecoder/range_encoder.h | 111 ++++++++++++++++++++++++++++ 5162 6 files changed, 246 insertions(+), 35 deletions(-) 5163 5164commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a 5165Author: Lasse Collin <lasse.collin@tukaani.org> 5166Date: 2021-01-11 23:57:11 +0200 5167 5168 Scripts: Add zstd support to xzdiff. 5169 5170 src/scripts/xzdiff.1 | 6 ++++-- 5171 src/scripts/xzdiff.in | 16 +++++++++++----- 5172 2 files changed, 15 insertions(+), 7 deletions(-) 5173 5174commit d9ec3add97cf4c999a7f594c6529680227b6c274 5175Author: Lasse Collin <lasse.collin@tukaani.org> 5176Date: 2021-01-11 23:41:30 +0200 5177 5178 Update THANKS. 5179 5180 THANKS | 2 ++ 5181 1 file changed, 2 insertions(+) 5182 5183commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2 5184Author: Lasse Collin <lasse.collin@tukaani.org> 5185Date: 2021-01-11 23:41:16 +0200 5186 5187 xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky. 5188 5189 Previously this required using --force but that has other 5190 effects too which might be undesirable. Changing the behavior 5191 of --keep has a small risk of breaking existing scripts but 5192 since this is a fairly special corner case I expect the 5193 likehood of breakage to be low enough. 5194 5195 I think the new behavior is more logical. The only reason for 5196 the old behavior was to be consistent with gzip and bzip2. 5197 5198 Thanks to Vincent Lefevre and Sebastian Andrzej Siewior. 5199 5200 src/xz/file_io.c | 9 +++++---- 5201 src/xz/xz.1 | 16 +++++++++++++++- 5202 2 files changed, 20 insertions(+), 5 deletions(-) 5203 5204commit 73c555b3077c19dda29b6f4592ced2af876f8333 5205Author: Lasse Collin <lasse.collin@tukaani.org> 5206Date: 2021-01-11 23:28:52 +0200 5207 5208 Scripts: Fix exit status of xzgrep. 5209 5210 Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't 5211 matter. With gzip it's important because -q makes gzip replace SIGPIPE 5212 with exit status 2. With bzip2 it's important because with -q bzip2 5213 is completely silent if input is corrupt while other decompressors 5214 still give an error message. 5215 5216 Avoiding exit status 2 from gzip is important because bzip2 uses 5217 exit status 2 to indicate corrupt input. Before this commit xzgrep 5218 didn't recognize corrupt .bz2 files because xzgrep was treating 5219 exit status 2 as SIGPIPE for gzip compatibility. 5220 5221 zstd still needs -q because otherwise it is noisy in normal 5222 operation. 5223 5224 The code to detect real SIGPIPE didn't check if the exit status 5225 was due to a signal (>= 128) and so could ignore some other exit 5226 status too. 5227 5228 src/scripts/xzgrep.in | 20 +++++++++++++------- 5229 1 file changed, 13 insertions(+), 7 deletions(-) 5230 5231commit 194029ffaf74282a81f0c299c07f73caca3232ca 5232Author: Lasse Collin <lasse.collin@tukaani.org> 5233Date: 2021-01-11 22:01:51 +0200 5234 5235 Scripts: Fix exit status of xzdiff/xzcmp. 5236 5237 This is a minor fix since this affects only the situation when 5238 the files differ and the exit status is something else than 0. 5239 In such case there could be SIGPIPE from a decompression tool 5240 and that would result in exit status of 2 from xzdiff/xzcmp 5241 while the correct behavior would be to return 1 or whatever 5242 else diff or cmp may have returned. 5243 5244 This commit omits the -q option from xz/gzip/bzip2/lzop arguments. 5245 I'm not sure why the -q was used in the first place, perhaps it 5246 hides warnings in some situation that I cannot see at the moment. 5247 Hopefully the removal won't introduce a new bug. 5248 5249 With gzip the -q option was harmful because it made gzip return 2 5250 instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning 5251 from gzip) isn't practical because bzip2 uses exit status 2 to 5252 indicate corrupt input file. It's better if SIGPIPE results in 5253 exit status >= 128. 5254 5255 With bzip2 the removal of -q seems to be good because with -q 5256 it prints nothing if input is corrupt. The other tools aren't 5257 silent in this situation even with -q. On the other hand, if 5258 zstd support is added, it will need -q since otherwise it's 5259 noisy in normal situations. 5260 5261 Thanks to Étienne Mollier and Sebastian Andrzej Siewior. 5262 5263 src/scripts/xzdiff.in | 35 +++++++++++++++++++++-------------- 5264 1 file changed, 21 insertions(+), 14 deletions(-) 5265 5266commit f7fa309e1f7178d04c7bedc03b73077639371e97 5267Author: Lasse Collin <lasse.collin@tukaani.org> 5268Date: 2021-01-09 21:14:36 +0200 5269 5270 liblzma: Make lzma_outq usable for threaded decompression too. 5271 5272 Before this commit all output queue buffers were allocated as 5273 a single big allocation. Now each buffer is allocated separately 5274 when needed. Used buffers are cached to avoid reallocation 5275 overhead but the cache will keep only one buffer size at a time. 5276 This should make things work OK in the decompression where most 5277 of the time the buffer sizes will be the same but with some less 5278 common files the buffer sizes may vary. 5279 5280 While this should work fine, it's still a bit preliminary 5281 and may even get reverted if it turns out to be useless for 5282 decompression. 5283 5284 src/liblzma/common/outqueue.c | 268 +++++++++++++++++++++------------ 5285 src/liblzma/common/outqueue.h | 138 ++++++++++++----- 5286 src/liblzma/common/stream_encoder_mt.c | 52 ++++--- 5287 3 files changed, 301 insertions(+), 157 deletions(-) 5288 5289commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778 5290Author: Lasse Collin <lasse.collin@tukaani.org> 5291Date: 2020-12-23 17:15:49 +0200 5292 5293 Update THANKS. 5294 5295 THANKS | 1 + 5296 1 file changed, 1 insertion(+) 5297 5298commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589 5299Author: H.J. Lu <hjl.tools@gmail.com> 5300Date: 2020-12-23 06:49:04 -0800 5301 5302 liblzma: Enable Intel CET in x86 CRC assembly codes 5303 5304 When Intel CET is enabled, we need to include <cet.h> in assembly codes 5305 to mark Intel CET support and add _CET_ENDBR to indirect jump targets. 5306 5307 Tested on Intel Tiger Lake under CET enabled Linux. 5308 5309 src/liblzma/check/crc32_x86.S | 9 +++++++++ 5310 src/liblzma/check/crc64_x86.S | 9 +++++++++ 5311 2 files changed, 18 insertions(+) 5312 5313commit bb3b8c6a23e25db79f862b1de325c56052e0354b 5314Author: Lasse Collin <lasse.collin@tukaani.org> 5315Date: 2020-12-16 18:33:29 +0200 5316 5317 Update THANKS. 5318 5319 THANKS | 1 + 5320 1 file changed, 1 insertion(+) 5321 5322commit 21588ca34af98738954fc12ded1b89d7294ef646 5323Author: Lasse Collin <lasse.collin@tukaani.org> 5324Date: 2020-12-16 18:30:14 +0200 5325 5326 Build: Don't build bundles on Apple OSes. 5327 5328 Thanks to Daniel Packard. 5329 5330 CMakeLists.txt | 3 +++ 5331 1 file changed, 3 insertions(+) 5332 5333commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28 5334Author: Lasse Collin <lasse.collin@tukaani.org> 5335Date: 2020-12-05 22:44:03 +0200 5336 5337 Update THANKS. 5338 5339 THANKS | 1 + 5340 1 file changed, 1 insertion(+) 5341 5342commit 1890351f3423627ba5c4c495402f32d7e9ed90b7 5343Author: Adam Borowski <kilobyte@angband.pl> 5344Date: 2020-09-25 03:35:18 +0200 5345 5346 Scripts: Add zstd support to xzgrep. 5347 5348 Thanks to Adam Borowski. 5349 5350 src/scripts/xzgrep.1 | 9 ++++++--- 5351 src/scripts/xzgrep.in | 1 + 5352 2 files changed, 7 insertions(+), 3 deletions(-) 5353 5354commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2 5355Author: Lasse Collin <lasse.collin@tukaani.org> 5356Date: 2020-11-17 20:51:48 +0200 5357 5358 CMake: Fix compatibility with CMake 3.13. 5359 5360 The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14. 5361 In some other places the code treats the cache variables 5362 like normal variables already (${FOO} or if(FOO) is used, 5363 not ${CACHE{FOO}). 5364 5365 Thanks to ygrek for reporting the bug on IRC. 5366 5367 CMakeLists.txt | 2 +- 5368 cmake/tuklib_cpucores.cmake | 4 ++-- 5369 cmake/tuklib_physmem.cmake | 4 ++-- 5370 3 files changed, 5 insertions(+), 5 deletions(-) 5371 5372commit 5af726a79273fafa5de5745b117e567f21c90e49 5373Author: Lasse Collin <lasse.collin@tukaani.org> 5374Date: 2020-11-01 22:56:43 +0200 5375 5376 Update THANKS. 5377 5378 THANKS | 4 +++- 5379 1 file changed, 3 insertions(+), 1 deletion(-) 5380 5381commit 4575d9d365c756ec189899f9f743e0b3515ce72d 5382Author: Lasse Collin <lasse.collin@tukaani.org> 5383Date: 2020-11-01 22:34:25 +0200 5384 5385 xz: Avoid unneeded \f escapes on the man page. 5386 5387 I don't want to use \c in macro arguments but groff_man(7) 5388 suggests that \f has better portability. \f would be needed 5389 for the .TP strings for portability reasons anyway. 5390 5391 Thanks to Bjarni Ingi Gislason. 5392 5393 src/xz/xz.1 | 31 ++++++++++++++++++++++--------- 5394 1 file changed, 22 insertions(+), 9 deletions(-) 5395 5396commit 620b32f5339f86710cb4435e01ecdac972ccac73 5397Author: Lasse Collin <lasse.collin@tukaani.org> 5398Date: 2020-11-01 19:09:53 +0200 5399 5400 xz: Use non-breaking spaces when intentionally using more than one space. 5401 5402 This silences some style checker warnings. Seems that spaces 5403 in the beginning of a line don't need this treatment. 5404 5405 Thanks to Bjarni Ingi Gislason. 5406 5407 src/xz/xz.1 | 2 +- 5408 1 file changed, 1 insertion(+), 1 deletion(-) 5409 5410commit cb1f34988c8a4130485091b2f8b641303d8f701b 5411Author: Lasse Collin <lasse.collin@tukaani.org> 5412Date: 2020-11-01 18:49:37 +0200 5413 5414 xz: Protect the ellipsis (...) on the man page with \&. 5415 5416 This does it only when ... appears outside macro calls. 5417 5418 Thanks to Bjarni Ingi Gislason. 5419 5420 src/xz/xz.1 | 4 ++-- 5421 1 file changed, 2 insertions(+), 2 deletions(-) 5422 5423commit 5d224da3da87400f2fab313abbd7c710e7169ef9 5424Author: Lasse Collin <lasse.collin@tukaani.org> 5425Date: 2020-11-01 18:41:21 +0200 5426 5427 xz: Avoid the abbreviation "e.g." on the man page. 5428 5429 A few are simply omitted, most are converted to "for example" 5430 and surrounded with commas. Sounds like that this is better 5431 style, for example, man-pages(7) recommends avoiding such 5432 abbreviations except in parenthesis. 5433 5434 Thanks to Bjarni Ingi Gislason. 5435 5436 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++------------------------------- 5437 1 file changed, 33 insertions(+), 33 deletions(-) 5438 5439commit 90457dbe3e5717660f5b81f8c604860fc5137c0c 5440Author: Lasse Collin <lasse.collin@tukaani.org> 5441Date: 2020-07-12 23:10:03 +0300 5442 5443 xz man page: Change \- (minus) to \(en (en-dash) for a numeric range. 5444 5445 Docs of ancient troff/nroff mention \(em (em-dash) but not \(en 5446 and \- was used for both minus and en-dash. I don't know how 5447 portable \(en is nowadays but it can be changed back if someone 5448 complains. At least GNU groff and OpenBSD's mandoc support it. 5449 5450 Thanks to Bjarni Ingi Gislason for the patch. 5451 5452 src/xz/xz.1 | 16 ++++++++-------- 5453 1 file changed, 8 insertions(+), 8 deletions(-) 5454 5455commit 352ba2d69af2136bc814aa1df1a132559d445616 5456Author: Lasse Collin <lasse.collin@tukaani.org> 5457Date: 2020-07-12 20:46:24 +0300 5458 5459 Windows: Fix building of resource files when config.h isn't used. 5460 5461 Now CMake + Visual Studio works for building liblzma.dll. 5462 5463 Thanks to Markus Rickert. 5464 5465 src/common/common_w32res.rc | 4 +++- 5466 1 file changed, 3 insertions(+), 1 deletion(-) 5467 5468commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480 5469Author: Lasse Collin <lasse.collin@tukaani.org> 5470Date: 2020-04-06 19:31:50 +0300 5471 5472 src/scripts/xzgrep.1: Filenames to xzgrep are optional. 5473 5474 xzgrep --help was correct already. 5475 5476 src/scripts/xzgrep.1 | 2 +- 5477 1 file changed, 1 insertion(+), 1 deletion(-) 5478 5479commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0 5480Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5481Date: 2020-03-26 22:17:31 +0000 5482 5483 src/script/xzgrep.1: Remove superfluous '.RB' 5484 5485 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 5486 5487 [ "test-groff" is a developmental version of "groff" ] 5488 5489 Input file is ./src/scripts/xzgrep.1 5490 5491 <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected 5492 <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected 5493 <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected 5494 <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected 5495 <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected 5496 5497 "abc..." does not mean the same as "abc ...". 5498 5499 The output from nroff and troff is unchanged except for the space 5500 between "file" and "...". 5501 5502 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5503 5504 src/scripts/xzgrep.1 | 12 ++++++------ 5505 1 file changed, 6 insertions(+), 6 deletions(-) 5506 5507commit 133d498db0f4b14f066d192d64dbcade45deae6b 5508Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5509Date: 2020-03-30 21:56:36 +0000 5510 5511 xzgrep.1: Delete superfluous '.PP' 5512 5513 Summary: 5514 5515 mandoc -T lint xzgrep.1 : 5516 mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty 5517 5518 There is no change in the output of "nroff" and "troff". 5519 5520 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5521 5522 src/scripts/xzgrep.1 | 1 - 5523 1 file changed, 1 deletion(-) 5524 5525commit 057839ca982f886387b66746bffe749cb14fd8cd 5526Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5527Date: 2020-03-26 21:16:18 +0000 5528 5529 src/xz/xz.1: Correct misused two-fonts macros 5530 5531 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z 5532 5533 [ "test-groff" is a developmental version of "groff" ] 5534 5535 Input file is ./src/xz/xz.1 5536 5537 <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected 5538 <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected 5539 <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected 5540 <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected 5541 <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected 5542 5543 Output from nroff and troff is unchanged, except for a font change of a 5544 full stop (.). 5545 5546 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> 5547 5548 src/xz/xz.1 | 10 +++++----- 5549 1 file changed, 5 insertions(+), 5 deletions(-) 5550 5551commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd 5552Author: Lasse Collin <lasse.collin@tukaani.org> 5553Date: 2020-03-23 18:07:50 +0200 5554 5555 Typo fixes from fossies.org. 5556 5557 https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html 5558 5559 Makefile.am | 2 +- 5560 doc/examples/01_compress_easy.c | 2 +- 5561 src/liblzma/api/lzma/base.h | 2 +- 5562 src/liblzma/check/crc32_x86.S | 2 +- 5563 src/liblzma/common/index.c | 2 +- 5564 src/xz/xz.1 | 4 ++-- 5565 6 files changed, 7 insertions(+), 7 deletions(-) 5566 5567commit 869b9d1b4edd6df07f819d360d306251f8147353 5568Author: Lasse Collin <lasse.collin@tukaani.org> 5569Date: 2020-03-17 16:24:28 +0200 5570 5571 Update NEWS for 5.2.5. 5572 5573 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5574 1 file changed, 105 insertions(+) 5575 5576commit a048e3a92d238c65f050a765174d9c75417231d4 5577Author: Lasse Collin <lasse.collin@tukaani.org> 5578Date: 2020-03-16 20:01:37 +0200 5579 5580 README: Update outdated sections. 5581 5582 README | 21 +++++++++++---------- 5583 1 file changed, 11 insertions(+), 10 deletions(-) 5584 5585commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716 5586Author: Lasse Collin <lasse.collin@tukaani.org> 5587Date: 2020-03-16 19:39:45 +0200 5588 5589 README: Mention that man pages can be translated. 5590 5591 README | 7 ++++--- 5592 1 file changed, 4 insertions(+), 3 deletions(-) 5593 5594commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1 5595Author: Lasse Collin <lasse.collin@tukaani.org> 5596Date: 2020-03-16 16:43:29 +0200 5597 5598 Update INSTALL.generic from Automake 1.16.1. 5599 5600 INSTALL.generic | 321 ++++++++++++++++++++++++++++---------------------------- 5601 1 file changed, 162 insertions(+), 159 deletions(-) 5602 5603commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0 5604Author: Lasse Collin <lasse.collin@tukaani.org> 5605Date: 2020-03-15 15:27:22 +0200 5606 5607 Update INSTALL for Windows and DOS and add preliminary info for z/OS. 5608 5609 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++---------- 5610 1 file changed, 41 insertions(+), 10 deletions(-) 5611 5612commit a3148c0446dc7fa96363752df414d22539c9007b 5613Author: Lasse Collin <lasse.collin@tukaani.org> 5614Date: 2020-03-15 15:26:20 +0200 5615 5616 Build: Update m4/ax_pthread.m4 from Autoconf Archive (again). 5617 5618 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++-------------------------- 5619 1 file changed, 117 insertions(+), 102 deletions(-) 5620 5621commit 7812002dd3ed319e42a14662a8531802cca8ca67 5622Author: Lasse Collin <lasse.collin@tukaani.org> 5623Date: 2020-03-11 21:15:35 +0200 5624 5625 xz: Never use thousand separators in DJGPP builds. 5626 5627 DJGPP 2.05 added support for thousands separators but it's 5628 broken at least under WinXP with Finnish locale that uses 5629 a non-breaking space as the thousands separator. Workaround 5630 by disabling thousands separators for DJGPP builds. 5631 5632 src/xz/util.c | 14 ++++++++++++-- 5633 1 file changed, 12 insertions(+), 2 deletions(-) 5634 5635commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f 5636Author: Lasse Collin <lasse.collin@tukaani.org> 5637Date: 2020-03-11 19:38:08 +0200 5638 5639 DOS: Update dos/Makefile for DJGPP 2.05. 5640 5641 It doesn't need -fgnu89-inline like 2.04beta did. 5642 5643 dos/Makefile | 4 +--- 5644 1 file changed, 1 insertion(+), 3 deletions(-) 5645 5646commit 319ca928d73de87940c54e30bffe69f9fa65efdf 5647Author: Lasse Collin <lasse.collin@tukaani.org> 5648Date: 2020-03-11 19:36:07 +0200 5649 5650 DOS: Update instructions in dos/INSTALL.txt. 5651 5652 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++----------------------------- 5653 1 file changed, 29 insertions(+), 30 deletions(-) 5654 5655commit cb6b227ce39932824812ccd8a0647bd968de27d2 5656Author: Lasse Collin <lasse.collin@tukaani.org> 5657Date: 2020-03-11 17:58:51 +0200 5658 5659 DOS: Update config.h. 5660 5661 The added defines assume GCC >= 4.8. 5662 5663 dos/config.h | 8 ++++++++ 5664 1 file changed, 8 insertions(+) 5665 5666commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd 5667Author: Lasse Collin <lasse.collin@tukaani.org> 5668Date: 2020-03-02 13:54:33 +0200 5669 5670 liblzma: Fix a comment and RC_SYMBOLS_MAX. 5671 5672 The comment didn't match the value of RC_SYMBOLS_MAX and the value 5673 itself was slightly larger than actually needed. The only harm 5674 about this was that memory usage was a few bytes larger. 5675 5676 src/liblzma/rangecoder/range_encoder.h | 4 ++-- 5677 1 file changed, 2 insertions(+), 2 deletions(-) 5678 5679commit 265daa873c0d871f5f23f9b56e133a6f20045a0a 5680Author: Lasse Collin <lasse.collin@tukaani.org> 5681Date: 2020-02-27 20:58:52 +0200 5682 5683 Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails. 5684 5685 CMakeLists.txt | 18 ++++++++++++++++++ 5686 1 file changed, 18 insertions(+) 5687 5688commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9 5689Author: Lasse Collin <lasse.collin@tukaani.org> 5690Date: 2020-02-27 20:24:27 +0200 5691 5692 Build: Add support for --no-po4a option to autogen.sh. 5693 5694 Normally, if po4a isn't available, autogen.sh will return 5695 with non-zero exit status. The option --no-po4a can be useful 5696 when one knows that po4a isn't available but wants autogen.sh 5697 to still return with zero exit status. 5698 5699 autogen.sh | 11 ++++++++++- 5700 1 file changed, 10 insertions(+), 1 deletion(-) 5701 5702commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f 5703Author: Lasse Collin <lasse.collin@tukaani.org> 5704Date: 2020-02-25 21:35:14 +0200 5705 5706 Update THANKS. 5707 5708 THANKS | 1 + 5709 1 file changed, 1 insertion(+) 5710 5711commit 474320e9908786ba2021035f9013191e16cde08a 5712Author: Lasse Collin <lasse.collin@tukaani.org> 5713Date: 2020-02-25 20:42:31 +0200 5714 5715 Build: Fix bugs in the CMake files. 5716 5717 Seems that the phrase "add more quotes" from sh/bash scripting 5718 applies to CMake as well. E.g. passing an unquoted list ${FOO} 5719 to a function that expects one argument results in only the 5720 first element of the list being passed as an argument and 5721 the rest get ignored. Adding quotes helps ("${FOO}"). 5722 5723 list(INSERT ...) is weird. Inserting an empty string to an empty 5724 variable results in empty list, but inserting it to a non-empty 5725 variable does insert an empty element to the list. 5726 5727 Since INSERT requires at least one element, 5728 "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt. 5729 It might result in an empty element in the list. It seems to not 5730 matter as empty elements consistently get ignored in that variable. 5731 In fact, calling cmake_check_push_state() and cmake_check_pop_state() 5732 will strip the empty elements from CMAKE_REQUIRED_LIBRARIES! 5733 5734 In addition to quoting fixes, this fixes checks for the cache 5735 variables in tuklib_cpucores.cmake and tuklib_physmem.cmake. 5736 5737 Thanks to Martin Matuška for testing and reporting the problems. 5738 These fixes aren't tested yet but hopefully they soon will be. 5739 5740 CMakeLists.txt | 52 ++++++++++++++++++++++----------------------- 5741 cmake/tuklib_common.cmake | 8 ++++--- 5742 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------ 5743 cmake/tuklib_integer.cmake | 34 +++++++++++++++-------------- 5744 cmake/tuklib_mbstr.cmake | 6 +++--- 5745 cmake/tuklib_physmem.cmake | 29 +++++++++++++------------ 5746 cmake/tuklib_progname.cmake | 4 ++-- 5747 7 files changed, 85 insertions(+), 78 deletions(-) 5748 5749commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6 5750Author: Lasse Collin <lasse.collin@tukaani.org> 5751Date: 2020-02-24 23:38:16 +0200 5752 5753 Build: Add very limited experimental CMake support. 5754 5755 This does *NOT* replace the Autotools-based build system in 5756 the foreseeable future. See the comment in the beginning 5757 of CMakeLists.txt. 5758 5759 So far this has been tested only on GNU/Linux but I commit 5760 it anyway to make it easier for others to test. Since I 5761 haven't played much with CMake before, it's likely that 5762 there are things that have been done in a silly or wrong 5763 way and need to be fixed. 5764 5765 CMakeLists.txt | 643 ++++++++++++++++++++++++++++++++++++++++++++ 5766 cmake/tuklib_common.cmake | 47 ++++ 5767 cmake/tuklib_cpucores.cmake | 173 ++++++++++++ 5768 cmake/tuklib_integer.cmake | 100 +++++++ 5769 cmake/tuklib_mbstr.cmake | 20 ++ 5770 cmake/tuklib_physmem.cmake | 149 ++++++++++ 5771 cmake/tuklib_progname.cmake | 19 ++ 5772 7 files changed, 1151 insertions(+) 5773 5774commit 21bd4701fca3e9002ce78bc135debca369ed8545 5775Author: Lasse Collin <lasse.collin@tukaani.org> 5776Date: 2020-02-24 23:37:07 +0200 5777 5778 Update m4/.gitignore. 5779 5780 m4/.gitignore | 1 + 5781 1 file changed, 1 insertion(+) 5782 5783commit e094d1d0f196a91ec703e8d0055948feef349ae8 5784Author: Lasse Collin <lasse.collin@tukaani.org> 5785Date: 2020-02-24 23:29:35 +0200 5786 5787 tuklib: Omit an unneeded <sys/types.h> from a tests. 5788 5789 tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h> 5790 even via other files in this package, so clearly that header isn't 5791 needed in the tests either (no one has reported build problems due 5792 to a missing header in a .c file). 5793 5794 m4/tuklib_cpucores.m4 | 1 - 5795 m4/tuklib_physmem.m4 | 1 - 5796 2 files changed, 2 deletions(-) 5797 5798commit b3ed19a55fe99a45bd77614e149d39d18498075c 5799Author: Lasse Collin <lasse.collin@tukaani.org> 5800Date: 2020-02-24 23:01:00 +0200 5801 5802 liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c. 5803 5804 This file only generates fastpos_table.c. 5805 It isn't built as a part of liblzma. 5806 5807 src/liblzma/lzma/fastpos_tablegen.c | 1 - 5808 1 file changed, 1 deletion(-) 5809 5810commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59 5811Author: Lasse Collin <lasse.collin@tukaani.org> 5812Date: 2020-02-22 14:15:07 +0200 5813 5814 Use defined(__GNUC__) before __GNUC__ in preprocessor lines. 5815 5816 This should silence the equivalent of -Wundef in compilers that 5817 don't define __GNUC__. 5818 5819 src/common/sysdefs.h | 3 ++- 5820 src/liblzma/api/lzma.h | 5 +++-- 5821 2 files changed, 5 insertions(+), 3 deletions(-) 5822 5823commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1 5824Author: Lasse Collin <lasse.collin@tukaani.org> 5825Date: 2020-02-21 17:40:02 +0200 5826 5827 liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA. 5828 5829 This gives a tiny encoder speed improvement. This could have been done 5830 in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but 5831 it was forgotten. 5832 5833 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------ 5834 1 file changed, 10 insertions(+), 6 deletions(-) 5835 5836commit 59e6eb4840b9f52fa3a61544974017279b448216 5837Author: Lasse Collin <lasse.collin@tukaani.org> 5838Date: 2020-02-21 17:01:15 +0200 5839 5840 Build: Add visibility.m4 from gnulib. 5841 5842 Appears that this file used to get included as a side effect of 5843 gettext. After the change to gettext version requirements this file 5844 no longer got copied to the package and so the build was broken. 5845 5846 m4/.gitignore | 1 - 5847 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5848 2 files changed, 77 insertions(+), 1 deletion(-) 5849 5850commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a 5851Author: Lasse Collin <lasse.collin@tukaani.org> 5852Date: 2020-02-21 16:10:44 +0200 5853 5854 xz: Silence a warning when sig_atomic_t is long int. 5855 5856 It can be true at least on z/OS. 5857 5858 src/xz/signals.c | 2 +- 5859 1 file changed, 1 insertion(+), 1 deletion(-) 5860 5861commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8 5862Author: Lasse Collin <lasse.collin@tukaani.org> 5863Date: 2020-02-21 15:59:26 +0200 5864 5865 xz: Avoid unneeded access of a volatile variable. 5866 5867 src/xz/signals.c | 2 +- 5868 1 file changed, 1 insertion(+), 1 deletion(-) 5869 5870commit 524c2f12c762032b819757aeda8af7c47c4cabce 5871Author: Lasse Collin <lasse.collin@tukaani.org> 5872Date: 2020-02-21 01:24:18 +0200 5873 5874 tuklib_integer.m4: Optimize the check order. 5875 5876 The __builtin byteswapping is the preferred one so check for it first. 5877 5878 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++------------------------- 5879 1 file changed, 29 insertions(+), 27 deletions(-) 5880 5881commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb 5882Author: Lasse Collin <lasse.collin@tukaani.org> 5883Date: 2020-02-20 18:54:04 +0200 5884 5885 tuklib_exit: Add missing header. 5886 5887 strerror() needs <string.h> which happened to be included via 5888 tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H 5889 was defined. This wasn't tested without config.h before so it 5890 had worked fine. 5891 5892 src/common/tuklib_exit.c | 1 + 5893 1 file changed, 1 insertion(+) 5894 5895commit fddd31175e74a538997a939d930462fde17d2dd4 5896Author: Lasse Collin <lasse.collin@tukaani.org> 5897Date: 2020-02-18 19:12:35 +0200 5898 5899 Revert the previous commit and add a comment. 5900 5901 The previous commit broke crc32_tablegen.c. 5902 5903 If the whole package is built without config.h (with defines 5904 set on the compiler command line) this should still work fine 5905 as long as these headers conform to C99 well enough. 5906 5907 src/common/tuklib_config.h | 17 ++++++++++------- 5908 1 file changed, 10 insertions(+), 7 deletions(-) 5909 5910commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e 5911Author: Lasse Collin <lasse.collin@tukaani.org> 5912Date: 2020-02-17 23:37:20 +0200 5913 5914 Do not check for HAVE_CONFIG_H in tuklib_config.h. 5915 5916 In XZ Utils sysdefs.h takes care of it and the required headers. 5917 5918 src/common/tuklib_config.h | 15 +++++++-------- 5919 1 file changed, 7 insertions(+), 8 deletions(-) 5920 5921commit 2d4cef954feba82073951358466a1d614141cf33 5922Author: Lasse Collin <lasse.collin@tukaani.org> 5923Date: 2020-02-16 11:18:28 +0200 5924 5925 sysdefs.h: Omit the conditionals around string.h and limits.h. 5926 5927 string.h is used unconditionally elsewhere in the project and 5928 configure has always stopped if limits.h is missing, so these 5929 headers must have been always available even on the weirdest 5930 systems. 5931 5932 src/common/sysdefs.h | 8 ++------ 5933 1 file changed, 2 insertions(+), 6 deletions(-) 5934 5935commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939 5936Author: Lasse Collin <lasse.collin@tukaani.org> 5937Date: 2020-02-15 15:07:11 +0200 5938 5939 Build: Bump Autoconf and Libtool version requirements. 5940 5941 There is no specific reason for this other than blocking 5942 the most ancient versions. These are still old: 5943 5944 Autoconf 2.69 (2012) 5945 Automake 1.12 (2012) 5946 gettext 0.19.6 (2015) 5947 Libtool 2.4 (2010) 5948 5949 configure.ac | 4 ++-- 5950 1 file changed, 2 insertions(+), 2 deletions(-) 5951 5952commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb 5953Author: Lasse Collin <lasse.collin@tukaani.org> 5954Date: 2020-02-15 03:08:32 +0200 5955 5956 Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6. 5957 5958 This bumps the version requirement from 0.19 (from 2014) to 5959 0.19.6 (2015). 5960 5961 Using only the old AM_GNU_GETTEXT_VERSION results in old 5962 gettext infrastructure being placed in the package. By using 5963 both macros we get the latest gettext files while the other 5964 programs in the Autotools family can still see the old macro. 5965 5966 configure.ac | 6 +++++- 5967 1 file changed, 5 insertions(+), 1 deletion(-) 5968 5969commit fa792b8befaf7cb3960b655e0a9410da866d756f 5970Author: Lasse Collin <lasse.collin@tukaani.org> 5971Date: 2020-02-14 20:42:06 +0200 5972 5973 Translations: Add German translation of the man pages. 5974 5975 Thanks to Mario Blättermann. 5976 5977 po4a/de.po | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5978 po4a/po4a.conf | 2 +- 5979 2 files changed, 5533 insertions(+), 1 deletion(-) 5980 5981commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b 5982Author: Lasse Collin <lasse.collin@tukaani.org> 5983Date: 2020-02-07 15:32:21 +0200 5984 5985 Build: Add support for translated man pages using po4a. 5986 5987 The dependency on po4a is optional. It's never required to install 5988 the translated man pages when xz is built from a release tarball. 5989 If po4a is missing when building from xz.git, the translated man 5990 pages won't be generated but otherwise the build will work normally. 5991 5992 The translations are only updated automatically by autogen.sh and 5993 by "make mydist". This makes it easy to keep po4a as an optional 5994 dependency and ensures that I won't forget to put updated 5995 translations to a release tarball. 5996 5997 The translated man pages aren't installed if --disable-nls is used. 5998 5999 The installation of translated man pages abuses Automake internals 6000 by calling "install-man" with redefined dist_man_MANS and man_MANS. 6001 This makes the hairy script code slightly less hairy. If it breaks 6002 some day, this code needs to be fixed; don't blame Automake developers. 6003 6004 Also, this adds more quotes to the existing shell script code in 6005 the Makefile.am "-hook"s. 6006 6007 Makefile.am | 4 ++++ 6008 autogen.sh | 8 ++++--- 6009 po4a/.gitignore | 2 ++ 6010 po4a/po4a.conf | 14 +++++++++++ 6011 po4a/update-po | 45 ++++++++++++++++++++++++++++++++++ 6012 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------ 6013 src/xz/Makefile.am | 50 +++++++++++++++++++++++++++----------- 6014 src/xzdec/Makefile.am | 55 ++++++++++++++++++++++++++++++++---------- 6015 8 files changed, 197 insertions(+), 45 deletions(-) 6016 6017commit 426f9e5819ff7710a5ff573a96c02940be65d52f 6018Author: Lasse Collin <lasse.collin@tukaani.org> 6019Date: 2020-02-06 17:31:38 +0200 6020 6021 Update THANKS. 6022 6023 THANKS | 1 + 6024 1 file changed, 1 insertion(+) 6025 6026commit e3a4481d020e4de89efa037f335cf50f3ca55592 6027Author: Lasse Collin <lasse.collin@tukaani.org> 6028Date: 2020-02-05 22:35:06 +0200 6029 6030 Update tests/.gitignore. 6031 6032 .gitignore | 4 ++++ 6033 1 file changed, 4 insertions(+) 6034 6035commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef 6036Author: Lasse Collin <lasse.collin@tukaani.org> 6037Date: 2020-02-05 22:28:51 +0200 6038 6039 Update m4/.gitignore. 6040 6041 m4/.gitignore | 1 + 6042 1 file changed, 1 insertion(+) 6043 6044commit c91fbf223db46c3b3cb9df769863a1a60cd9c908 6045Author: Lasse Collin <lasse.collin@tukaani.org> 6046Date: 2020-02-05 20:47:38 +0200 6047 6048 Update THANKS. 6049 6050 THANKS | 1 + 6051 1 file changed, 1 insertion(+) 6052 6053commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f 6054Author: Lasse Collin <lasse.collin@tukaani.org> 6055Date: 2020-02-05 20:40:14 +0200 6056 6057 xz: Make it a fatal error if enabling the sandbox fails. 6058 6059 Perhaps it's too drastic but on the other hand it will let me 6060 learn about possible problems if people report the errors. 6061 This won't be backported to the v5.2 branch. 6062 6063 src/xz/file_io.c | 2 +- 6064 1 file changed, 1 insertion(+), 1 deletion(-) 6065 6066commit af0fb386ef55db66654ae39e2deec6e04190c4ff 6067Author: Lasse Collin <lasse.collin@tukaani.org> 6068Date: 2020-02-05 20:33:50 +0200 6069 6070 xz: Comment out annoying sandboxing messages. 6071 6072 src/xz/file_io.c | 10 +++++++--- 6073 1 file changed, 7 insertions(+), 3 deletions(-) 6074 6075commit 986d8c9b52b824474088e5bb3b6940651660f0e2 6076Author: Lasse Collin <lasse.collin@tukaani.org> 6077Date: 2020-02-05 19:33:37 +0200 6078 6079 Build: Workaround a POSIX shell detection problem on Solaris. 6080 6081 I don't know if the problem is in gnulib's gl_POSIX_SHELL macro 6082 or if xzgrep does something that isn't in POSIX. The workaround 6083 adds a special case for Solaris: if /usr/xpg4/bin/sh exists and 6084 gl_cv_posix_shell wasn't overriden on the configure command line, 6085 use that shell for xzgrep and other scripts. That shell is known 6086 to work and exists on most Solaris systems. 6087 6088 configure.ac | 10 ++++++++++ 6089 1 file changed, 10 insertions(+) 6090 6091commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad 6092Author: Lasse Collin <lasse.collin@tukaani.org> 6093Date: 2020-02-03 22:03:50 +0200 6094 6095 Build: Update m4/ax_pthread.m4 from Autoconf Archive. 6096 6097 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++----------------- 6098 1 file changed, 279 insertions(+), 119 deletions(-) 6099 6100commit 353970510895f6a80adfe60cf71b70a95adfa8bc 6101Author: Lasse Collin <lasse.collin@tukaani.org> 6102Date: 2020-02-01 19:56:18 +0200 6103 6104 xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz. 6105 6106 See the code comment for reasoning. It's far from perfect but 6107 hopefully good enough for certain cases while hopefully doing 6108 nothing bad in other situations. 6109 6110 At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference 6111 on how xz scales down the number of threads. 6112 6113 The limit has to be a few MiB below 4096 MiB because otherwise 6114 things like "xz --lzma2=dict=500MiB" won't scale down the dict 6115 size enough and xz cannot allocate enough memory. With 6116 "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had 6117 to be no more than 4085 MiB. Some safety margin is good though. 6118 6119 This is hack but it should be useful when running 32-bit xz on 6120 a 64-bit kernel that gives full 4 GiB address space to xz. 6121 Hopefully this is enough to solve this: 6122 6123 https://bugzilla.redhat.com/show_bug.cgi?id=1196786 6124 6125 FreeBSD has a patch that limits the result in tuklib_physmem() 6126 to SIZE_MAX on 32-bit systems. While I think it's not the way 6127 to do it, the results on --memlimit-compress have been good. This 6128 commit should achieve practically identical results for compression 6129 while leaving decompression and tuklib_physmem() and thus 6130 lzma_physmem() unaffected. 6131 6132 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++- 6133 src/xz/xz.1 | 21 ++++++++++++++++++++- 6134 2 files changed, 51 insertions(+), 2 deletions(-) 6135 6136commit ba76d67585f88677af9f48b48e7bdc3bb7687def 6137Author: Lasse Collin <lasse.collin@tukaani.org> 6138Date: 2020-01-26 20:53:25 +0200 6139 6140 xz: Set the --flush-timeout deadline when the first input byte arrives. 6141 6142 xz --flush-timeout=2000, old version: 6143 6144 1. xz is started. The next flush will happen after two seconds. 6145 2. No input for one second. 6146 3. A burst of a few kilobytes of input. 6147 4. No input for one second. 6148 5. Two seconds have passed and flushing starts. 6149 6150 The first second counted towards the flush-timeout even though 6151 there was no pending data. This can cause flushing to occur more 6152 often than needed. 6153 6154 xz --flush-timeout=2000, after this commit: 6155 6156 1. xz is started. 6157 2. No input for one second. 6158 3. A burst of a few kilobytes of input. The next flush will 6159 happen after two seconds counted from the time when the 6160 first bytes of the burst were read. 6161 4. No input for one second. 6162 5. No input for another second. 6163 6. Two seconds have passed and flushing starts. 6164 6165 src/xz/coder.c | 6 +----- 6166 src/xz/file_io.c | 6 +++++- 6167 src/xz/mytime.c | 1 - 6168 3 files changed, 6 insertions(+), 7 deletions(-) 6169 6170commit fd47fd62bbb1bfd13ab63869137971d8b390025f 6171Author: Lasse Collin <lasse.collin@tukaani.org> 6172Date: 2020-01-26 20:19:19 +0200 6173 6174 xz: Move flush_needed from mytime.h to file_pair struct in file_io.h. 6175 6176 src/xz/coder.c | 3 ++- 6177 src/xz/file_io.c | 3 ++- 6178 src/xz/file_io.h | 3 +++ 6179 src/xz/mytime.c | 3 --- 6180 src/xz/mytime.h | 4 ---- 6181 5 files changed, 7 insertions(+), 9 deletions(-) 6182 6183commit 815035681063d5774d3640fc20b8ede783dd574e 6184Author: Lasse Collin <lasse.collin@tukaani.org> 6185Date: 2020-01-26 14:49:22 +0200 6186 6187 xz: coder.c: Make writing output a separate function. 6188 6189 The same code sequence repeats so it's nicer as a separate function. 6190 Note that in one case there was no test for opt_mode != MODE_TEST, 6191 but that was only because that condition would always be true, so 6192 this commit doesn't change the behavior there. 6193 6194 src/xz/coder.c | 30 +++++++++++++++++------------- 6195 1 file changed, 17 insertions(+), 13 deletions(-) 6196 6197commit 5a49e081a098455bcdbd95cefb90e9b18780fe58 6198Author: Lasse Collin <lasse.collin@tukaani.org> 6199Date: 2020-01-26 14:13:42 +0200 6200 6201 xz: Fix semi-busy-waiting in xz --flush-timeout. 6202 6203 When input blocked, xz --flush-timeout=1 would wake up every 6204 millisecond and initiate flushing which would have nothing to 6205 flush and thus would just waste CPU time. The fix disables the 6206 timeout when no input has been seen since the previous flush. 6207 6208 src/xz/coder.c | 4 ++++ 6209 src/xz/file_io.c | 15 +++++++++++---- 6210 src/xz/file_io.h | 4 ++++ 6211 3 files changed, 19 insertions(+), 4 deletions(-) 6212 6213commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a 6214Author: Lasse Collin <lasse.collin@tukaani.org> 6215Date: 2020-01-26 13:47:31 +0200 6216 6217 xz: Refactor io_read() a bit. 6218 6219 src/xz/file_io.c | 17 ++++++++--------- 6220 1 file changed, 8 insertions(+), 9 deletions(-) 6221 6222commit 4ae9ab70cd3214395756435d13d8d000368ca2cb 6223Author: Lasse Collin <lasse.collin@tukaani.org> 6224Date: 2020-01-26 13:37:08 +0200 6225 6226 xz: Update a comment in file_io.h. 6227 6228 src/xz/file_io.h | 5 ++++- 6229 1 file changed, 4 insertions(+), 1 deletion(-) 6230 6231commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46 6232Author: Lasse Collin <lasse.collin@tukaani.org> 6233Date: 2020-01-26 13:27:51 +0200 6234 6235 xz: Move the setting of flush_needed in file_io.c to a nicer location. 6236 6237 src/xz/file_io.c | 6 ++---- 6238 1 file changed, 2 insertions(+), 4 deletions(-) 6239 6240commit cf2df0f05ac98c1158c6e48145900b773223605d 6241Author: Lasse Collin <lasse.collin@tukaani.org> 6242Date: 2020-01-19 21:54:33 +0200 6243 6244 Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile. 6245 6246 https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048 6247 6248 Thanks to Bhargava Shastry for sending the patch. 6249 6250 tests/ossfuzz/Makefile | 2 +- 6251 1 file changed, 1 insertion(+), 1 deletion(-) 6252 6253commit 7136f1735c60ac6967c4b8e277fcde53d485234f 6254Author: Lasse Collin <lasse.collin@tukaani.org> 6255Date: 2019-12-31 00:41:28 +0200 6256 6257 Rename unaligned_read32ne to read32ne, and similarly for the others. 6258 6259 src/common/tuklib_integer.h | 64 +++++++++++++++---------------- 6260 src/liblzma/common/alone_encoder.c | 2 +- 6261 src/liblzma/common/block_header_decoder.c | 2 +- 6262 src/liblzma/common/block_header_encoder.c | 2 +- 6263 src/liblzma/common/memcmplen.h | 9 ++--- 6264 src/liblzma/common/stream_flags_decoder.c | 6 +-- 6265 src/liblzma/common/stream_flags_encoder.c | 8 ++-- 6266 src/liblzma/lz/lz_encoder_hash.h | 2 +- 6267 src/liblzma/lzma/lzma_decoder.c | 2 +- 6268 src/liblzma/lzma/lzma_encoder.c | 2 +- 6269 src/liblzma/lzma/lzma_encoder_private.h | 3 +- 6270 src/liblzma/simple/simple_decoder.c | 2 +- 6271 src/liblzma/simple/simple_encoder.c | 2 +- 6272 tests/test_block_header.c | 4 +- 6273 tests/test_stream_flags.c | 6 +-- 6274 15 files changed, 54 insertions(+), 62 deletions(-) 6275 6276commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241 6277Author: Lasse Collin <lasse.collin@tukaani.org> 6278Date: 2019-12-31 00:29:48 +0200 6279 6280 Rename read32ne to aligned_read32ne, and similarly for the others. 6281 6282 Using the aligned methods requires more care to ensure that 6283 the address really is aligned, so it's nicer if the aligned 6284 methods are prefixed. The next commit will remove the unaligned_ 6285 prefix from the unaligned methods which in liblzma are used in 6286 more places than the aligned ones. 6287 6288 src/common/tuklib_integer.h | 56 +++++++++++++++++++++--------------------- 6289 src/liblzma/check/crc32_fast.c | 4 +-- 6290 src/liblzma/check/crc64_fast.c | 4 +-- 6291 3 files changed, 32 insertions(+), 32 deletions(-) 6292 6293commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516 6294Author: Lasse Collin <lasse.collin@tukaani.org> 6295Date: 2019-12-31 00:18:24 +0200 6296 6297 Revise tuklib_integer.h and .m4. 6298 6299 Add a configure option --enable-unsafe-type-punning to get the 6300 old non-conforming memory access methods. It can be useful with 6301 old compilers or in some other less typical situations but 6302 shouldn't normally be used. 6303 6304 Omit the packed struct trick for unaligned access. While it's 6305 best in some cases, this is simpler. If the memcpy trick doesn't 6306 work, one can request unsafe type punning from configure. 6307 6308 Because CRC32/CRC64 code needs fast aligned reads, if no very 6309 safe way to do it is found, type punning is used as a fallback. 6310 This sucks but since it currently works in practice, it seems to 6311 be the least bad option. It's never needed with GCC >= 4.7 or 6312 Clang >= 3.6 since these support __builtin_assume_aligned and 6313 thus fast aligned access can be done with the memcpy trick. 6314 6315 Other things: 6316 - Support GCC/Clang __builtin_bswapXX 6317 - Cleaner bswap fallback macros 6318 - Minor cleanups 6319 6320 m4/tuklib_integer.m4 | 46 ++++- 6321 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++-------------------- 6322 2 files changed, 316 insertions(+), 218 deletions(-) 6323 6324commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088 6325Author: Lasse Collin <lasse.collin@tukaani.org> 6326Date: 2019-12-29 22:51:58 +0200 6327 6328 Tests: Hopefully fix test_check.c to work on EBCDIC systems. 6329 6330 Thanks to Daniel Richard G. 6331 6332 tests/test_check.c | 9 +++++++-- 6333 1 file changed, 7 insertions(+), 2 deletions(-) 6334 6335commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c 6336Author: Lasse Collin <lasse.collin@tukaani.org> 6337Date: 2019-09-24 23:02:40 +0300 6338 6339 Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris. 6340 6341 This adds a configure option --enable-path-for-scripts=PREFIX 6342 which defaults to empty except on Solaris it is /usr/xpg4/bin 6343 to make POSIX grep and others available. The Solaris case had 6344 been documented in INSTALL with a manual fix but it's better 6345 to do this automatically since it is needed on most Solaris 6346 systems anyway. 6347 6348 Thanks to Daniel Richard G. 6349 6350 INSTALL | 43 +++++++++++++++++++++++++++++++++++-------- 6351 configure.ac | 26 ++++++++++++++++++++++++++ 6352 src/scripts/xzdiff.in | 1 + 6353 src/scripts/xzgrep.in | 1 + 6354 src/scripts/xzless.in | 1 + 6355 src/scripts/xzmore.in | 1 + 6356 6 files changed, 65 insertions(+), 8 deletions(-) 6357 6358commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f 6359Author: Lasse Collin <lasse.collin@tukaani.org> 6360Date: 2019-07-12 18:57:43 +0300 6361 6362 Fix comment typos in tuklib_mbstr* files. 6363 6364 src/common/tuklib_mbstr.h | 2 +- 6365 src/common/tuklib_mbstr_fw.c | 2 +- 6366 src/common/tuklib_mbstr_width.c | 2 +- 6367 3 files changed, 3 insertions(+), 3 deletions(-) 6368 6369commit ac0b4212656a48ef0c187c0c941d40ac9489ae36 6370Author: Lasse Collin <lasse.collin@tukaani.org> 6371Date: 2019-07-12 18:30:46 +0300 6372 6373 Add missing include to tuklib_mbstr_width.c. 6374 6375 It didn't matter in XZ Utils because sysdefs.h 6376 includes string.h anyway. 6377 6378 src/common/tuklib_mbstr_width.c | 1 + 6379 1 file changed, 1 insertion(+) 6380 6381commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240 6382Author: Lasse Collin <lasse.collin@tukaani.org> 6383Date: 2019-07-12 18:10:57 +0300 6384 6385 Update tuklib base headers to include stdbool.h. 6386 6387 src/common/tuklib_common.h | 2 +- 6388 src/common/tuklib_config.h | 1 + 6389 2 files changed, 2 insertions(+), 1 deletion(-) 6390 6391commit de1f47b2b40e960b7bc3acba754f66dd19705921 6392Author: Lasse Collin <lasse.collin@tukaani.org> 6393Date: 2019-06-28 00:54:31 +0300 6394 6395 xz: Automatically align the strings in --info-memory. 6396 6397 This makes it easier to translate the strings. 6398 6399 Also, the string for amount of RAM was shortened. 6400 6401 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++----------- 6402 1 file changed, 34 insertions(+), 11 deletions(-) 6403 6404commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5 6405Author: Lasse Collin <lasse.collin@tukaani.org> 6406Date: 2019-06-25 23:15:21 +0300 6407 6408 liblzma: Fix a buggy comment. 6409 6410 src/liblzma/lz/lz_encoder_mf.c | 2 +- 6411 1 file changed, 1 insertion(+), 1 deletion(-) 6412 6413commit fc77929e92e869f6869bf88931066103fd75f376 6414Author: Lasse Collin <lasse.collin@tukaani.org> 6415Date: 2019-06-25 00:16:06 +0300 6416 6417 configure.ac: Fix a typo in a comment. 6418 6419 configure.ac | 2 +- 6420 1 file changed, 1 insertion(+), 1 deletion(-) 6421 6422commit e873902641794210ad7db59743f98e3e1cd6139f 6423Author: Lasse Collin <lasse.collin@tukaani.org> 6424Date: 2019-06-25 00:08:13 +0300 6425 6426 Tests: Silence warnings from clang -Wassign-enum. 6427 6428 Also changed 999 to 99 so it fits even if lzma_check happened 6429 to be 8 bits wide. 6430 6431 tests/test_block_header.c | 3 ++- 6432 tests/test_stream_flags.c | 2 +- 6433 2 files changed, 3 insertions(+), 2 deletions(-) 6434 6435commit d499e467d99efeaae688564eedc4548837c1416a 6436Author: Lasse Collin <lasse.collin@tukaani.org> 6437Date: 2019-06-24 23:52:17 +0300 6438 6439 liblzma: Add a comment. 6440 6441 src/liblzma/common/stream_encoder_mt.c | 2 +- 6442 1 file changed, 1 insertion(+), 1 deletion(-) 6443 6444commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b 6445Author: Lasse Collin <lasse.collin@tukaani.org> 6446Date: 2019-06-24 23:45:21 +0300 6447 6448 liblzma: Silence clang -Wmissing-variable-declarations. 6449 6450 src/liblzma/check/crc32_table.c | 3 +++ 6451 src/liblzma/check/crc64_table.c | 3 +++ 6452 2 files changed, 6 insertions(+) 6453 6454commit 1b4675cebf7471f7cc9b7072c950e3de97147063 6455Author: Lasse Collin <lasse.collin@tukaani.org> 6456Date: 2019-06-24 23:25:41 +0300 6457 6458 Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT. 6459 6460 LZMA_TIMED_OUT is *internally* used as a value for lzma_ret 6461 enumeration. Previously it was #defined to 32 and cast to lzma_ret. 6462 That way it wasn't visible in the public API, but this was hackish. 6463 6464 Now the public API has eight LZMA_RET_INTERNALx members and 6465 LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way 6466 the code is cleaner overall although the public API has a few 6467 extra mysterious enum members. 6468 6469 src/liblzma/api/lzma/base.h | 15 ++++++++++++++- 6470 src/liblzma/common/common.c | 4 +--- 6471 src/liblzma/common/common.h | 5 ++--- 6472 src/xz/message.c | 8 ++++++++ 6473 4 files changed, 25 insertions(+), 7 deletions(-) 6474 6475commit 159c43875eb25deea626ed651274464bae3e32ef 6476Author: Lasse Collin <lasse.collin@tukaani.org> 6477Date: 2019-06-24 22:57:43 +0300 6478 6479 xz: Silence a warning from clang -Wsign-conversion in main.c. 6480 6481 src/xz/main.c | 2 +- 6482 1 file changed, 1 insertion(+), 1 deletion(-) 6483 6484commit 466cfcd3e52f6750ce28a635997f3dd84fb18515 6485Author: Lasse Collin <lasse.collin@tukaani.org> 6486Date: 2019-06-24 22:52:20 +0300 6487 6488 xz: Make "headings" static in list.c. 6489 6490 Caught by clang -Wmissing-variable-declarations. 6491 6492 src/xz/list.c | 2 +- 6493 1 file changed, 1 insertion(+), 1 deletion(-) 6494 6495commit 608517b9b76c41fac6613dbda1193d6f41338e19 6496Author: Lasse Collin <lasse.collin@tukaani.org> 6497Date: 2019-06-24 22:47:39 +0300 6498 6499 liblzma: Remove incorrect uses of lzma_attribute((__unused__)). 6500 6501 Caught by clang -Wused-but-marked-unused. 6502 6503 src/liblzma/common/alone_decoder.c | 3 +-- 6504 src/liblzma/common/alone_encoder.c | 3 +-- 6505 src/liblzma/lz/lz_decoder.c | 3 +-- 6506 3 files changed, 3 insertions(+), 6 deletions(-) 6507 6508commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255 6509Author: Lasse Collin <lasse.collin@tukaani.org> 6510Date: 2019-06-24 20:53:55 +0300 6511 6512 Tests: Silence a warning from -Wsign-conversion. 6513 6514 tests/create_compress_files.c | 8 ++++---- 6515 1 file changed, 4 insertions(+), 4 deletions(-) 6516 6517commit 2402f7873dcae719d0ebddd23bb579074519ac52 6518Author: Lasse Collin <lasse.collin@tukaani.org> 6519Date: 2019-06-24 20:45:49 +0300 6520 6521 xz: Fix an integer overflow with 32-bit off_t. 6522 6523 Or any off_t which isn't very big (like signed 64 bit integer 6524 that most system have). A small off_t could overflow if the 6525 file being decompressed had long enough run of zero bytes, 6526 which would result in corrupt output. 6527 6528 src/xz/file_io.c | 11 +++++++++-- 6529 1 file changed, 9 insertions(+), 2 deletions(-) 6530 6531commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9 6532Author: Lasse Collin <lasse.collin@tukaani.org> 6533Date: 2019-06-24 01:24:17 +0300 6534 6535 xz: Cleanup io_seek_src() a bit. 6536 6537 lseek() returns -1 on error and checking for -1 is nicer. 6538 6539 src/xz/file_io.c | 4 +--- 6540 1 file changed, 1 insertion(+), 3 deletions(-) 6541 6542commit dfda7cf6afa486e10df035327d68753896dfb48a 6543Author: Lasse Collin <lasse.collin@tukaani.org> 6544Date: 2019-06-24 00:57:23 +0300 6545 6546 Tests: Remove a duplicate branch from tests/tests.h. 6547 6548 The duplication was introduced about eleven years ago and 6549 should have been cleaned up back then already. 6550 6551 This was caught by -Wduplicated-branches. 6552 6553 tests/tests.h | 9 ++------- 6554 1 file changed, 2 insertions(+), 7 deletions(-) 6555 6556commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866 6557Author: Lasse Collin <lasse.collin@tukaani.org> 6558Date: 2019-06-24 00:40:45 +0300 6559 6560 xz: Change io_seek_src and io_pread arguments from off_t to uint64_t. 6561 6562 This helps fixing warnings from -Wsign-conversion and makes the 6563 code look better too. 6564 6565 src/xz/file_io.c | 16 ++++++++++++---- 6566 src/xz/file_io.h | 4 ++-- 6567 src/xz/list.c | 9 ++++----- 6568 3 files changed, 18 insertions(+), 11 deletions(-) 6569 6570commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990 6571Author: Lasse Collin <lasse.collin@tukaani.org> 6572Date: 2019-06-24 00:12:38 +0300 6573 6574 xz: list.c: Fix some warnings from -Wsign-conversion. 6575 6576 src/xz/list.c | 7 ++++--- 6577 1 file changed, 4 insertions(+), 3 deletions(-) 6578 6579commit d0a78751eb54fb1572002746c533936a118e4e42 6580Author: Lasse Collin <lasse.collin@tukaani.org> 6581Date: 2019-06-23 23:22:45 +0300 6582 6583 tuklib_mbstr_width: Fix a warning from -Wsign-conversion. 6584 6585 src/common/tuklib_mbstr_width.c | 2 +- 6586 1 file changed, 1 insertion(+), 1 deletion(-) 6587 6588commit 7883d73530b4b2a701ddd7d50c35676cbc158039 6589Author: Lasse Collin <lasse.collin@tukaani.org> 6590Date: 2019-06-23 23:19:34 +0300 6591 6592 xz: Fix some of the warnings from -Wsign-conversion. 6593 6594 src/xz/args.c | 4 ++-- 6595 src/xz/coder.c | 4 ++-- 6596 src/xz/file_io.c | 5 +++-- 6597 src/xz/message.c | 4 ++-- 6598 src/xz/mytime.c | 4 ++-- 6599 src/xz/options.c | 2 +- 6600 src/xz/util.c | 4 ++-- 6601 7 files changed, 14 insertions(+), 13 deletions(-) 6602 6603commit c2b994fe3d35e9e575c28869a2f7f534f2495d05 6604Author: Lasse Collin <lasse.collin@tukaani.org> 6605Date: 2019-06-23 22:27:45 +0300 6606 6607 tuklib_cpucores: Silence warnings from -Wsign-conversion. 6608 6609 src/common/tuklib_cpucores.c | 10 +++++----- 6610 1 file changed, 5 insertions(+), 5 deletions(-) 6611 6612commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff 6613Author: Lasse Collin <lasse.collin@tukaani.org> 6614Date: 2019-06-23 21:40:47 +0300 6615 6616 xzdec: Fix warnings from -Wsign-conversion. 6617 6618 src/xzdec/xzdec.c | 2 +- 6619 1 file changed, 1 insertion(+), 1 deletion(-) 6620 6621commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf 6622Author: Lasse Collin <lasse.collin@tukaani.org> 6623Date: 2019-06-23 21:38:56 +0300 6624 6625 liblzma: Fix warnings from -Wsign-conversion. 6626 6627 Also, more parentheses were added to the literal_subcoder 6628 macro in lzma_comon.h (better style but no functional change 6629 in the current usage). 6630 6631 src/liblzma/common/block_header_decoder.c | 2 +- 6632 src/liblzma/delta/delta_decoder.c | 2 +- 6633 src/liblzma/lzma/fastpos.h | 2 +- 6634 src/liblzma/lzma/lzma2_decoder.c | 8 ++++---- 6635 src/liblzma/lzma/lzma_common.h | 3 ++- 6636 src/liblzma/lzma/lzma_decoder.c | 16 ++++++++-------- 6637 src/liblzma/simple/arm.c | 6 +++--- 6638 src/liblzma/simple/armthumb.c | 8 ++++---- 6639 src/liblzma/simple/ia64.c | 2 +- 6640 src/liblzma/simple/powerpc.c | 9 +++++---- 6641 src/liblzma/simple/x86.c | 2 +- 6642 11 files changed, 31 insertions(+), 29 deletions(-) 6643 6644commit 41838dcc26375f6aa393a63e4d81e2f4d223de07 6645Author: Lasse Collin <lasse.collin@tukaani.org> 6646Date: 2019-06-23 19:33:55 +0300 6647 6648 tuklib_integer: Silence warnings from -Wsign-conversion. 6649 6650 src/common/tuklib_integer.h | 6 +++--- 6651 1 file changed, 3 insertions(+), 3 deletions(-) 6652 6653commit 3ce05d235f736d392347a05086b8033416874b87 6654Author: Lasse Collin <lasse.collin@tukaani.org> 6655Date: 2019-06-20 19:40:30 +0300 6656 6657 tuklib_integer: Fix usage of conv macros. 6658 6659 Use a temporary variable instead of e.g. 6660 conv32le(unaligned_read32ne(buf)) because the macro can 6661 evaluate its argument multiple times. 6662 6663 src/common/tuklib_integer.h | 12 ++++++++---- 6664 1 file changed, 8 insertions(+), 4 deletions(-) 6665 6666commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f 6667Author: Lasse Collin <lasse.collin@tukaani.org> 6668Date: 2019-06-03 20:44:19 +0300 6669 6670 Update THANKS. 6671 6672 THANKS | 1 + 6673 1 file changed, 1 insertion(+) 6674 6675commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53 6676Author: Lasse Collin <lasse.collin@tukaani.org> 6677Date: 2019-06-03 20:41:54 +0300 6678 6679 liblzma: Fix comments. 6680 6681 Thanks to Bruce Stark. 6682 6683 src/liblzma/common/alone_encoder.c | 4 ++-- 6684 src/liblzma/common/block_util.c | 2 +- 6685 src/liblzma/common/common.c | 2 +- 6686 src/liblzma/common/filter_common.h | 2 +- 6687 src/liblzma/common/filter_decoder.h | 2 +- 6688 src/liblzma/common/filter_flags_encoder.c | 2 +- 6689 6 files changed, 7 insertions(+), 7 deletions(-) 6690 6691commit c460f6defebc5a81bbca90adc2476154ca244f69 6692Author: Lasse Collin <lasse.collin@tukaani.org> 6693Date: 2019-06-02 00:50:59 +0300 6694 6695 liblzma: Fix one more unaligned read to use unaligned_read16ne(). 6696 6697 src/liblzma/lz/lz_encoder_hash.h | 2 +- 6698 1 file changed, 1 insertion(+), 1 deletion(-) 6699 6700commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b 6701Author: Lasse Collin <lasse.collin@tukaani.org> 6702Date: 2019-06-01 21:41:55 +0300 6703 6704 Update THANKS. 6705 6706 THANKS | 1 + 6707 1 file changed, 1 insertion(+) 6708 6709commit 386394fc9fcde2615391f804eaa466749f96f4ef 6710Author: Lasse Collin <lasse.collin@tukaani.org> 6711Date: 2019-06-01 21:36:13 +0300 6712 6713 liblzma: memcmplen: Use ctz32() from tuklib_integer.h. 6714 6715 The same compiler-specific #ifdefs are already in tuklib_integer.h 6716 6717 src/liblzma/common/memcmplen.h | 10 +--------- 6718 1 file changed, 1 insertion(+), 9 deletions(-) 6719 6720commit 264ab971ce2994baac41b1579c9c35aba7743fc8 6721Author: Lasse Collin <lasse.collin@tukaani.org> 6722Date: 2019-06-01 21:30:03 +0300 6723 6724 tuklib_integer: Cleanup MSVC-specific code. 6725 6726 src/common/tuklib_integer.h | 20 +++++++++----------- 6727 1 file changed, 9 insertions(+), 11 deletions(-) 6728 6729commit 33773c6f2a8711d4aa6656795db52c59a28580ec 6730Author: Lasse Collin <lasse.collin@tukaani.org> 6731Date: 2019-06-01 19:01:21 +0300 6732 6733 liblzma: Use unaligned_readXXne functions instead of type punning. 6734 6735 Now gcc -fsanitize=undefined should be clean. 6736 6737 Thanks to Jeffrey Walton. 6738 6739 src/liblzma/common/memcmplen.h | 12 ++++++------ 6740 src/liblzma/lzma/lzma_encoder_private.h | 2 +- 6741 2 files changed, 7 insertions(+), 7 deletions(-) 6742 6743commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba 6744Author: Lasse Collin <lasse.collin@tukaani.org> 6745Date: 2019-06-01 18:46:54 +0300 6746 6747 tuklib_integer: Autodetect support for unaligned access on ARM. 6748 6749 The result is used as the default for --enable-unaligned-access. 6750 The test should work with GCC and Clang. 6751 6752 m4/tuklib_integer.m4 | 11 +++++++++++ 6753 1 file changed, 11 insertions(+) 6754 6755commit 3bc112c2d38d5f348bce7bc2422286b1692c7490 6756Author: Lasse Collin <lasse.collin@tukaani.org> 6757Date: 2019-06-01 18:41:16 +0300 6758 6759 tuklib_integer: Improve unaligned memory access. 6760 6761 Now memcpy() or GNU C packed structs for unaligned access instead 6762 of type punning. See the comment in this commit for details. 6763 6764 Avoiding type punning with unaligned access is needed to 6765 silence gcc -fsanitize=undefined. 6766 6767 New functions: unaliged_readXXne and unaligned_writeXXne where 6768 XX is 16, 32, or 64. 6769 6770 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++--- 6771 1 file changed, 168 insertions(+), 12 deletions(-) 6772 6773commit 2a22de439ec63da1927b640eda309296a1e8dce5 6774Author: Lasse Collin <lasse.collin@tukaani.org> 6775Date: 2019-05-13 20:05:17 +0300 6776 6777 liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior. 6778 6779 I should have always known this but I didn't. Here is an example 6780 as a reminder to myself: 6781 6782 int mycopy(void *dest, void *src, size_t n) 6783 { 6784 memcpy(dest, src, n); 6785 return dest == NULL; 6786 } 6787 6788 In the example, a compiler may assume that dest != NULL because 6789 passing NULL to memcpy() would be undefined behavior. Testing 6790 with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1. 6791 With -O2 the return value is 0 because the compiler infers that 6792 dest cannot be NULL because it was already used with memcpy() 6793 and thus the test for NULL gets optimized out. 6794 6795 In liblzma, if a null-pointer was passed to memcpy(), there were 6796 no checks for NULL *after* the memcpy() call, so I cautiously 6797 suspect that it shouldn't have caused bad behavior in practice, 6798 but it's hard to be sure, and the problematic cases had to be 6799 fixed anyway. 6800 6801 Thanks to Jeffrey Walton. 6802 6803 src/liblzma/common/common.c | 6 +++++- 6804 src/liblzma/lz/lz_decoder.c | 12 +++++++++--- 6805 src/liblzma/simple/simple_coder.c | 10 +++++++++- 6806 3 files changed, 23 insertions(+), 5 deletions(-) 6807 6808commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a 6809Author: Lasse Collin <lasse.collin@tukaani.org> 6810Date: 2019-05-11 20:56:08 +0300 6811 6812 Update THANKS. 6813 6814 THANKS | 1 + 6815 1 file changed, 1 insertion(+) 6816 6817commit 4adb8288ab61d5f14e212007b8742df0710baf73 6818Author: Lasse Collin <lasse.collin@tukaani.org> 6819Date: 2019-05-11 20:54:12 +0300 6820 6821 xz: Update xz man page date. 6822 6823 src/xz/xz.1 | 2 +- 6824 1 file changed, 1 insertion(+), 1 deletion(-) 6825 6826commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd 6827Author: Antoine Cœur <antoine.coeur@ef.com> 6828Date: 2019-05-08 13:30:57 +0800 6829 6830 spelling 6831 6832 Doxyfile.in | 2 +- 6833 NEWS | 2 +- 6834 doc/examples/11_file_info.c | 2 +- 6835 src/liblzma/api/lzma/block.h | 2 +- 6836 src/liblzma/api/lzma/hardware.h | 2 +- 6837 src/liblzma/api/lzma/lzma12.h | 2 +- 6838 src/liblzma/api/lzma/vli.h | 2 +- 6839 src/liblzma/common/file_info.c | 4 ++-- 6840 src/liblzma/common/hardware_physmem.c | 2 +- 6841 src/liblzma/common/index.c | 4 ++-- 6842 src/liblzma/common/stream_encoder_mt.c | 2 +- 6843 src/liblzma/common/vli_decoder.c | 2 +- 6844 src/liblzma/lz/lz_decoder.c | 2 +- 6845 src/scripts/xzgrep.in | 2 +- 6846 src/xz/args.c | 2 +- 6847 src/xz/coder.c | 4 ++-- 6848 src/xz/list.c | 4 ++-- 6849 src/xz/main.c | 2 +- 6850 src/xz/mytime.h | 2 +- 6851 src/xz/private.h | 2 +- 6852 src/xz/xz.1 | 2 +- 6853 windows/build.bash | 2 +- 6854 22 files changed, 26 insertions(+), 26 deletions(-) 6855 6856commit 4ed339606156bd313ed99237485cb8ed0362d64f 6857Author: Lasse Collin <lasse.collin@tukaani.org> 6858Date: 2019-05-01 18:43:10 +0300 6859 6860 xz: In xz -lvv look at the widths of the check names too. 6861 6862 Now the widths of the check names is used to adjust the width 6863 of the Check column. This way there no longer is a need to restrict 6864 the widths of the check names to be at most ten terminal-columns. 6865 6866 src/xz/list.c | 32 ++++++++++++++++++++++++++------ 6867 1 file changed, 26 insertions(+), 6 deletions(-) 6868 6869commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65 6870Author: Lasse Collin <lasse.collin@tukaani.org> 6871Date: 2019-05-01 18:33:25 +0300 6872 6873 xz: Fix xz -lvv column alignment to look at the translated strings. 6874 6875 src/xz/list.c | 4 ++-- 6876 1 file changed, 2 insertions(+), 2 deletions(-) 6877 6878commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a 6879Author: Lasse Collin <lasse.collin@tukaani.org> 6880Date: 2019-05-01 16:52:36 +0300 6881 6882 Update THANKS. 6883 6884 THANKS | 1 + 6885 1 file changed, 1 insertion(+) 6886 6887commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c 6888Author: Lasse Collin <lasse.collin@tukaani.org> 6889Date: 2019-05-01 16:43:16 +0300 6890 6891 Windows: Update VS version in windows/vs2019/config.h. 6892 6893 windows/vs2019/config.h | 2 +- 6894 1 file changed, 1 insertion(+), 1 deletion(-) 6895 6896commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51 6897Author: Julien Marrec <julien.marrec@gmail.com> 6898Date: 2019-04-25 17:44:06 +0200 6899 6900 Windows: Upgrade solution itself 6901 6902 windows/vs2019/xz_win.sln | 7 +++++-- 6903 1 file changed, 5 insertions(+), 2 deletions(-) 6904 6905commit ac31413916fa9b11bab17f0f0aa63e2869360f6f 6906Author: Julien Marrec <julien.marrec@gmail.com> 6907Date: 2019-04-25 17:40:24 +0200 6908 6909 Windows: Upgrade solution with VS2019 6910 6911 windows/vs2019/liblzma.vcxproj | 15 ++++++++------- 6912 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++------- 6913 2 files changed, 16 insertions(+), 14 deletions(-) 6914 6915commit be25a0c37ba92a20c390b4d17fe502457fe96b71 6916Author: Julien Marrec <julien.marrec@gmail.com> 6917Date: 2019-04-25 17:39:32 +0200 6918 6919 Windows: Duplicate windows/vs2017 before upgrading 6920 6921 windows/vs2019/config.h | 148 ++++++++++++++ 6922 windows/vs2019/liblzma.vcxproj | 356 ++++++++++++++++++++++++++++++++++ 6923 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++ 6924 windows/vs2019/xz_win.sln | 48 +++++ 6925 4 files changed, 937 insertions(+) 6926 6927commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad 6928Author: Lasse Collin <lasse.collin@tukaani.org> 6929Date: 2019-03-04 22:49:04 +0200 6930 6931 README: Update translation instructions. 6932 6933 XZ Utils is now part of the Translation Project 6934 <https://translationproject.org/>. 6935 6936 README | 32 +++++++++++++------------------- 6937 1 file changed, 13 insertions(+), 19 deletions(-) 6938 6939commit a750c35a7d45a16c11c1d40fecee8443c32a9996 6940Author: Lasse Collin <lasse.collin@tukaani.org> 6941Date: 2019-03-04 21:20:39 +0200 6942 6943 xz: Automatically align column headings in xz -lvv. 6944 6945 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------ 6946 1 file changed, 212 insertions(+), 51 deletions(-) 6947 6948commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77 6949Author: Lasse Collin <lasse.collin@tukaani.org> 6950Date: 2019-03-04 01:07:59 +0200 6951 6952 xz: Automatically align strings ending in a colon in --list output. 6953 6954 This should avoid alignment errors in translations with these 6955 strings. 6956 6957 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 6958 1 file changed, 102 insertions(+), 12 deletions(-) 6959 6960commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484 6961Author: Lasse Collin <lasse.collin@tukaani.org> 6962Date: 2019-01-13 17:29:23 +0200 6963 6964 Windows/VS2017: Omit WindowsTargetPlatformVersion from project files. 6965 6966 I understood that if a WTPV is specified, it's often wrong 6967 because different VS installations have different SDK version 6968 installed. Omitting the WTPV tag makes VS2017 default to 6969 Windows SDK 8.1 which often is also missing, so in any case 6970 people may need to specify the WTPV before building. But some 6971 day in the future a missing WTPV tag will start to default to 6972 the latest installed SDK which sounds reasonable: 6973 6974 https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html 6975 6976 Thanks to "dom". 6977 6978 windows/INSTALL-MSVC.txt | 4 ++++ 6979 windows/vs2017/liblzma.vcxproj | 1 - 6980 windows/vs2017/liblzma_dll.vcxproj | 1 - 6981 3 files changed, 4 insertions(+), 2 deletions(-) 6982 6983commit 4d86076332aece6314063d3712a5f364172bbb0f 6984Author: Lasse Collin <lasse.collin@tukaani.org> 6985Date: 2018-12-20 20:42:29 +0200 6986 6987 Update THANKS. 6988 6989 THANKS | 1 + 6990 1 file changed, 1 insertion(+) 6991 6992commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c 6993Author: Lasse Collin <lasse.collin@tukaani.org> 6994Date: 2018-12-14 20:34:30 +0200 6995 6996 xz: Fix a crash in progress indicator when in passthru mode. 6997 6998 "xz -dcfv not_an_xz_file" crashed (all four options are 6999 required to trigger it). It caused xz to call 7000 lzma_get_progress(&strm, ...) when no coder was initialized 7001 in strm. In this situation strm.internal is NULL which leads 7002 to a crash in lzma_get_progress(). 7003 7004 The bug was introduced when xz started using lzma_get_progress() 7005 to get progress info for multi-threaded compression, so the 7006 bug is present in versions 5.1.3alpha and higher. 7007 7008 Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for 7009 the bug report. 7010 7011 src/xz/coder.c | 11 +++++++---- 7012 src/xz/message.c | 18 ++++++++++++++++-- 7013 src/xz/message.h | 3 ++- 7014 3 files changed, 25 insertions(+), 7 deletions(-) 7015 7016commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56 7017Author: Lasse Collin <lasse.collin@tukaani.org> 7018Date: 2018-11-22 17:20:31 +0200 7019 7020 xz: Update man page timestamp. 7021 7022 src/xz/xz.1 | 2 +- 7023 1 file changed, 1 insertion(+), 1 deletion(-) 7024 7025commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad 7026Author: Pavel Raiskup <praiskup@redhat.com> 7027Date: 2018-11-22 15:14:34 +0100 7028 7029 'have have' typos 7030 7031 src/xz/signals.c | 2 +- 7032 src/xz/xz.1 | 2 +- 7033 2 files changed, 2 insertions(+), 2 deletions(-) 7034 7035commit 9eca51ef805ed8002a851df1b4995d71826c8b6e 7036Author: Lasse Collin <lasse.collin@tukaani.org> 7037Date: 2018-11-02 20:40:48 +0200 7038 7039 Update THANKS. 7040 7041 THANKS | 1 + 7042 1 file changed, 1 insertion(+) 7043 7044commit 106d1a663d4ba42b63231caa289f531548df81c1 7045Author: Lasse Collin <lasse.collin@tukaani.org> 7046Date: 2018-11-02 20:18:45 +0200 7047 7048 Tests: Add a fuzz test program and a config file for OSS-Fuzz. 7049 7050 Thanks to Bhargava Shastry and Github user pdknsk. 7051 7052 tests/Makefile.am | 1 + 7053 tests/ossfuzz/Makefile | 7 ++++ 7054 tests/ossfuzz/config/fuzz.dict | 2 + 7055 tests/ossfuzz/config/fuzz.options | 2 + 7056 tests/ossfuzz/fuzz.c | 82 +++++++++++++++++++++++++++++++++++++++ 7057 5 files changed, 94 insertions(+) 7058 7059commit a18ae42a79a19b1394b41eb3e238139fd28012ec 7060Author: Lasse Collin <lasse.collin@tukaani.org> 7061Date: 2018-10-26 22:49:10 +0300 7062 7063 liblzma: Don't verify header CRC32s if building for fuzz testing. 7064 7065 FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma 7066 is being built for fuzz testing. 7067 7068 Most fuzzed inputs would normally get rejected because of incorrect 7069 CRC32 and the actual header decoding code wouldn't get fuzzed. 7070 Disabling CRC32 checks avoids this problem. The fuzzer program 7071 must still use LZMA_IGNORE_CHECK flag to disable verification of 7072 integrity checks of uncompressed data. 7073 7074 src/liblzma/common/block_header_decoder.c | 5 ++++- 7075 src/liblzma/common/index_decoder.c | 5 ++++- 7076 src/liblzma/common/index_hash.c | 5 ++++- 7077 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++-- 7078 4 files changed, 20 insertions(+), 5 deletions(-) 7079 7080commit f76f7516d6a1c832f61810c82e92d151cc80966c 7081Author: Lasse Collin <lasse.collin@tukaani.org> 7082Date: 2018-07-27 18:10:44 +0300 7083 7084 xzless: Rename unused variables to silence static analysers. 7085 7086 In this particular case I don't see this affecting readability 7087 of the code. 7088 7089 Thanks to Pavel Raiskup. 7090 7091 src/scripts/xzless.in | 2 +- 7092 1 file changed, 1 insertion(+), 1 deletion(-) 7093 7094commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff 7095Author: Lasse Collin <lasse.collin@tukaani.org> 7096Date: 2018-07-27 16:02:58 +0300 7097 7098 liblzma: Remove an always-true condition from lzma_index_cat(). 7099 7100 This should help static analysis tools to see that newg 7101 isn't leaked. 7102 7103 Thanks to Pavel Raiskup. 7104 7105 src/liblzma/common/index.c | 4 ++-- 7106 1 file changed, 2 insertions(+), 2 deletions(-) 7107 7108commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f 7109Author: Lasse Collin <lasse.collin@tukaani.org> 7110Date: 2018-05-19 21:23:25 +0300 7111 7112 liblzma: Improve lzma_properties_decode() API documentation. 7113 7114 src/liblzma/api/lzma/filter.h | 7 ++++--- 7115 1 file changed, 4 insertions(+), 3 deletions(-) 7116 7117commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c 7118Author: Lasse Collin <lasse.collin@tukaani.org> 7119Date: 2018-04-29 18:58:19 +0300 7120 7121 Bump the version number to 5.3.1alpha. 7122 7123 src/liblzma/api/lzma/version.h | 2 +- 7124 src/liblzma/liblzma.map | 2 +- 7125 2 files changed, 2 insertions(+), 2 deletions(-) 7126 7127commit cee3021d30704858e4bdd22240e7d28e570d7451 7128Author: Lasse Collin <lasse.collin@tukaani.org> 7129Date: 2018-04-29 18:48:00 +0300 7130 7131 extra/scanlzma: Fix compiler warnings. 7132 7133 extra/scanlzma/scanlzma.c | 6 +++++- 7134 1 file changed, 5 insertions(+), 1 deletion(-) 7135 7136commit c5c7ceb08a011b97d261798033e2c39613a69eb7 7137Author: Lasse Collin <lasse.collin@tukaani.org> 7138Date: 2018-04-29 18:44:47 +0300 7139 7140 DOS: Add file_info.c to the list of files to build. 7141 7142 dos/Makefile | 1 + 7143 1 file changed, 1 insertion(+) 7144 7145commit 114cab97af766b21e0fc8620479202fb1e7a5e41 7146Author: Lasse Collin <lasse.collin@tukaani.org> 7147Date: 2018-04-29 18:33:10 +0300 7148 7149 Update NEWS for 5.3.1alpha. 7150 7151 NEWS | 11 +++++++++++ 7152 1 file changed, 11 insertions(+) 7153 7154commit b8139e11c512bbf32bf58ab0689f9bb6c52819da 7155Author: Lasse Collin <lasse.collin@tukaani.org> 7156Date: 2018-04-29 18:15:37 +0300 7157 7158 Add NEWS for 5.2.4. 7159 7160 NEWS | 27 +++++++++++++++++++++++++++ 7161 1 file changed, 27 insertions(+) 7162 7163commit 47b59d47cfd904a420fbd45629d168ca1973721d 7164Author: Lasse Collin <lasse.collin@tukaani.org> 7165Date: 2018-02-06 19:36:30 +0200 7166 7167 Update THANKS. 7168 7169 THANKS | 2 ++ 7170 1 file changed, 2 insertions(+) 7171 7172commit bc197991690ede24ab143665b5b0f0f9cb35cc46 7173Author: Ben Boeckel <mathstuf@gmail.com> 7174Date: 2018-01-29 13:58:18 -0500 7175 7176 nothrow: use noexcept for C++11 and newer 7177 7178 In C++11, the `throw()` specifier is deprecated and `noexcept` is 7179 preffered instead. 7180 7181 src/liblzma/api/lzma.h | 6 +++++- 7182 1 file changed, 5 insertions(+), 1 deletion(-) 7183 7184commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5 7185Author: Lasse Collin <lasse.collin@tukaani.org> 7186Date: 2018-02-06 18:02:48 +0200 7187 7188 liblzma: Remove incorrect #ifdef from range_common.h. 7189 7190 In most cases it was harmless but it could affect some 7191 custom build systems. 7192 7193 Thanks to Pippijn van Steenhoven. 7194 7195 src/liblzma/rangecoder/range_common.h | 4 +--- 7196 1 file changed, 1 insertion(+), 3 deletions(-) 7197 7198commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76 7199Author: Lasse Collin <lasse.collin@tukaani.org> 7200Date: 2018-01-10 22:10:39 +0200 7201 7202 Update THANKS. 7203 7204 THANKS | 1 + 7205 1 file changed, 1 insertion(+) 7206 7207commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1 7208Author: Lasse Collin <lasse.collin@tukaani.org> 7209Date: 2018-01-10 21:54:27 +0200 7210 7211 tuklib_integer: New Intel C compiler needs immintrin.h. 7212 7213 Thanks to Melanie Blower (Intel) for the patch. 7214 7215 src/common/tuklib_integer.h | 11 +++++++++++ 7216 1 file changed, 11 insertions(+) 7217 7218commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3 7219Author: Lasse Collin <lasse.collin@tukaani.org> 7220Date: 2017-09-24 20:04:24 +0300 7221 7222 Update THANKS. 7223 7224 THANKS | 1 + 7225 1 file changed, 1 insertion(+) 7226 7227commit a1e2c568de29c0b57d873eab40a2879b749da429 7228Author: Lasse Collin <lasse.collin@tukaani.org> 7229Date: 2017-09-16 20:36:20 +0300 7230 7231 Windows: Fix paths in VS project files. 7232 7233 Some paths use slashes instead of backslashes as directory 7234 separators... now it should work (I tested VS2013 version). 7235 7236 windows/vs2013/liblzma.vcxproj | 12 ++++++------ 7237 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------ 7238 windows/vs2017/liblzma.vcxproj | 12 ++++++------ 7239 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------ 7240 4 files changed, 36 insertions(+), 36 deletions(-) 7241 7242commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e 7243Author: Lasse Collin <lasse.collin@tukaani.org> 7244Date: 2017-09-16 12:56:20 +0300 7245 7246 Windows: Update VS2017 project files to include file info decoder. 7247 7248 windows/vs2017/liblzma.vcxproj | 2 ++ 7249 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 7250 2 files changed, 4 insertions(+) 7251 7252commit 95d563db3ee497b223e522b699c4d4c29943eef0 7253Author: Lasse Collin <lasse.collin@tukaani.org> 7254Date: 2017-09-16 12:54:23 +0300 7255 7256 Windows: Add project files for VS2017. 7257 7258 These files match the v5.2 branch (no file info decoder). 7259 7260 windows/vs2017/config.h | 148 ++++++++++++++ 7261 windows/vs2017/liblzma.vcxproj | 355 ++++++++++++++++++++++++++++++++++ 7262 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++ 7263 windows/vs2017/xz_win.sln | 48 +++++ 7264 4 files changed, 935 insertions(+) 7265 7266commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73 7267Author: Lasse Collin <lasse.collin@tukaani.org> 7268Date: 2017-09-16 12:45:50 +0300 7269 7270 Windows: Update VS2013 project files to include file info decoder. 7271 7272 windows/vs2013/liblzma.vcxproj | 2 ++ 7273 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 7274 2 files changed, 4 insertions(+) 7275 7276commit 82388980187b0e3794d187762054200bbdcc9a53 7277Author: Lasse Collin <lasse.collin@tukaani.org> 7278Date: 2017-09-16 12:39:43 +0300 7279 7280 Windows: Move VS2013 files into windows/vs2013 directory. 7281 7282 windows/{ => vs2013}/config.h | 0 7283 windows/{ => vs2013}/liblzma.vcxproj | 278 +++++++++++++++--------------- 7284 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++---------------- 7285 windows/{ => vs2013}/xz_win.sln | 0 7286 4 files changed, 279 insertions(+), 279 deletions(-) 7287 7288commit 94e3f986aa4e14b4ff01ac24857f499630d6d180 7289Author: Lasse Collin <lasse.collin@tukaani.org> 7290Date: 2017-08-14 20:08:33 +0300 7291 7292 Fix or hide warnings from GCC 7's -Wimplicit-fallthrough. 7293 7294 src/liblzma/lzma/lzma_decoder.c | 6 ++++++ 7295 src/xz/list.c | 2 ++ 7296 2 files changed, 8 insertions(+) 7297 7298commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8 7299Author: Alexey Tourbin <alexey.tourbin@gmail.com> 7300Date: 2017-05-16 23:56:35 +0300 7301 7302 Docs: Fix a typo in a comment in doc/examples/02_decompress.c. 7303 7304 doc/examples/02_decompress.c | 2 +- 7305 1 file changed, 1 insertion(+), 1 deletion(-) 7306 7307commit a015cd1f90116e655be4eaf4aad42c4c911c2807 7308Author: Lasse Collin <lasse.collin@tukaani.org> 7309Date: 2017-05-23 18:34:43 +0300 7310 7311 xz: Fix "xz --list --robot missing_or_bad_file.xz". 7312 7313 It ended up printing an uninitialized char-array when trying to 7314 print the check names (column 7) on the "totals" line. 7315 7316 This also changes the column 12 (minimum xz version) to 7317 50000002 (xz 5.0.0) instead of 0 when there are no valid 7318 input files. 7319 7320 Thanks to kidmin for the bug report. 7321 7322 src/xz/list.c | 8 ++++++-- 7323 1 file changed, 6 insertions(+), 2 deletions(-) 7324 7325commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd 7326Author: Lasse Collin <lasse.collin@tukaani.org> 7327Date: 2017-04-24 20:20:11 +0300 7328 7329 Docs: Add doc/examples/11_file_info.c. 7330 7331 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++ 7332 doc/examples/Makefile | 3 +- 7333 2 files changed, 208 insertions(+), 1 deletion(-) 7334 7335commit 1520f6ec808896375ac7bf778c449e0f7dea5f46 7336Author: Lasse Collin <lasse.collin@tukaani.org> 7337Date: 2017-04-24 19:48:47 +0300 7338 7339 Build: Omit pre-5.0.0 entries from the generated ChangeLog. 7340 7341 It makes ChangeLog significantly smaller. 7342 7343 Makefile.am | 3 ++- 7344 1 file changed, 2 insertions(+), 1 deletion(-) 7345 7346commit 8269782283806c90a8509c2ac2a308344f70e171 7347Author: Lasse Collin <lasse.collin@tukaani.org> 7348Date: 2017-04-24 19:48:23 +0300 7349 7350 xz: Use lzma_file_info_decoder() for --list. 7351 7352 src/xz/list.c | 254 ++++++++++------------------------------------------------ 7353 1 file changed, 44 insertions(+), 210 deletions(-) 7354 7355commit e353d0b1cc0d3997ae5048faa8e6786414953e06 7356Author: Lasse Collin <lasse.collin@tukaani.org> 7357Date: 2017-04-24 19:35:50 +0300 7358 7359 liblzma: Add lzma_file_info_decoder(). 7360 7361 src/liblzma/api/lzma/index.h | 66 ++++ 7362 src/liblzma/common/Makefile.inc | 1 + 7363 src/liblzma/common/file_info.c | 855 ++++++++++++++++++++++++++++++++++++++++ 7364 src/liblzma/liblzma.map | 7 +- 7365 4 files changed, 928 insertions(+), 1 deletion(-) 7366 7367commit 144ef9e19e9496c995b21505dd1e111c442968d1 7368Author: Lasse Collin <lasse.collin@tukaani.org> 7369Date: 2017-04-24 19:30:22 +0300 7370 7371 Update the Git repository URL to HTTPS in ChangeLog. 7372 7373 ChangeLog | 2 +- 7374 1 file changed, 1 insertion(+), 1 deletion(-) 7375 7376commit 8c9842c265993d7dd4039f732d3546267fb5ecc4 7377Author: Lasse Collin <lasse.collin@tukaani.org> 7378Date: 2017-04-21 15:05:16 +0300 7379 7380 liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos. 7381 7382 src/liblzma/api/lzma/base.h | 18 +++++++++--------- 7383 src/liblzma/common/common.c | 2 +- 7384 src/xz/message.c | 2 +- 7385 3 files changed, 11 insertions(+), 11 deletions(-) 7386 7387commit 662b27c417cab248cb365dd7682121bdec4d5ae7 7388Author: Lasse Collin <lasse.collin@tukaani.org> 7389Date: 2017-04-19 22:17:35 +0300 7390 7391 Update the home page URLs to HTTPS. 7392 7393 COPYING | 2 +- 7394 README | 2 +- 7395 configure.ac | 2 +- 7396 doc/faq.txt | 4 ++-- 7397 dos/config.h | 2 +- 7398 src/common/common_w32res.rc | 2 +- 7399 src/xz/xz.1 | 6 +++--- 7400 src/xzdec/xzdec.1 | 4 ++-- 7401 windows/README-Windows.txt | 2 +- 7402 windows/config.h | 2 +- 7403 10 files changed, 14 insertions(+), 14 deletions(-) 7404 7405commit c28f0b3d00af87b92dda229831548d8eb0067d1d 7406Author: Lasse Collin <lasse.collin@tukaani.org> 7407Date: 2017-04-05 18:47:22 +0300 7408 7409 xz: Add io_seek_src(). 7410 7411 src/xz/file_io.c | 20 +++++++++++++++++--- 7412 src/xz/file_io.h | 13 +++++++++++++ 7413 2 files changed, 30 insertions(+), 3 deletions(-) 7414 7415commit bba477257d7319c8764890f3669175b866d24944 7416Author: Lasse Collin <lasse.collin@tukaani.org> 7417Date: 2017-03-30 22:01:54 +0300 7418 7419 xz: Use POSIX_FADV_RANDOM for in "xz --list" mode. 7420 7421 xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly 7422 wrong. 7423 7424 src/xz/file_io.c | 10 ++++++++-- 7425 1 file changed, 8 insertions(+), 2 deletions(-) 7426 7427commit 310d19816d1652b0c8bb1b82574d46345d924752 7428Author: Lasse Collin <lasse.collin@tukaani.org> 7429Date: 2017-03-30 20:03:05 +0300 7430 7431 liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs. 7432 7433 This is to allow other functions to use it without going 7434 via the public API (lzma_index_decoder()). 7435 7436 src/liblzma/common/Makefile.inc | 1 + 7437 src/liblzma/common/index_decoder.c | 10 +++++----- 7438 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++ 7439 3 files changed, 30 insertions(+), 5 deletions(-) 7440 7441commit a27920002dbc469f778a134fc665b7c3ea73701b 7442Author: Lasse Collin <lasse.collin@tukaani.org> 7443Date: 2017-03-30 20:00:09 +0300 7444 7445 liblzma: Add generic support for input seeking (LZMA_SEEK). 7446 7447 Also mention LZMA_SEEK in xz/message.c to silence a warning. 7448 7449 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++- 7450 src/liblzma/common/common.c | 12 +++++++++++- 7451 src/xz/message.c | 1 + 7452 3 files changed, 42 insertions(+), 2 deletions(-) 7453 7454commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d 7455Author: Lasse Collin <lasse.collin@tukaani.org> 7456Date: 2017-03-30 19:47:45 +0300 7457 7458 liblzma: Fix lzma_memlimit_set(strm, 0). 7459 7460 The 0 got treated specially in a buggy way and as a result 7461 the function did nothing. The API doc said that 0 was supposed 7462 to return LZMA_PROG_ERROR but it didn't. 7463 7464 Now 0 is treated as if 1 had been specified. This is done because 7465 0 is already used to indicate an error from lzma_memlimit_get() 7466 and lzma_memusage(). 7467 7468 In addition, lzma_memlimit_set() no longer checks that the new 7469 limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive 7470 for the Index decoder and was actually needed only by the 7471 auto decoder. Auto decoder has now been modified to check for 7472 LZMA_MEMUSAGE_BASE. 7473 7474 src/liblzma/api/lzma/base.h | 7 ++++++- 7475 src/liblzma/common/auto_decoder.c | 3 +++ 7476 src/liblzma/common/common.c | 6 ++++-- 7477 3 files changed, 13 insertions(+), 3 deletions(-) 7478 7479commit 84462afaada61379f5878e46f8f00e25a1cdcf29 7480Author: Lasse Collin <lasse.collin@tukaani.org> 7481Date: 2017-03-30 19:16:55 +0300 7482 7483 liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder. 7484 7485 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++---- 7486 src/liblzma/common/alone_decoder.c | 5 +---- 7487 src/liblzma/common/auto_decoder.c | 5 +---- 7488 src/liblzma/common/stream_decoder.c | 5 +---- 7489 4 files changed, 20 insertions(+), 16 deletions(-) 7490 7491commit cbc74017939690d13441b8926bb743fb03211b83 7492Author: Lasse Collin <lasse.collin@tukaani.org> 7493Date: 2017-03-30 18:58:18 +0300 7494 7495 liblzma: Fix handling of memlimit == 0 in lzma_index_decoder(). 7496 7497 It returned LZMA_PROG_ERROR, which was done to avoid zero as 7498 the limit (because it's a special value elsewhere), but using 7499 LZMA_PROG_ERROR is simply inconvenient and can cause bugs. 7500 7501 The fix/workaround is to treat 0 as if it were 1 byte. It's 7502 effectively the same thing. The only weird consequence is 7503 that then lzma_memlimit_get() will return 1 even when 0 was 7504 specified as the limit. 7505 7506 This fixes a very rare corner case in xz --list where a specific 7507 memory usage limit and a multi-stream file could print the 7508 error message "Internal error (bug)" instead of saying that 7509 the memory usage limit is too low. 7510 7511 src/liblzma/api/lzma/index.h | 18 +++++++++++------- 7512 src/liblzma/common/index_decoder.c | 4 ++-- 7513 2 files changed, 13 insertions(+), 9 deletions(-) 7514 7515commit 78ae13bced912b1b92ae927992c99cbcc463cae7 7516Author: Lasse Collin <lasse.collin@tukaani.org> 7517Date: 2016-12-30 13:25:10 +0200 7518 7519 Update NEWS for 5.2.3. 7520 7521 NEWS | 39 +++++++++++++++++++++++++++++++++++++++ 7522 1 file changed, 39 insertions(+) 7523 7524commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357 7525Author: Lasse Collin <lasse.collin@tukaani.org> 7526Date: 2016-12-26 20:55:52 +0200 7527 7528 Document --enable-sandbox configure option in INSTALL. 7529 7530 INSTALL | 23 +++++++++++++++++++++++ 7531 1 file changed, 23 insertions(+) 7532 7533commit d4a0462abe5478193521c14625e1c81fead87f9f 7534Author: Lasse Collin <lasse.collin@tukaani.org> 7535Date: 2016-11-21 20:24:50 +0200 7536 7537 liblzma: Avoid multiple definitions of lzma_coder structures. 7538 7539 Only one definition was visible in a translation unit. 7540 It avoided a few casts and temp variables but seems that 7541 this hack doesn't work with link-time optimizations in compilers 7542 as it's not C99/C11 compliant. 7543 7544 Fixes: 7545 http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html 7546 7547 src/liblzma/common/alone_decoder.c | 44 +++++---- 7548 src/liblzma/common/alone_encoder.c | 34 ++++--- 7549 src/liblzma/common/auto_decoder.c | 35 ++++--- 7550 src/liblzma/common/block_decoder.c | 41 ++++---- 7551 src/liblzma/common/block_encoder.c | 40 ++++---- 7552 src/liblzma/common/common.h | 18 ++-- 7553 src/liblzma/common/index_decoder.c | 33 ++++--- 7554 src/liblzma/common/index_encoder.c | 16 ++-- 7555 src/liblzma/common/stream_decoder.c | 50 +++++----- 7556 src/liblzma/common/stream_encoder.c | 56 ++++++----- 7557 src/liblzma/common/stream_encoder_mt.c | 124 ++++++++++++++----------- 7558 src/liblzma/delta/delta_common.c | 25 ++--- 7559 src/liblzma/delta/delta_decoder.c | 6 +- 7560 src/liblzma/delta/delta_encoder.c | 12 ++- 7561 src/liblzma/delta/delta_private.h | 4 +- 7562 src/liblzma/lz/lz_decoder.c | 60 ++++++------ 7563 src/liblzma/lz/lz_decoder.h | 13 ++- 7564 src/liblzma/lz/lz_encoder.c | 57 +++++++----- 7565 src/liblzma/lz/lz_encoder.h | 9 +- 7566 src/liblzma/lzma/lzma2_decoder.c | 32 ++++--- 7567 src/liblzma/lzma/lzma2_encoder.c | 51 +++++----- 7568 src/liblzma/lzma/lzma_decoder.c | 27 +++--- 7569 src/liblzma/lzma/lzma_encoder.c | 29 +++--- 7570 src/liblzma/lzma/lzma_encoder.h | 9 +- 7571 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 +- 7572 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 23 ++--- 7573 src/liblzma/lzma/lzma_encoder_private.h | 6 +- 7574 src/liblzma/simple/arm.c | 2 +- 7575 src/liblzma/simple/armthumb.c | 2 +- 7576 src/liblzma/simple/ia64.c | 2 +- 7577 src/liblzma/simple/powerpc.c | 2 +- 7578 src/liblzma/simple/simple_coder.c | 61 ++++++------ 7579 src/liblzma/simple/simple_private.h | 12 +-- 7580 src/liblzma/simple/sparc.c | 2 +- 7581 src/liblzma/simple/x86.c | 15 +-- 7582 35 files changed, 532 insertions(+), 423 deletions(-) 7583 7584commit a01794c52add98263b49119842c3e7141d1b9ced 7585Author: Lasse Collin <lasse.collin@tukaani.org> 7586Date: 2016-10-24 18:53:25 +0300 7587 7588 Update THANKS. 7589 7590 THANKS | 1 + 7591 1 file changed, 1 insertion(+) 7592 7593commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d 7594Author: Lasse Collin <lasse.collin@tukaani.org> 7595Date: 2016-10-24 18:51:36 +0300 7596 7597 tuklib_cpucores: Add support for sched_getaffinity(). 7598 7599 It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better 7600 than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity() 7601 gives the number of cores available to the process instead of 7602 the total number of cores online. 7603 7604 As a side effect, this commit fixes a bug on GNU/kFreeBSD where 7605 configure would detect the FreeBSD-specific cpuset_getaffinity() 7606 but it wouldn't actually work because on GNU/kFreeBSD it requires 7607 using -lfreebsd-glue when linking. Now the glibc-specific function 7608 will be used instead. 7609 7610 Thanks to Sebastian Andrzej Siewior for the original patch 7611 and testing. 7612 7613 m4/tuklib_cpucores.m4 | 30 +++++++++++++++++++++++++++++- 7614 src/common/tuklib_cpucores.c | 9 +++++++++ 7615 2 files changed, 38 insertions(+), 1 deletion(-) 7616 7617commit 446e4318fa79788e09299d5953b5dd428953d14b 7618Author: Lasse Collin <lasse.collin@tukaani.org> 7619Date: 2016-06-30 20:27:36 +0300 7620 7621 xz: Fix copying of timestamps on Windows. 7622 7623 xz used to call utime() on Windows, but its result gets lost 7624 on close(). Using _futime() seems to work. 7625 7626 Thanks to Martok for reporting the bug: 7627 http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html 7628 7629 configure.ac | 2 +- 7630 src/xz/file_io.c | 18 ++++++++++++++++++ 7631 2 files changed, 19 insertions(+), 1 deletion(-) 7632 7633commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd 7634Author: Lasse Collin <lasse.collin@tukaani.org> 7635Date: 2016-06-16 22:46:02 +0300 7636 7637 xz: Silence warnings from -Wlogical-op. 7638 7639 Thanks to Evan Nemerson. 7640 7641 src/xz/file_io.c | 12 ++++++++++-- 7642 1 file changed, 10 insertions(+), 2 deletions(-) 7643 7644commit c83b7a03342c3325ff10400b22ee21edfcd1e026 7645Author: Lasse Collin <lasse.collin@tukaani.org> 7646Date: 2016-04-10 20:55:49 +0300 7647 7648 Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am. 7649 7650 Thanks to Christian Kujau. 7651 7652 src/xz/Makefile.am | 2 +- 7653 1 file changed, 1 insertion(+), 1 deletion(-) 7654 7655commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e 7656Author: Lasse Collin <lasse.collin@tukaani.org> 7657Date: 2016-04-10 20:54:17 +0300 7658 7659 Build: Bump GNU Gettext version requirement to 0.19. 7660 7661 It silences a few warnings and most people probably have 7662 0.19 even on stable distributions. 7663 7664 Thanks to Christian Kujau. 7665 7666 configure.ac | 2 +- 7667 1 file changed, 1 insertion(+), 1 deletion(-) 7668 7669commit ac398c3bafa6e4c80e20571373a96947db863b3d 7670Author: Lasse Collin <lasse.collin@tukaani.org> 7671Date: 2016-03-13 20:21:49 +0200 7672 7673 liblzma: Disable external SHA-256 by default. 7674 7675 This is the sane thing to do. The conflict with OpenSSL 7676 on some OSes and especially that the OS-provided versions 7677 can be significantly slower makes it clear that it was 7678 a mistake to have the external SHA-256 support enabled by 7679 default. 7680 7681 Those who want it can now pass --enable-external-sha256 to 7682 configure. INSTALL was updated with notes about OSes where 7683 this can be a bad idea. 7684 7685 The SHA-256 detection code in configure.ac had some bugs that 7686 could lead to a build failure in some situations. These were 7687 fixed, although it doesn't matter that much now that the 7688 external SHA-256 is disabled by default. 7689 7690 MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init 7691 in libc instead of libutil. Support for the libutil version 7692 was removed. 7693 7694 INSTALL | 36 ++++++++++++++++++++++ 7695 configure.ac | 76 +++++++++++++++++++++++------------------------ 7696 src/liblzma/check/check.h | 16 ++++------ 7697 3 files changed, 79 insertions(+), 49 deletions(-) 7698 7699commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5 7700Author: Lasse Collin <lasse.collin@tukaani.org> 7701Date: 2016-03-10 20:27:05 +0200 7702 7703 Update THANKS. 7704 7705 THANKS | 1 + 7706 1 file changed, 1 insertion(+) 7707 7708commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9 7709Author: Lasse Collin <lasse.collin@tukaani.org> 7710Date: 2016-03-10 20:26:49 +0200 7711 7712 Build: Avoid SHA256_Init on FreeBSD and MINIX 3. 7713 7714 On FreeBSD 10 and older, SHA256_Init from libmd conflicts 7715 with libcrypto from OpenSSL. The OpenSSL version has 7716 different sizeof(SHA256_CTX) and it can cause weird 7717 problems if wrong SHA256_Init gets used. 7718 7719 Looking at the source, MINIX 3 seems to have a similar issue but 7720 I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too. 7721 7722 NetBSD has SHA256_Init in libc and they had a similar problem, 7723 but they already fixed it in 2009. 7724 7725 Thanks to Jim Wilcoxson for the bug report that helped 7726 in finding the problem. 7727 7728 configure.ac | 27 +++++++++++++++++++++------ 7729 1 file changed, 21 insertions(+), 6 deletions(-) 7730 7731commit faf302137e54d605b44ecf0373cb51a6403a2de1 7732Author: Lasse Collin <lasse.collin@tukaani.org> 7733Date: 2015-11-08 20:16:10 +0200 7734 7735 tuklib_physmem: Hopefully silence a warning on Windows. 7736 7737 src/common/tuklib_physmem.c | 3 ++- 7738 1 file changed, 2 insertions(+), 1 deletion(-) 7739 7740commit e52e9151cf8613022d1de4712ff39dbcb666e991 7741Author: Lasse Collin <lasse.collin@tukaani.org> 7742Date: 2015-11-04 23:17:43 +0200 7743 7744 Update THANKS. 7745 7746 THANKS | 1 + 7747 1 file changed, 1 insertion(+) 7748 7749commit 14115f84a38161d55eaa2d070f08739bde37e966 7750Author: Lasse Collin <lasse.collin@tukaani.org> 7751Date: 2015-11-04 23:14:00 +0200 7752 7753 liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma. 7754 7755 When optimizing, GCC can reorder code so that an uninitialized 7756 value gets used in a comparison, which makes Valgrind unhappy. 7757 It doesn't happen when compiled with -O0, which I tend to use 7758 when running Valgrind. 7759 7760 Thanks to Rich Prohaska. I remember this being mentioned long 7761 ago by someone else but nothing was done back then. 7762 7763 src/liblzma/lz/lz_encoder.c | 4 ++++ 7764 1 file changed, 4 insertions(+) 7765 7766commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e 7767Author: Lasse Collin <lasse.collin@tukaani.org> 7768Date: 2015-11-03 20:55:45 +0200 7769 7770 liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c. 7771 7772 It would be too annoying to update other build systems 7773 just because of this. 7774 7775 src/liblzma/lzma/Makefile.inc | 2 +- 7776 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +- 7777 2 files changed, 2 insertions(+), 2 deletions(-) 7778 7779commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b 7780Author: Lasse Collin <lasse.collin@tukaani.org> 7781Date: 2015-11-03 20:47:07 +0200 7782 7783 Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built. 7784 7785 They all need decoder support and if that isn't available, 7786 there's no point trying to build them. 7787 7788 configure.ac | 3 +++ 7789 1 file changed, 3 insertions(+) 7790 7791commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a 7792Author: Lasse Collin <lasse.collin@tukaani.org> 7793Date: 2015-11-03 20:35:19 +0200 7794 7795 Build: Simplify $enable_{encoders,decoders} usage a bit. 7796 7797 configure.ac | 6 ++++-- 7798 1 file changed, 4 insertions(+), 2 deletions(-) 7799 7800commit af13781886c8e7a0aabebb5141ea282dc364f5c6 7801Author: Lasse Collin <lasse.collin@tukaani.org> 7802Date: 2015-11-03 20:31:31 +0200 7803 7804 Windows/MSVC: Update config.h. 7805 7806 windows/config.h | 6 ++++++ 7807 1 file changed, 6 insertions(+) 7808 7809commit 9fa5949330f162c5a2f6653f83025327837e8f39 7810Author: Lasse Collin <lasse.collin@tukaani.org> 7811Date: 2015-11-03 20:29:58 +0200 7812 7813 DOS: Update config.h. 7814 7815 dos/config.h | 6 ++++++ 7816 1 file changed, 6 insertions(+) 7817 7818commit cb3111e3ed84152912b5138d690c8d9f00c6ef02 7819Author: Lasse Collin <lasse.collin@tukaani.org> 7820Date: 2015-11-03 20:29:33 +0200 7821 7822 xz: Make xz buildable even when encoders or decoders are disabled. 7823 7824 The patch is quite long but it's mostly about adding new #ifdefs 7825 to omit code when encoders or decoders have been disabled. 7826 7827 This adds two new #defines to config.h: HAVE_ENCODERS and 7828 HAVE_DECODERS. 7829 7830 configure.ac | 4 ++++ 7831 src/xz/Makefile.am | 8 ++++++-- 7832 src/xz/args.c | 16 ++++++++++++++++ 7833 src/xz/coder.c | 33 +++++++++++++++++++++++++-------- 7834 src/xz/main.c | 9 +++++++-- 7835 src/xz/private.h | 5 ++++- 7836 6 files changed, 62 insertions(+), 13 deletions(-) 7837 7838commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab 7839Author: Lasse Collin <lasse.collin@tukaani.org> 7840Date: 2015-11-03 18:06:40 +0200 7841 7842 Build: Build LZMA1/2 presets also when only decoder is wanted. 7843 7844 People shouldn't rely on the presets when decoding raw streams, 7845 but xz uses the presets as the starting point for raw decoder 7846 options anyway. 7847 7848 lzma_encocder_presets.c was renamed to lzma_presets.c to 7849 make it clear it's not used solely by the encoder code. 7850 7851 src/liblzma/lzma/Makefile.inc | 6 +++++- 7852 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++- 7853 2 files changed, 7 insertions(+), 2 deletions(-) 7854 7855commit 23ed1d41489f632155bbc9660f323d57e09da180 7856Author: Lasse Collin <lasse.collin@tukaani.org> 7857Date: 2015-11-03 17:54:48 +0200 7858 7859 Build: Fix configure to handle LZMA1 dependency with LZMA2. 7860 7861 Now it gives an error if LZMA1 encoder/decoder is missing 7862 when LZMA2 encoder/decoder was requested. Even better would 7863 be LZMA2 implicitly enabling LZMA1 but it would need more code. 7864 7865 configure.ac | 5 ----- 7866 1 file changed, 5 deletions(-) 7867 7868commit b0bc3e03852af13419ea2960881824258d451117 7869Author: Lasse Collin <lasse.collin@tukaani.org> 7870Date: 2015-11-03 17:41:54 +0200 7871 7872 Build: Don't omit lzma_cputhreads() unless using --disable-threads. 7873 7874 Previously it was omitted if encoders were disabled 7875 with --disable-encoders. It didn't make sense and 7876 it also broke the build. 7877 7878 src/liblzma/common/Makefile.inc | 5 ++++- 7879 1 file changed, 4 insertions(+), 1 deletion(-) 7880 7881commit c6bf438ab39e0fb4a47d3c81725c227919502726 7882Author: Lasse Collin <lasse.collin@tukaani.org> 7883Date: 2015-11-02 18:16:51 +0200 7884 7885 liblzma: Fix a build failure related to external SHA-256 support. 7886 7887 If an appropriate header and structure were found by configure, 7888 but a library with a usable SHA-256 functions wasn't, the build 7889 failed. 7890 7891 src/liblzma/check/check.h | 32 +++++++++++++++++++++++--------- 7892 1 file changed, 23 insertions(+), 9 deletions(-) 7893 7894commit e18adc56f2262aa9394d46681e9e4b9981ed5e97 7895Author: Lasse Collin <lasse.collin@tukaani.org> 7896Date: 2015-11-02 15:19:10 +0200 7897 7898 xz: Always close the file before trying to delete it. 7899 7900 unlink() can return EBUSY in errno for open files on some 7901 operating systems and file systems. 7902 7903 src/xz/file_io.c | 25 ++++++++++++------------- 7904 1 file changed, 12 insertions(+), 13 deletions(-) 7905 7906commit 282e768a1484e88c8b7ec35655ee4959954ec87a 7907Author: Lasse Collin <lasse.collin@tukaani.org> 7908Date: 2015-10-12 21:08:42 +0300 7909 7910 Update THANKS. 7911 7912 THANKS | 1 + 7913 1 file changed, 1 insertion(+) 7914 7915commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0 7916Author: Lasse Collin <lasse.collin@tukaani.org> 7917Date: 2015-10-12 21:07:41 +0300 7918 7919 Tests: Add tests for the two bugs fixed in index.c. 7920 7921 tests/test_index.c | 30 ++++++++++++++++++++++++++++++ 7922 1 file changed, 30 insertions(+) 7923 7924commit 21515d79d778b8730a434f151b07202d52a04611 7925Author: Lasse Collin <lasse.collin@tukaani.org> 7926Date: 2015-10-12 20:45:15 +0300 7927 7928 liblzma: Fix lzma_index_dup() for empty Streams. 7929 7930 Stream Flags and Stream Padding weren't copied from 7931 empty Streams. 7932 7933 src/liblzma/common/index.c | 11 ++++++----- 7934 1 file changed, 6 insertions(+), 5 deletions(-) 7935 7936commit 09f395b6b360c0b13e8559eece1d179b908ebd3a 7937Author: Lasse Collin <lasse.collin@tukaani.org> 7938Date: 2015-10-12 20:31:44 +0300 7939 7940 liblzma: Add a note to index.c for those using static analyzers. 7941 7942 src/liblzma/common/index.c | 3 +++ 7943 1 file changed, 3 insertions(+) 7944 7945commit 3bf857edfef51374f6f3fffae3d817f57d3264a0 7946Author: Lasse Collin <lasse.collin@tukaani.org> 7947Date: 2015-10-12 20:29:09 +0300 7948 7949 liblzma: Fix a memory leak in error path of lzma_index_dup(). 7950 7951 lzma_index_dup() calls index_dup_stream() which, in case of 7952 an error, calls index_stream_end() to free memory allocated 7953 by index_stream_init(). However, it illogically didn't 7954 actually free the memory. To make it logical, the tree 7955 handling code was modified a bit in addition to changing 7956 index_stream_end(). 7957 7958 Thanks to Evan Nemerson for the bug report. 7959 7960 src/liblzma/common/index.c | 18 +++++++++--------- 7961 1 file changed, 9 insertions(+), 9 deletions(-) 7962 7963commit 7f05803979b4b79642d5be4218a79da7a0b12c47 7964Author: Lasse Collin <lasse.collin@tukaani.org> 7965Date: 2015-09-29 13:57:28 +0300 7966 7967 Update NEWS for 5.2.2. 7968 7969 NEWS | 18 ++++++++++++++++++ 7970 1 file changed, 18 insertions(+) 7971 7972commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1 7973Author: Hauke Henningsen <sqrt@entless.org> 7974Date: 2015-08-17 04:59:54 +0200 7975 7976 Update German translation, mostly wrt orthography 7977 7978 Provide an update of the German translation. 7979 * A lot of compound words were previously written with spaces, while 7980 German orthography is relatively clear in that the components 7981 should not be separated. 7982 * When referring to the actual process of (de)compression rather than the 7983 concept, replace “(De-)Kompression” with “(De-)Komprimierung”. 7984 Previously, both forms were used in this context and are now used in a 7985 manner consistent with “Komprimierung” being more likely to refer to 7986 a process. 7987 * Consistently translate “standard input”/“output” 7988 * Use “Zeichen” instead of false friend “Charakter” for “character” 7989 * Insert commas around relative clauses (as required in German) 7990 * Some other minor corrections 7991 * Capitalize “ß” as “ẞ” 7992 * Consistently start option descriptions in --help with capital letters 7993 7994 Acked-By: Andre Noll <maan@tuebingen.mpg.de> 7995 7996 * Update after msgmerge 7997 7998 po/de.po | 383 ++++++++++++++++++++++++++++++++------------------------------- 7999 1 file changed, 196 insertions(+), 187 deletions(-) 8000 8001commit cbc9e39bae715accb44168930a71888480aad569 8002Author: Lasse Collin <lasse.collin@tukaani.org> 8003Date: 2015-08-11 13:23:04 +0300 8004 8005 Build: Minor Cygwin cleanup. 8006 8007 Some tests used "cygwin*" and some used "cygwin". I changed 8008 them all to use "cygwin". Shouldn't affect anything in practice. 8009 8010 configure.ac | 6 +++--- 8011 1 file changed, 3 insertions(+), 3 deletions(-) 8012 8013commit bcacd8ce7a031566858e5e03c1009064c3f1c89e 8014Author: Lasse Collin <lasse.collin@tukaani.org> 8015Date: 2015-08-11 13:21:52 +0300 8016 8017 Build: Support building of MSYS2 binaries. 8018 8019 configure.ac | 16 +++++++++++----- 8020 1 file changed, 11 insertions(+), 5 deletions(-) 8021 8022commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c 8023Author: Lasse Collin <lasse.collin@tukaani.org> 8024Date: 2015-08-09 21:06:26 +0300 8025 8026 Windows: Define DLL_EXPORT when building liblzma.dll with MSVC. 8027 8028 src/liblzma/common/common.h uses it to set __declspec(dllexport) 8029 for the API symbols. 8030 8031 Thanks to Adam Walling. 8032 8033 windows/liblzma_dll.vcxproj | 12 ++++++------ 8034 1 file changed, 6 insertions(+), 6 deletions(-) 8035 8036commit a74525cf9b945fb0b370e64cf406104beb31729b 8037Author: Lasse Collin <lasse.collin@tukaani.org> 8038Date: 2015-08-09 21:02:20 +0300 8039 8040 Windows: Omit unneeded header files from MSVC project files. 8041 8042 windows/liblzma.vcxproj | 5 ----- 8043 windows/liblzma_dll.vcxproj | 5 ----- 8044 2 files changed, 10 deletions(-) 8045 8046commit fbbb295a91caf39faf8838c8c39526e4cb4dc121 8047Author: Lasse Collin <lasse.collin@tukaani.org> 8048Date: 2015-07-12 20:48:19 +0300 8049 8050 liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer. 8051 8052 src/liblzma/api/lzma.h | 18 +++++++++++++----- 8053 1 file changed, 13 insertions(+), 5 deletions(-) 8054 8055commit 713dbe5c230fe00865a54f5c32358ea30f9a1156 8056Author: Lasse Collin <lasse.collin@tukaani.org> 8057Date: 2015-06-19 20:38:55 +0300 8058 8059 Update THANKS. 8060 8061 THANKS | 2 ++ 8062 1 file changed, 2 insertions(+) 8063 8064commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1 8065Author: Lasse Collin <lasse.collin@tukaani.org> 8066Date: 2015-06-19 20:21:30 +0300 8067 8068 Windows: Update the docs. 8069 8070 INSTALL | 29 ++++++++----- 8071 windows/INSTALL-MSVC.txt | 47 ++++++++++++++++++++++ 8072 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} | 2 +- 8073 3 files changed, 67 insertions(+), 11 deletions(-) 8074 8075commit b0798c6aa6184efcefd0bdcca20f96121a13feda 8076Author: Lasse Collin <lasse.collin@tukaani.org> 8077Date: 2015-06-19 17:25:31 +0300 8078 8079 Windows: Add MSVC project files for building liblzma. 8080 8081 Thanks to Adam Walling for creating these files. 8082 8083 windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++ 8084 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++ 8085 windows/xz_win.sln | 48 ++++++ 8086 3 files changed, 795 insertions(+) 8087 8088commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7 8089Author: Andre Noll <maan@tuebingen.mpg.de> 8090Date: 2015-05-28 15:50:00 +0200 8091 8092 Fix typo in German translation. 8093 8094 As pointed out by Robert Pollak, there's a typo in the German 8095 translation of the compression preset option (-0 ... -9) help text. 8096 "The compressor" translates to "der Komprimierer", and the genitive 8097 form is "des Komprimierers". The old word makes no sense at all. 8098 8099 po/de.po | 2 +- 8100 1 file changed, 1 insertion(+), 1 deletion(-) 8101 8102commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72 8103Author: Lasse Collin <lasse.collin@tukaani.org> 8104Date: 2015-05-13 20:57:55 +0300 8105 8106 Tests: Fix a memory leak in test_bcj_exact_size. 8107 8108 Thanks to Cristian Rodríguez. 8109 8110 tests/test_bcj_exact_size.c | 1 + 8111 1 file changed, 1 insertion(+) 8112 8113commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8 8114Author: Lasse Collin <lasse.collin@tukaani.org> 8115Date: 2015-05-12 18:08:24 +0300 8116 8117 Fix NEWS about threading in 5.2.0. 8118 8119 Thanks to Andy Hochhaus. 8120 8121 NEWS | 3 ++- 8122 1 file changed, 2 insertions(+), 1 deletion(-) 8123 8124commit 49c26920d6e2d85e5c6123e34958aed2e77485ad 8125Author: Lasse Collin <lasse.collin@tukaani.org> 8126Date: 2015-05-11 21:26:16 +0300 8127 8128 xz: Document that threaded decompression hasn't been implemented yet. 8129 8130 src/xz/xz.1 | 10 +++++++++- 8131 1 file changed, 9 insertions(+), 1 deletion(-) 8132 8133commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256 8134Author: Lasse Collin <lasse.collin@tukaani.org> 8135Date: 2015-04-20 20:20:29 +0300 8136 8137 Update THANKS. 8138 8139 THANKS | 1 + 8140 1 file changed, 1 insertion(+) 8141 8142commit 6bd0349c58451b13442e8f463e35de83548bf985 8143Author: Lasse Collin <lasse.collin@tukaani.org> 8144Date: 2015-04-20 19:59:18 +0300 8145 8146 Revert "xz: Use pipe2() if available." 8147 8148 This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd. 8149 It is a problem when libc has pipe2() but the kernel is too 8150 old to have pipe2() and thus pipe2() fails. In xz it's pointless 8151 to have a fallback for non-functioning pipe2(); it's better to 8152 avoid pipe2() completely. 8153 8154 Thanks to Michael Fox for the bug report. 8155 8156 configure.ac | 4 ++-- 8157 src/xz/file_io.c | 9 +-------- 8158 2 files changed, 3 insertions(+), 10 deletions(-) 8159 8160commit fc0df0f8db87dff45543708a711e17d29c37f632 8161Author: Lasse Collin <lasse.collin@tukaani.org> 8162Date: 2015-04-01 14:45:25 +0300 8163 8164 xz: Fix the Capsicum rights on user_abort_pipe. 8165 8166 src/xz/file_io.c | 6 +++++- 8167 1 file changed, 5 insertions(+), 1 deletion(-) 8168 8169commit 57393615b31b3788dd77280452d845bcc12d33af 8170Author: Lasse Collin <lasse.collin@tukaani.org> 8171Date: 2015-03-31 22:20:11 +0300 8172 8173 Update THANKS. 8174 8175 THANKS | 1 + 8176 1 file changed, 1 insertion(+) 8177 8178commit 1238381143a9a7ce84839c2582ccd56ff750a440 8179Author: Lasse Collin <lasse.collin@tukaani.org> 8180Date: 2015-03-31 22:19:34 +0300 8181 8182 xz: Add support for sandboxing with Capsicum. 8183 8184 The sandboxing is used conditionally as described in main.c. 8185 This isn't optimal but it was much easier to implement than 8186 a full sandboxing solution and it still covers the most common 8187 use cases where xz is writing to standard output. This should 8188 have practically no effect on performance even with small files 8189 as fork() isn't needed. 8190 8191 C and locale libraries can open files as needed. This has been 8192 fine in the past, but it's a problem with things like Capsicum. 8193 io_sandbox_enter() tries to ensure that various locale-related 8194 files have been loaded before cap_enter() is called, but it's 8195 possible that there are other similar problems which haven't 8196 been seen yet. 8197 8198 Currently Capsicum is available on FreeBSD 10 and later 8199 and there is a port to Linux too. 8200 8201 Thanks to Loganaden Velvindron for help. 8202 8203 configure.ac | 41 +++++++++++++++++++++++++++ 8204 src/xz/Makefile.am | 2 +- 8205 src/xz/file_io.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8206 src/xz/file_io.h | 6 ++++ 8207 src/xz/main.c | 18 ++++++++++++ 8208 src/xz/private.h | 4 +++ 8209 6 files changed, 151 insertions(+), 1 deletion(-) 8210 8211commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e 8212Author: Lasse Collin <lasse.collin@tukaani.org> 8213Date: 2015-03-31 21:12:30 +0300 8214 8215 Fix bugs and otherwise improve ax_check_capsicum.m4. 8216 8217 AU_ALIAS was removed because the new version is incompatible 8218 with the old version. 8219 8220 It no longer checks for <sys/capability.h> separately. 8221 It's enough to test for it as part of AC_CHECK_DECL. 8222 The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and 8223 HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded. 8224 HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough. 8225 8226 It no longer does a useless search for the Capsicum library 8227 if the header wasn't found. 8228 8229 Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying 8230 the argument omitted the default action but the given action 8231 wasn't used instead. 8232 8233 AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum 8234 support is found. Previously it was part of the default 8235 ACTION-IF-FOUND which a custom action would override. Now 8236 the default action only prepends ${CAPSICUM_LIB} to LIBS. 8237 8238 The documentation was updated. 8239 8240 Since there as no serial number, "#serial 2" was added. 8241 8242 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------ 8243 1 file changed, 51 insertions(+), 52 deletions(-) 8244 8245commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac 8246Author: Lasse Collin <lasse.collin@tukaani.org> 8247Date: 2015-03-31 19:20:24 +0300 8248 8249 Add m4/ax_check_capsicum.m4 for detecting Capsicum support. 8250 8251 The file was loaded from this web page: 8252 https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4 8253 8254 Thanks to Loganaden Velvindron for pointing it out for me. 8255 8256 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 8257 1 file changed, 86 insertions(+) 8258 8259commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e 8260Author: Lasse Collin <lasse.collin@tukaani.org> 8261Date: 2015-03-30 22:44:02 +0300 8262 8263 Bump version to 5.3.0alpha and soname to 5.3.99. 8264 8265 The idea of 99 is that it looks a bit weird in this context. 8266 For new features there's no API/ABI stability in devel versions. 8267 8268 src/liblzma/Makefile.am | 2 +- 8269 src/liblzma/api/lzma/version.h | 6 +++--- 8270 2 files changed, 4 insertions(+), 4 deletions(-) 8271 8272commit eccd8155e107c5ada03d13e7730675cdf1a44ddc 8273Author: Lasse Collin <lasse.collin@tukaani.org> 8274Date: 2015-03-29 22:14:47 +0300 8275 8276 Update THANKS. 8277 8278 THANKS | 1 + 8279 1 file changed, 1 insertion(+) 8280 8281commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00 8282Author: Lasse Collin <lasse.collin@tukaani.org> 8283Date: 2015-03-29 22:13:48 +0300 8284 8285 Fix the detection of installed RAM on QNX. 8286 8287 The earlier version compiled but didn't actually work 8288 since sysconf(_SC_PHYS_PAGES) always fails (or so I was told). 8289 8290 Thanks to Ole André Vadla Ravnås for the patch and testing. 8291 8292 m4/tuklib_physmem.m4 | 6 +++--- 8293 src/common/tuklib_physmem.c | 14 +++++++++++++- 8294 2 files changed, 16 insertions(+), 4 deletions(-) 8295 8296commit 4c544d2410903d38402221cb783ed85585b6a007 8297Author: Lasse Collin <lasse.collin@tukaani.org> 8298Date: 2015-03-27 22:39:07 +0200 8299 8300 Fix CPU core count detection on QNX. 8301 8302 It tried to use sysctl() on QNX but 8303 - it broke the build because sysctl() needs -lsocket on QNX; 8304 - sysctl() doesn't work for detecting the core count on QNX 8305 even if it compiled. 8306 8307 sysconf() works. An alternative would have been to use 8308 QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>. 8309 8310 Thanks to Ole André Vadla Ravnås. 8311 8312 m4/tuklib_cpucores.m4 | 15 +++++++++++---- 8313 1 file changed, 11 insertions(+), 4 deletions(-) 8314 8315commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3 8316Author: Lasse Collin <lasse.collin@tukaani.org> 8317Date: 2015-03-07 22:05:57 +0200 8318 8319 xz: size_t/uint32_t cleanup in options.c. 8320 8321 src/xz/options.c | 12 ++++++------ 8322 1 file changed, 6 insertions(+), 6 deletions(-) 8323 8324commit 8bcca29a65335fd679c13814b70b35b68fa5daed 8325Author: Lasse Collin <lasse.collin@tukaani.org> 8326Date: 2015-03-07 22:04:23 +0200 8327 8328 xz: Fix a comment and silence a warning in message.c. 8329 8330 src/xz/message.c | 5 +++-- 8331 1 file changed, 3 insertions(+), 2 deletions(-) 8332 8333commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b 8334Author: Lasse Collin <lasse.collin@tukaani.org> 8335Date: 2015-03-07 22:01:00 +0200 8336 8337 liblzma: Silence more uint32_t vs. size_t warnings. 8338 8339 src/liblzma/lz/lz_encoder.c | 2 +- 8340 src/liblzma/lzma/lzma_encoder.c | 2 +- 8341 2 files changed, 2 insertions(+), 2 deletions(-) 8342 8343commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34 8344Author: Lasse Collin <lasse.collin@tukaani.org> 8345Date: 2015-03-07 19:54:00 +0200 8346 8347 xz: Make arg_count an unsigned int to silence a warning. 8348 8349 Actually the value of arg_count cannot exceed INT_MAX 8350 but it's nicer as an unsigned int. 8351 8352 src/xz/args.h | 2 +- 8353 src/xz/main.c | 2 +- 8354 2 files changed, 2 insertions(+), 2 deletions(-) 8355 8356commit f6ec46801588b1be29c07c9db98558b521304002 8357Author: Lasse Collin <lasse.collin@tukaani.org> 8358Date: 2015-03-07 19:33:17 +0200 8359 8360 liblzma: Fix a warning in index.c. 8361 8362 src/liblzma/common/index.c | 4 +++- 8363 1 file changed, 3 insertions(+), 1 deletion(-) 8364 8365commit a24518971cc621315af142dd3bb7614fab04ad27 8366Author: Lasse Collin <lasse.collin@tukaani.org> 8367Date: 2015-02-26 20:46:14 +0200 8368 8369 Build: Fix a CR+LF problem when running autoreconf -fi on OS/2. 8370 8371 build-aux/version.sh | 2 +- 8372 1 file changed, 1 insertion(+), 1 deletion(-) 8373 8374commit dec11497a71518423b5ff0e759100cf8aadf6c7b 8375Author: Lasse Collin <lasse.collin@tukaani.org> 8376Date: 2015-02-26 16:53:44 +0200 8377 8378 Bump version and soname for 5.2.1. 8379 8380 src/liblzma/Makefile.am | 2 +- 8381 src/liblzma/api/lzma/version.h | 2 +- 8382 2 files changed, 2 insertions(+), 2 deletions(-) 8383 8384commit 29e39c79975ab89ee5dd671e97064534a9f3a649 8385Author: Lasse Collin <lasse.collin@tukaani.org> 8386Date: 2015-02-26 13:01:09 +0200 8387 8388 Update NEWS for 5.2.1. 8389 8390 NEWS | 14 ++++++++++++++ 8391 1 file changed, 14 insertions(+) 8392 8393commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd 8394Author: Lasse Collin <lasse.collin@tukaani.org> 8395Date: 2015-02-22 19:38:48 +0200 8396 8397 xz: Use pipe2() if available. 8398 8399 configure.ac | 4 ++-- 8400 src/xz/file_io.c | 9 ++++++++- 8401 2 files changed, 10 insertions(+), 3 deletions(-) 8402 8403commit 117d962685c72682c63edc9bb765367189800202 8404Author: Lasse Collin <lasse.collin@tukaani.org> 8405Date: 2015-02-21 23:40:26 +0200 8406 8407 liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode. 8408 8409 The bug was added in the commit 8410 f48fce093b07aeda95c18850f5e086d9f2383380 and thus 8411 affected 5.1.4beta and 5.2.0. Luckily the bug cannot 8412 cause data corruption or other nasty things. 8413 8414 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +- 8415 1 file changed, 1 insertion(+), 1 deletion(-) 8416 8417commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719 8418Author: Lasse Collin <lasse.collin@tukaani.org> 8419Date: 2015-02-21 23:00:19 +0200 8420 8421 xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick. 8422 8423 Now it reads the old flags instead of blindly setting O_NONBLOCK. 8424 The old code may have worked correctly, but this is better. 8425 8426 src/xz/file_io.c | 16 +++++++++++----- 8427 1 file changed, 11 insertions(+), 5 deletions(-) 8428 8429commit 2205bb5853098aea36a56df6f5747037175f66b4 8430Author: Lasse Collin <lasse.collin@tukaani.org> 8431Date: 2015-02-10 15:29:34 +0200 8432 8433 Update THANKS. 8434 8435 THANKS | 1 + 8436 1 file changed, 1 insertion(+) 8437 8438commit d935b0cdf3db440269b9d952b2b281b18f8c7b08 8439Author: Lasse Collin <lasse.collin@tukaani.org> 8440Date: 2015-02-10 15:28:30 +0200 8441 8442 tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available. 8443 8444 In FreeBSD, cpuset_getaffinity() is the preferred way to get 8445 the number of available cores. 8446 8447 Thanks to Rui Paulo for the patch. I edited it slightly, but 8448 hopefully I didn't break anything. 8449 8450 m4/tuklib_cpucores.m4 | 23 ++++++++++++++++++++++- 8451 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++ 8452 2 files changed, 40 insertions(+), 1 deletion(-) 8453 8454commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560 8455Author: Lasse Collin <lasse.collin@tukaani.org> 8456Date: 2015-02-09 22:08:37 +0200 8457 8458 xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp. 8459 8460 Thanks to Rui Paulo for the fix. 8461 8462 src/scripts/xzdiff.in | 7 ++++++- 8463 1 file changed, 6 insertions(+), 1 deletion(-) 8464 8465commit b9a5b6b7a29029680af733082b6a46e0fc01623a 8466Author: Lasse Collin <lasse.collin@tukaani.org> 8467Date: 2015-02-03 21:45:53 +0200 8468 8469 Add a few casts to tuklib_integer.h to silence possible warnings. 8470 8471 I heard that Visual Studio 2013 gave warnings without the casts. 8472 8473 Thanks to Gabi Davar. 8474 8475 src/common/tuklib_integer.h | 24 ++++++++++++------------ 8476 1 file changed, 12 insertions(+), 12 deletions(-) 8477 8478commit c45757135f40e4a0de730ba5fff0100219493982 8479Author: Lasse Collin <lasse.collin@tukaani.org> 8480Date: 2015-01-26 21:24:39 +0200 8481 8482 liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method. 8483 8484 src/liblzma/common/memcmplen.h | 15 ++++++++++----- 8485 1 file changed, 10 insertions(+), 5 deletions(-) 8486 8487commit 3c500174ed5485f550972a2a6109c361e875f069 8488Author: Lasse Collin <lasse.collin@tukaani.org> 8489Date: 2015-01-26 20:40:16 +0200 8490 8491 Update THANKS. 8492 8493 THANKS | 1 + 8494 1 file changed, 1 insertion(+) 8495 8496commit fec88d41e672d9e197c9442aecf02bd0dfa6d516 8497Author: Lasse Collin <lasse.collin@tukaani.org> 8498Date: 2015-01-26 20:39:28 +0200 8499 8500 liblzma: Silence harmless Valgrind errors. 8501 8502 Thanks to Torsten Rupp for reporting this. I had 8503 forgotten to run Valgrind before the 5.2.0 release. 8504 8505 src/liblzma/lz/lz_encoder.c | 6 ++++++ 8506 1 file changed, 6 insertions(+) 8507 8508commit a9b45badfec0928d20a27c7176c005fa637f7d1e 8509Author: Lasse Collin <lasse.collin@tukaani.org> 8510Date: 2015-01-09 21:50:19 +0200 8511 8512 xz: Fix comments. 8513 8514 src/xz/file_io.c | 12 ++++++++---- 8515 1 file changed, 8 insertions(+), 4 deletions(-) 8516 8517commit 541aee6dd4aa97a809aba281475a21b641bb89e2 8518Author: Lasse Collin <lasse.collin@tukaani.org> 8519Date: 2015-01-09 21:35:06 +0200 8520 8521 Update THANKS. 8522 8523 THANKS | 1 + 8524 1 file changed, 1 insertion(+) 8525 8526commit 4170edc914655310d2363baccf5e615e09b04911 8527Author: Lasse Collin <lasse.collin@tukaani.org> 8528Date: 2015-01-09 21:34:06 +0200 8529 8530 xz: Don't fail if stdout doesn't support O_NONBLOCK. 8531 8532 This is similar to the case with stdin. 8533 8534 Thanks to Brad Smith for the bug report and testing 8535 on OpenBSD. 8536 8537 src/xz/file_io.c | 36 +++++++++++++++--------------------- 8538 1 file changed, 15 insertions(+), 21 deletions(-) 8539 8540commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d 8541Author: Lasse Collin <lasse.collin@tukaani.org> 8542Date: 2015-01-07 19:18:20 +0200 8543 8544 xz: Fix a memory leak in DOS-specific code. 8545 8546 src/xz/file_io.c | 2 ++ 8547 1 file changed, 2 insertions(+) 8548 8549commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea 8550Author: Lasse Collin <lasse.collin@tukaani.org> 8551Date: 2015-01-07 19:08:06 +0200 8552 8553 xz: Don't fail if stdin doesn't support O_NONBLOCK. 8554 8555 It's a problem at least on OpenBSD which doesn't support 8556 O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's 8557 a problem on other OSes too since this behavior is allowed 8558 in POSIX-1.2008. 8559 8560 The code relying on this behavior was committed in June 2013 8561 and included in 5.1.3alpha released on 2013-10-26. Clearly 8562 the development releases only get limited testing. 8563 8564 src/xz/file_io.c | 18 +++++++----------- 8565 1 file changed, 7 insertions(+), 11 deletions(-) 8566 8567commit d2d484647d9d9d679f03c75abb0404f67069271c 8568Author: Lasse Collin <lasse.collin@tukaani.org> 8569Date: 2015-01-06 20:30:15 +0200 8570 8571 Tests: Don't hide unexpected error messages in test_files.sh. 8572 8573 Hiding them makes no sense since normally there's no error 8574 when testing the "good" files. With "bad" files errors are 8575 expected and then it makes sense to keep the messages hidden. 8576 8577 tests/test_files.sh | 4 ++-- 8578 1 file changed, 2 insertions(+), 2 deletions(-) 8579 8580commit aae6a6aeda51cf94a47e39ad624728f9bee75e30 8581Author: Lasse Collin <lasse.collin@tukaani.org> 8582Date: 2014-12-30 11:17:16 +0200 8583 8584 Update Solaris notes in INSTALL. 8585 8586 Mention the possible "make check" failure on Solaris in the 8587 Solaris-specific section of INSTALL. It was already in 8588 section 4.5 but it is better mention it in the OS-specific 8589 section too. 8590 8591 INSTALL | 4 ++++ 8592 1 file changed, 4 insertions(+) 8593 8594commit 7815112153178800a3521b9f31960e7cdc26cfba 8595Author: Lasse Collin <lasse.collin@tukaani.org> 8596Date: 2014-12-26 12:00:05 +0200 8597 8598 Build: POSIX shell isn't required if scripts are disabled. 8599 8600 INSTALL | 3 ++- 8601 configure.ac | 2 +- 8602 2 files changed, 3 insertions(+), 2 deletions(-) 8603 8604commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a 8605Author: Lasse Collin <lasse.collin@tukaani.org> 8606Date: 2014-12-21 20:48:37 +0200 8607 8608 DOS: Update Makefile. 8609 8610 dos/Makefile | 1 + 8611 1 file changed, 1 insertion(+) 8612 8613commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e 8614Author: Lasse Collin <lasse.collin@tukaani.org> 8615Date: 2014-12-21 19:50:38 +0200 8616 8617 Windows: Fix bin_i486 to bin_i686 in build.bash. 8618 8619 windows/build.bash | 2 +- 8620 1 file changed, 1 insertion(+), 1 deletion(-) 8621 8622commit cbafa710918195dbba3db02c3fab4f0538235206 8623Author: Lasse Collin <lasse.collin@tukaani.org> 8624Date: 2014-12-21 18:58:44 +0200 8625 8626 Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c. 8627 8628 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++---- 8629 1 file changed, 26 insertions(+), 4 deletions(-) 8630 8631commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a 8632Author: Lasse Collin <lasse.collin@tukaani.org> 8633Date: 2014-12-21 18:56:44 +0200 8634 8635 Docs: Update docs/examples/00_README.txt. 8636 8637 doc/examples/00_README.txt | 4 ++++ 8638 1 file changed, 4 insertions(+) 8639 8640commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6 8641Author: Lasse Collin <lasse.collin@tukaani.org> 8642Date: 2014-12-21 18:11:17 +0200 8643 8644 Bump version and soname for 5.2.0. 8645 8646 I know that soname != app version, but I skip AGE=1 8647 in -version-info to make the soname match the liblzma 8648 version anyway. It doesn't hurt anything as long as 8649 it doesn't conflict with library versioning rules. 8650 8651 src/liblzma/Makefile.am | 2 +- 8652 src/liblzma/api/lzma/version.h | 6 +++--- 8653 src/liblzma/liblzma.map | 2 +- 8654 3 files changed, 5 insertions(+), 5 deletions(-) 8655