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