From e114502b2bc371e4a45449832cb69be036360722 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Wed, 19 Nov 2008 20:46:52 +0200 Subject: Oh well, big messy commit again. Some highlights: - Updated to the latest, probably final file format version. - Command line tool reworked to not use threads anymore. Threading will probably go into liblzma anyway. - Memory usage limit is now about 30 % for uncompression and about 90 % for compression. - Progress indicator with --verbose - Simplified --help and full --long-help - Upgraded to the last LGPLv2.1+ getopt_long from gnulib. - Some bug fixes --- tests/files/README | 12 +++++++++--- tests/files/bad-1-block_header-1.xz | Bin 64 -> 64 bytes tests/files/bad-1-block_header-2.xz | Bin 64 -> 64 bytes tests/files/bad-1-block_header-3.xz | Bin 68 -> 68 bytes tests/files/bad-1-block_header-4.xz | Bin 72 -> 76 bytes tests/files/bad-1-block_header-5.xz | Bin 0 -> 72 bytes tests/files/bad-1-check-crc32.xz | Bin 68 -> 68 bytes tests/files/bad-1-check-crc64.xz | Bin 72 -> 72 bytes tests/files/bad-1-check-sha256.xz | Bin 96 -> 96 bytes tests/files/bad-1-lzma2-1.xz | Bin 64 -> 64 bytes tests/files/bad-1-lzma2-2.xz | Bin 424 -> 424 bytes tests/files/bad-1-lzma2-3.xz | Bin 424 -> 424 bytes tests/files/bad-1-lzma2-4.xz | Bin 408 -> 408 bytes tests/files/bad-1-lzma2-5.xz | Bin 408 -> 408 bytes tests/files/bad-1-lzma2-6.xz | Bin 68 -> 68 bytes tests/files/bad-1-lzma2-7.xz | Bin 408 -> 408 bytes tests/files/bad-1-stream_flags-1.xz | Bin 68 -> 68 bytes tests/files/bad-1-stream_flags-2.xz | Bin 68 -> 68 bytes tests/files/bad-1-stream_flags-3.xz | Bin 68 -> 68 bytes tests/files/bad-1-vli-1.xz | Bin 72 -> 72 bytes tests/files/bad-1-vli-2.xz | Bin 72 -> 76 bytes tests/files/bad-2-compressed_data_padding.xz | Bin 92 -> 92 bytes tests/files/bad-2-index-1.xz | Bin 92 -> 92 bytes tests/files/bad-2-index-2.xz | Bin 92 -> 92 bytes tests/files/bad-2-index-3.xz | Bin 92 -> 92 bytes tests/files/bad-2-index-4.xz | Bin 92 -> 92 bytes tests/files/bad-2-index-5.xz | Bin 0 -> 92 bytes tests/files/good-1-3delta-lzma2.xz | Bin 528 -> 528 bytes tests/files/good-1-block_header-1.xz | Bin 72 -> 72 bytes tests/files/good-1-block_header-2.xz | Bin 68 -> 68 bytes tests/files/good-1-block_header-3.xz | Bin 68 -> 68 bytes tests/files/good-1-check-crc32.xz | Bin 68 -> 68 bytes tests/files/good-1-check-crc64.xz | Bin 72 -> 72 bytes tests/files/good-1-check-none.xz | Bin 64 -> 64 bytes tests/files/good-1-check-sha256.xz | Bin 96 -> 96 bytes tests/files/good-1-delta-lzma2.tiff.xz | Bin 51312 -> 51316 bytes tests/files/good-1-lzma2-1.xz | Bin 424 -> 424 bytes tests/files/good-1-lzma2-2.xz | Bin 424 -> 424 bytes tests/files/good-1-lzma2-3.xz | Bin 408 -> 408 bytes tests/files/good-1-sparc-lzma2.xz | Bin 2292 -> 2296 bytes tests/files/good-1-x86-lzma2.xz | Bin 1936 -> 1936 bytes tests/files/good-2-lzma2.xz | Bin 92 -> 92 bytes tests/files/unsupported-block_header.xz | Bin 68 -> 68 bytes tests/files/unsupported-check.xz | Bin 68 -> 68 bytes tests/files/unsupported-filter_flags-1.xz | Bin 68 -> 68 bytes tests/files/unsupported-filter_flags-2.xz | Bin 68 -> 68 bytes tests/files/unsupported-filter_flags-3.xz | Bin 68 -> 68 bytes 47 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 tests/files/bad-1-block_header-5.xz create mode 100644 tests/files/bad-2-index-5.xz (limited to 'tests/files') diff --git a/tests/files/README b/tests/files/README index 9818d3f1..8f0a73a7 100644 --- a/tests/files/README +++ b/tests/files/README @@ -172,11 +172,14 @@ bad-1-block_header-3.xz has wrong CRC32 in Block Header. - bad-1-block_header-4.xz has too big Compressed Size (2^63 bytes while - maximum is 2^63 - 4 bytes) in Block Header. It's important that the - file gets rejected due to invalid Compressed Size value; the decoder + bad-1-block_header-4.xz has too big Compressed Size in Block Header + (2^64 - 1 bytes while maximum is a little less, because the whole + Block must stay smaller than 2^64). It's important that the file + gets rejected due to invalid Compressed Size value; the decoder must not try decoding the Compressed Data field. + bad-1-block_header-5.xz has zero as Compressed Size in Block Header. + bad-2-index-1.xz has wrong Total Sizes in Index. bad-2-index-2.xz has wrong Uncompressed Sizes in Index. @@ -185,6 +188,9 @@ bad-2-index-4.xz wrong CRC32 in Index. + bad-2-index-5.xz has zero as Total Size. It is important that the file + gets rejected specifically due to Total Size having an invalid value. + bad-2-compressed_data_padding.xz has non-nul byte in the padding of the Compressed Data field of the first Block. diff --git a/tests/files/bad-1-block_header-1.xz b/tests/files/bad-1-block_header-1.xz index e126a419..d991536a 100644 Binary files a/tests/files/bad-1-block_header-1.xz and b/tests/files/bad-1-block_header-1.xz differ diff --git a/tests/files/bad-1-block_header-2.xz b/tests/files/bad-1-block_header-2.xz index e3e8166d..ae42ecf0 100644 Binary files a/tests/files/bad-1-block_header-2.xz and b/tests/files/bad-1-block_header-2.xz differ diff --git a/tests/files/bad-1-block_header-3.xz b/tests/files/bad-1-block_header-3.xz index 17955038..606cbd20 100644 Binary files a/tests/files/bad-1-block_header-3.xz and b/tests/files/bad-1-block_header-3.xz differ diff --git a/tests/files/bad-1-block_header-4.xz b/tests/files/bad-1-block_header-4.xz index be31ce04..e72dfbfc 100644 Binary files a/tests/files/bad-1-block_header-4.xz and b/tests/files/bad-1-block_header-4.xz differ diff --git a/tests/files/bad-1-block_header-5.xz b/tests/files/bad-1-block_header-5.xz new file mode 100644 index 00000000..96521129 Binary files /dev/null and b/tests/files/bad-1-block_header-5.xz differ diff --git a/tests/files/bad-1-check-crc32.xz b/tests/files/bad-1-check-crc32.xz index f8ec7d61..1ebe1310 100644 Binary files a/tests/files/bad-1-check-crc32.xz and b/tests/files/bad-1-check-crc32.xz differ diff --git a/tests/files/bad-1-check-crc64.xz b/tests/files/bad-1-check-crc64.xz index eb406ce6..cdb77093 100644 Binary files a/tests/files/bad-1-check-crc64.xz and b/tests/files/bad-1-check-crc64.xz differ diff --git a/tests/files/bad-1-check-sha256.xz b/tests/files/bad-1-check-sha256.xz index e33cee80..def7bff1 100644 Binary files a/tests/files/bad-1-check-sha256.xz and b/tests/files/bad-1-check-sha256.xz differ diff --git a/tests/files/bad-1-lzma2-1.xz b/tests/files/bad-1-lzma2-1.xz index f7ff6dd3..640f592e 100644 Binary files a/tests/files/bad-1-lzma2-1.xz and b/tests/files/bad-1-lzma2-1.xz differ diff --git a/tests/files/bad-1-lzma2-2.xz b/tests/files/bad-1-lzma2-2.xz index 3b279195..69ab07d4 100644 Binary files a/tests/files/bad-1-lzma2-2.xz and b/tests/files/bad-1-lzma2-2.xz differ diff --git a/tests/files/bad-1-lzma2-3.xz b/tests/files/bad-1-lzma2-3.xz index e1a20831..66f48c5d 100644 Binary files a/tests/files/bad-1-lzma2-3.xz and b/tests/files/bad-1-lzma2-3.xz differ diff --git a/tests/files/bad-1-lzma2-4.xz b/tests/files/bad-1-lzma2-4.xz index e0eb7aaa..ac970419 100644 Binary files a/tests/files/bad-1-lzma2-4.xz and b/tests/files/bad-1-lzma2-4.xz differ diff --git a/tests/files/bad-1-lzma2-5.xz b/tests/files/bad-1-lzma2-5.xz index 437aeed0..700464d5 100644 Binary files a/tests/files/bad-1-lzma2-5.xz and b/tests/files/bad-1-lzma2-5.xz differ diff --git a/tests/files/bad-1-lzma2-6.xz b/tests/files/bad-1-lzma2-6.xz index f87cab68..2bda0c4b 100644 Binary files a/tests/files/bad-1-lzma2-6.xz and b/tests/files/bad-1-lzma2-6.xz differ diff --git a/tests/files/bad-1-lzma2-7.xz b/tests/files/bad-1-lzma2-7.xz index 1a487ca7..8cc711c1 100644 Binary files a/tests/files/bad-1-lzma2-7.xz and b/tests/files/bad-1-lzma2-7.xz differ diff --git a/tests/files/bad-1-stream_flags-1.xz b/tests/files/bad-1-stream_flags-1.xz index fd77d474..6511773e 100644 Binary files a/tests/files/bad-1-stream_flags-1.xz and b/tests/files/bad-1-stream_flags-1.xz differ diff --git a/tests/files/bad-1-stream_flags-2.xz b/tests/files/bad-1-stream_flags-2.xz index a4a582ad..0c66b364 100644 Binary files a/tests/files/bad-1-stream_flags-2.xz and b/tests/files/bad-1-stream_flags-2.xz differ diff --git a/tests/files/bad-1-stream_flags-3.xz b/tests/files/bad-1-stream_flags-3.xz index f10b8d00..a9b1f983 100644 Binary files a/tests/files/bad-1-stream_flags-3.xz and b/tests/files/bad-1-stream_flags-3.xz differ diff --git a/tests/files/bad-1-vli-1.xz b/tests/files/bad-1-vli-1.xz index e2a08b9e..6514ab12 100644 Binary files a/tests/files/bad-1-vli-1.xz and b/tests/files/bad-1-vli-1.xz differ diff --git a/tests/files/bad-1-vli-2.xz b/tests/files/bad-1-vli-2.xz index 604e8186..c16941b4 100644 Binary files a/tests/files/bad-1-vli-2.xz and b/tests/files/bad-1-vli-2.xz differ diff --git a/tests/files/bad-2-compressed_data_padding.xz b/tests/files/bad-2-compressed_data_padding.xz index 1d0f58b7..382d0476 100644 Binary files a/tests/files/bad-2-compressed_data_padding.xz and b/tests/files/bad-2-compressed_data_padding.xz differ diff --git a/tests/files/bad-2-index-1.xz b/tests/files/bad-2-index-1.xz index 42efda0d..f51ed214 100644 Binary files a/tests/files/bad-2-index-1.xz and b/tests/files/bad-2-index-1.xz differ diff --git a/tests/files/bad-2-index-2.xz b/tests/files/bad-2-index-2.xz index ee5e89c2..d7d00ff3 100644 Binary files a/tests/files/bad-2-index-2.xz and b/tests/files/bad-2-index-2.xz differ diff --git a/tests/files/bad-2-index-3.xz b/tests/files/bad-2-index-3.xz index f51eaad8..62428b87 100644 Binary files a/tests/files/bad-2-index-3.xz and b/tests/files/bad-2-index-3.xz differ diff --git a/tests/files/bad-2-index-4.xz b/tests/files/bad-2-index-4.xz index 1b5b78e4..9cf2df65 100644 Binary files a/tests/files/bad-2-index-4.xz and b/tests/files/bad-2-index-4.xz differ diff --git a/tests/files/bad-2-index-5.xz b/tests/files/bad-2-index-5.xz new file mode 100644 index 00000000..0a792709 Binary files /dev/null and b/tests/files/bad-2-index-5.xz differ diff --git a/tests/files/good-1-3delta-lzma2.xz b/tests/files/good-1-3delta-lzma2.xz index 3edb4805..a0be1d00 100644 Binary files a/tests/files/good-1-3delta-lzma2.xz and b/tests/files/good-1-3delta-lzma2.xz differ diff --git a/tests/files/good-1-block_header-1.xz b/tests/files/good-1-block_header-1.xz index c0cc7200..fea5ad2f 100644 Binary files a/tests/files/good-1-block_header-1.xz and b/tests/files/good-1-block_header-1.xz differ diff --git a/tests/files/good-1-block_header-2.xz b/tests/files/good-1-block_header-2.xz index 5eb8575c..6b5dcb34 100644 Binary files a/tests/files/good-1-block_header-2.xz and b/tests/files/good-1-block_header-2.xz differ diff --git a/tests/files/good-1-block_header-3.xz b/tests/files/good-1-block_header-3.xz index 5e8dc78b..15653120 100644 Binary files a/tests/files/good-1-block_header-3.xz and b/tests/files/good-1-block_header-3.xz differ diff --git a/tests/files/good-1-check-crc32.xz b/tests/files/good-1-check-crc32.xz index 949a215d..6c89593d 100644 Binary files a/tests/files/good-1-check-crc32.xz and b/tests/files/good-1-check-crc32.xz differ diff --git a/tests/files/good-1-check-crc64.xz b/tests/files/good-1-check-crc64.xz index 6102c945..5a9915d2 100644 Binary files a/tests/files/good-1-check-crc64.xz and b/tests/files/good-1-check-crc64.xz differ diff --git a/tests/files/good-1-check-none.xz b/tests/files/good-1-check-none.xz index aab057d7..1e85faf3 100644 Binary files a/tests/files/good-1-check-none.xz and b/tests/files/good-1-check-none.xz differ diff --git a/tests/files/good-1-check-sha256.xz b/tests/files/good-1-check-sha256.xz index 141a4818..fdc556b6 100644 Binary files a/tests/files/good-1-check-sha256.xz and b/tests/files/good-1-check-sha256.xz differ diff --git a/tests/files/good-1-delta-lzma2.tiff.xz b/tests/files/good-1-delta-lzma2.tiff.xz index 744fb8d1..1f033bc5 100644 Binary files a/tests/files/good-1-delta-lzma2.tiff.xz and b/tests/files/good-1-delta-lzma2.tiff.xz differ diff --git a/tests/files/good-1-lzma2-1.xz b/tests/files/good-1-lzma2-1.xz index 96aff26e..d8d6489c 100644 Binary files a/tests/files/good-1-lzma2-1.xz and b/tests/files/good-1-lzma2-1.xz differ diff --git a/tests/files/good-1-lzma2-2.xz b/tests/files/good-1-lzma2-2.xz index 19631d48..7e8cdf1b 100644 Binary files a/tests/files/good-1-lzma2-2.xz and b/tests/files/good-1-lzma2-2.xz differ diff --git a/tests/files/good-1-lzma2-3.xz b/tests/files/good-1-lzma2-3.xz index 11c84ee6..c4c72be6 100644 Binary files a/tests/files/good-1-lzma2-3.xz and b/tests/files/good-1-lzma2-3.xz differ diff --git a/tests/files/good-1-sparc-lzma2.xz b/tests/files/good-1-sparc-lzma2.xz index 9111e39b..5c1c8600 100644 Binary files a/tests/files/good-1-sparc-lzma2.xz and b/tests/files/good-1-sparc-lzma2.xz differ diff --git a/tests/files/good-1-x86-lzma2.xz b/tests/files/good-1-x86-lzma2.xz index 4fbd0ee4..2c4a471a 100644 Binary files a/tests/files/good-1-x86-lzma2.xz and b/tests/files/good-1-x86-lzma2.xz differ diff --git a/tests/files/good-2-lzma2.xz b/tests/files/good-2-lzma2.xz index dd34b66a..bed5085c 100644 Binary files a/tests/files/good-2-lzma2.xz and b/tests/files/good-2-lzma2.xz differ diff --git a/tests/files/unsupported-block_header.xz b/tests/files/unsupported-block_header.xz index ee697e4d..38304429 100644 Binary files a/tests/files/unsupported-block_header.xz and b/tests/files/unsupported-block_header.xz differ diff --git a/tests/files/unsupported-check.xz b/tests/files/unsupported-check.xz index e2fe486b..c28355e7 100644 Binary files a/tests/files/unsupported-check.xz and b/tests/files/unsupported-check.xz differ diff --git a/tests/files/unsupported-filter_flags-1.xz b/tests/files/unsupported-filter_flags-1.xz index b4acab24..48b93731 100644 Binary files a/tests/files/unsupported-filter_flags-1.xz and b/tests/files/unsupported-filter_flags-1.xz differ diff --git a/tests/files/unsupported-filter_flags-2.xz b/tests/files/unsupported-filter_flags-2.xz index fa907dc2..c283359d 100644 Binary files a/tests/files/unsupported-filter_flags-2.xz and b/tests/files/unsupported-filter_flags-2.xz differ diff --git a/tests/files/unsupported-filter_flags-3.xz b/tests/files/unsupported-filter_flags-3.xz index 939ab5fe..26084984 100644 Binary files a/tests/files/unsupported-filter_flags-3.xz and b/tests/files/unsupported-filter_flags-3.xz differ -- cgit v1.2.3