]>
wimlib.net Git - wimlib/log
Eric Biggers [Thu, 2 Oct 2014 23:42:49 +0000 (18:42 -0500)]
v1.7.2
Eric Biggers [Sun, 28 Sep 2014 03:55:57 +0000 (22:55 -0500)]
Workaround for WOF incompatibility
If a stream has compressed_size == uncompressed_size, WOF assumes it's
uncompressed. As a workaround, we need to re-write the stream as uncompressed
if this ever happens.
This requires adjusting the DONE_WITH_FILE messages to be fired after writing
each stream, not after reading each stream.
We also need to loosen the check for whether the input stream is in a solid
block or not.
Finally, this commit also makes the DONE_WITH_FILE messages work in more cases
--- when appending to a WIM, and when the file hashes are already known.
Eric Biggers [Sat, 27 Sep 2014 22:23:51 +0000 (17:23 -0500)]
wimlib-imagex: Don't open base or template WIMs for write access
Eric Biggers [Sat, 27 Sep 2014 14:39:01 +0000 (09:39 -0500)]
Update COPYING
- Use "or later" clause for GPLv3 and LGPLv3
- Make LGPL exception more general
Eric Biggers [Sat, 27 Sep 2014 14:38:49 +0000 (09:38 -0500)]
programs/wgetopt.c: Adjust license to reflect this not being part of the library
Eric Biggers [Sat, 27 Sep 2014 14:37:35 +0000 (09:37 -0500)]
Don't bother with copyright statement in header file
Eric Biggers [Sat, 27 Sep 2014 14:37:07 +0000 (09:37 -0500)]
Use LGPLv3+ for src/*.c
Eric Biggers [Fri, 26 Sep 2014 04:01:05 +0000 (23:01 -0500)]
Update NEWS
Eric Biggers [Fri, 26 Sep 2014 04:00:32 +0000 (23:00 -0500)]
win32_{apply,capture}.c: workaround for SACL_SECURITY_INFORMATION quirk
Eric Biggers [Fri, 26 Sep 2014 02:11:51 +0000 (21:11 -0500)]
Update NEWS
Eric Biggers [Thu, 25 Sep 2014 04:21:13 +0000 (23:21 -0500)]
compress_parallel.c: Smarter setting of chunks_per_msg
Useful when compressing small chunks with many threads.
Eric Biggers [Thu, 25 Sep 2014 03:46:38 +0000 (22:46 -0500)]
make_reparse_data(): No changes until success ensured
Eric Biggers [Thu, 25 Sep 2014 03:41:34 +0000 (22:41 -0500)]
win32_capture.c: Random cleanups
Eric Biggers [Mon, 22 Sep 2014 03:38:53 +0000 (22:38 -0500)]
win32_apply.c: Add workaround for setting ACL auto-inherit bits
Eric Biggers [Sun, 21 Sep 2014 20:33:05 +0000 (15:33 -0500)]
A few minor compressor cleanups
Eric Biggers [Sun, 14 Sep 2014 17:27:16 +0000 (12:27 -0500)]
lzx-compress.c: Fix for lazy parsing and multiple blocks
Eric Biggers [Sun, 14 Sep 2014 05:14:07 +0000 (00:14 -0500)]
Compression updates
- Faster searching for repeat offset matches
- Lazy updates of adaptive state in near-optimal parsing
- Faster LZX near-optimal parsing
- Better LZX lazy parsing
- Faster XPRESS near-optimal parsing
- Faster LZMS near-optimal parsing
- Faster LZMS match/literal output
- Slightly faster LZMS decompression
- Cleanups
Eric Biggers [Mon, 8 Sep 2014 00:10:55 +0000 (19:10 -0500)]
win32_capture.c: Fix format string
Eric Biggers [Sun, 7 Sep 2014 05:22:08 +0000 (00:22 -0500)]
lzx-compress.c: Avoid unnecessary branch in match cost calculation
Eric Biggers [Sun, 7 Sep 2014 05:01:38 +0000 (00:01 -0500)]
lzx_write_match(): One-branch check for aligned offset case
Eric Biggers [Sun, 7 Sep 2014 02:47:47 +0000 (21:47 -0500)]
lzx-compress.c: Optimize output of compressed Huffman codes
Eric Biggers [Sun, 7 Sep 2014 01:49:02 +0000 (20:49 -0500)]
lzx_decompress_block(): One-branch check for aligned offset case
Eric Biggers [Sat, 6 Sep 2014 23:25:00 +0000 (18:25 -0500)]
wimverify: Add --nocheck option
Eric Biggers [Sat, 6 Sep 2014 22:44:59 +0000 (17:44 -0500)]
lzx-decompress.c: Optimize lzx_read_codeword_lens()
Eric Biggers [Sat, 6 Sep 2014 21:40:56 +0000 (16:40 -0500)]
lzx-decompress.c: Inline and optimize lzx_decode_match()
Eric Biggers [Sat, 6 Sep 2014 20:30:34 +0000 (15:30 -0500)]
read_huffsym(): Use 'unsigned' for 'entry' and 'key_bits'
Slight performance improvement.
Eric Biggers [Sat, 6 Sep 2014 18:05:43 +0000 (13:05 -0500)]
xpress-decompress.c: Performance tweaks
Eric Biggers [Sat, 6 Sep 2014 17:40:58 +0000 (12:40 -0500)]
Move XPRESS_TABLEBITS to xpress-decompress.c
Eric Biggers [Sat, 6 Sep 2014 16:54:16 +0000 (11:54 -0500)]
lz_copy(): Unroll first iteration
Most matches are short, so 1 iteration is the most common case.
Use separate branch for this.
Eric Biggers [Sat, 6 Sep 2014 06:08:03 +0000 (01:08 -0500)]
lzx-decompress.c: Don't allow using offsets of 0
This can happen if an uncompressed block is present, since then the match
offset LRU queue is filled directly from the input buffer. Too-large
offsets were already checked later, but offsets of 0 would cause
uninitialized memory to remain in the output buffer.
Eric Biggers [Sat, 6 Sep 2014 06:07:46 +0000 (01:07 -0500)]
Update input_bitstream
- Very slightly more efficient
- Don't access any internal members from LZX decompressor
Eric Biggers [Sat, 6 Sep 2014 05:16:39 +0000 (00:16 -0500)]
configure.ac: Remove unnused variable SHA1_SOURCES
Eric Biggers [Sat, 6 Sep 2014 05:08:47 +0000 (00:08 -0500)]
update_image.c: Don't set RP_FIX until all commands have finished
Eric Biggers [Sat, 6 Sep 2014 04:56:20 +0000 (23:56 -0500)]
win32_capture.c: Use volume ID as device number
Eric Biggers [Sat, 6 Sep 2014 03:39:27 +0000 (22:39 -0500)]
update_image.c: Remove update1()
This makes the three wrapper functions more obvious at first glance.
Eric Biggers [Sat, 6 Sep 2014 03:33:08 +0000 (22:33 -0500)]
xml.c: Minor cleanup
Eric Biggers [Sat, 6 Sep 2014 03:26:03 +0000 (22:26 -0500)]
xml.c: Simplify node_get_string()
Eric Biggers [Sat, 6 Sep 2014 02:36:43 +0000 (21:36 -0500)]
wimlib.h: Add section about backwards compatibility
Eric Biggers [Thu, 4 Sep 2014 04:43:53 +0000 (23:43 -0500)]
Add WIMLIB_ERR_FVE_LOCKED_VOLUME
Eric Biggers [Thu, 4 Sep 2014 04:37:04 +0000 (23:37 -0500)]
read_capture_config(): Don't warn about compression sections
Eric Biggers [Thu, 4 Sep 2014 04:20:53 +0000 (23:20 -0500)]
Remove WINDOWS_LDADD
Linking with shlwapi is no longer needed.
Eric Biggers [Thu, 4 Sep 2014 03:52:23 +0000 (22:52 -0500)]
README, configure.ac: Updates regarding building wimlib
The only real changes are:
* --without-fuse by default on non-Linux UNIX
* Explicit check for libattr when libfuse enabled
All other changes are documentation improvements.
Eric Biggers [Tue, 2 Sep 2014 01:49:28 +0000 (20:49 -0500)]
Update wimoptimize documentation
Eric Biggers [Sat, 30 Aug 2014 17:05:30 +0000 (12:05 -0500)]
Support for file exclusions via progress function
Eric Biggers [Sat, 30 Aug 2014 00:09:40 +0000 (19:09 -0500)]
Update make-releases
Eric Biggers [Sat, 30 Aug 2014 00:03:52 +0000 (19:03 -0500)]
Update NEWS
Eric Biggers [Fri, 29 Aug 2014 03:31:13 +0000 (22:31 -0500)]
Factor out lz_repsearch() and also use for LZMS
Eric Biggers [Fri, 29 Aug 2014 00:50:39 +0000 (19:50 -0500)]
Update NEWS
Eric Biggers [Fri, 29 Aug 2014 00:45:34 +0000 (19:45 -0500)]
Merge branch 'wimboot_fast'
Eric Biggers [Thu, 28 Aug 2014 07:06:39 +0000 (02:06 -0500)]
win32_apply.c: set_short_name(): Zero buffer
Eric Biggers [Thu, 28 Aug 2014 07:06:39 +0000 (02:06 -0500)]
win32_apply.c: set_short_name(): Zero buffer
Eric Biggers [Thu, 28 Aug 2014 02:53:02 +0000 (21:53 -0500)]
Merge remote-tracking branch 'origin/master' into wimboot_fast
Eric Biggers [Thu, 28 Aug 2014 02:41:39 +0000 (21:41 -0500)]
Support file counts for extract file structure and metadata progress
Eric Biggers [Thu, 28 Aug 2014 00:56:12 +0000 (19:56 -0500)]
Fix [PrepopulateList] handling
Eric Biggers [Wed, 27 Aug 2014 04:09:18 +0000 (23:09 -0500)]
wimboot_set_pointer(): No unnecessary file open
Eric Biggers [Wed, 27 Aug 2014 03:48:00 +0000 (22:48 -0500)]
Make generic extraction code aware of external backing and optimize on Win32 side
Eric Biggers [Wed, 27 Aug 2014 01:41:06 +0000 (20:41 -0500)]
win32_apply.c: set_short_name(): Increase minimum buffer size
Eric Biggers [Sun, 24 Aug 2014 22:44:29 +0000 (17:44 -0500)]
Update NEWS
Eric Biggers [Sat, 23 Aug 2014 17:53:49 +0000 (12:53 -0500)]
lzx-compress.c: Faster extension of repeat offset matches
Eric Biggers [Thu, 21 Aug 2014 04:59:12 +0000 (23:59 -0500)]
xpress-compress.c: Adjust condition for using binary tree matchfinder
Eric Biggers [Thu, 21 Aug 2014 04:41:27 +0000 (23:41 -0500)]
wimlib_get_error_string(): Fix return value for some invalid numbers
The function was returning NULL for unknown error codes in the range of the
array. But it should return "Unknown error" for such codes.
Eric Biggers [Thu, 21 Aug 2014 04:20:44 +0000 (23:20 -0500)]
wimlib.h: Various minor doc improvements
Eric Biggers [Wed, 20 Aug 2014 02:35:51 +0000 (21:35 -0500)]
wimlib_get_compressor_needed_memory(): return 0 on invalid max_block_size
Eric Biggers [Wed, 20 Aug 2014 02:17:29 +0000 (21:17 -0500)]
Make create_decompressor() checks of max_block_size consistent
Eric Biggers [Wed, 20 Aug 2014 02:04:39 +0000 (21:04 -0500)]
wimlib_create_{de,}compressor(): Check ctype first
Eric Biggers [Wed, 20 Aug 2014 02:03:58 +0000 (21:03 -0500)]
wimlib_create_decompressor(): Fail if max_block_size == 0
Eric Biggers [Wed, 20 Aug 2014 01:39:38 +0000 (20:39 -0500)]
wimlib.h: Improve documentation for compression API
Eric Biggers [Tue, 19 Aug 2014 03:48:53 +0000 (22:48 -0500)]
LZX: Allow max_block_size not a power of 2
This should be treated as an internal of LZX.
Eric Biggers [Tue, 19 Aug 2014 03:45:47 +0000 (22:45 -0500)]
wimlib_decompress(): Check uncompressed_size
Eric Biggers [Tue, 19 Aug 2014 03:41:34 +0000 (22:41 -0500)]
lz_*.c: Use UINT32_MAX for default max_match_len
This avoids max_match_len < min_match_len on extremely small windows.
Eric Biggers [Tue, 19 Aug 2014 03:38:48 +0000 (22:38 -0500)]
wimlib_compress(): Return 0 if uncompressed_size is invalid
Eric Biggers [Sun, 17 Aug 2014 21:58:18 +0000 (16:58 -0500)]
win32_apply.c: Use volume handle when enabling short names
Otherwise it doesn't work.
Eric Biggers [Sun, 17 Aug 2014 16:18:47 +0000 (11:18 -0500)]
win32_apply.c: Adjust short name behavior
- Try to enable short names on the volume if it seems to be necessary to set
short names.
- Without WIMLIB_EXTRACT_FLAG_STRICT_SHORT_NAMES, still warn about how many
short names could not be set.
Eric Biggers [Sun, 17 Aug 2014 05:33:47 +0000 (00:33 -0500)]
xpress-decompress.c: Remove unnecessary bitstream_ensure_bits()
Eric Biggers [Sun, 17 Aug 2014 04:11:20 +0000 (23:11 -0500)]
LZX, XPRESS: Use optimized write_bits() functions
For LZX, no handling of literal bytes is needed. Also, no padding at the end is
needed; omitting it improves the compression ratio slightly.
For XPRESS, no handling of bit counts > 16 is needed.
Eric Biggers [Sat, 16 Aug 2014 17:37:58 +0000 (12:37 -0500)]
Rate limit VERIFY_STREAMS progress messages
Eric Biggers [Sat, 16 Aug 2014 15:59:11 +0000 (10:59 -0500)]
win32_apply.c: Set WimBoot=1 in extracted registry
Eric Biggers [Sat, 16 Aug 2014 01:01:32 +0000 (20:01 -0500)]
extract.c: Simplify mkdir_if_needed()
Just go ahead and try mkdir(). If it works or it fails with EEXIST,
we're done. (On Windows, a quirk also requires a check for EACCES.)
This aoids the need to call tstat(), which on Windows was really
_wstat(), which is horribly broken: it will fail on paths ending in a
slash.
Eric Biggers [Sat, 16 Aug 2014 00:36:13 +0000 (19:36 -0500)]
README: update COMPRESSION RATIO section
Eric Biggers [Fri, 15 Aug 2014 02:48:18 +0000 (21:48 -0500)]
Set version to 1.7.2-BETA
Eric Biggers [Thu, 14 Aug 2014 04:04:58 +0000 (23:04 -0500)]
More lz_hash_chains, lz_binary_trees performance improvements
- Use a multiplicative hash function. In practice it's as good as the
CRC32-based hash function previously used, but it's faster to compute
and requires no static data.
- Use slightly different logic that avoids the need to special-case the
extension of matches from 'nice_len' to 'max_len'.
- Faster skip_positions() by avoiding unnecessary calculations.
- Fast match length extension on x86 using unaligned word accesses and
trailing zero count.
Eric Biggers [Thu, 7 Aug 2014 05:05:43 +0000 (00:05 -0500)]
debian/control: Fix Depends
Eric Biggers [Thu, 7 Aug 2014 04:32:41 +0000 (23:32 -0500)]
ntfs-3g_capture.c: ntfs_get_ntfs_attrib() gets cpu-endian value
Eric Biggers [Thu, 7 Aug 2014 03:36:38 +0000 (22:36 -0500)]
v1.7.1
Eric Biggers [Thu, 7 Aug 2014 03:13:36 +0000 (22:13 -0500)]
decompress_common.c: Don't include error.h
Eric Biggers [Thu, 7 Aug 2014 02:50:36 +0000 (21:50 -0500)]
lzx-common.c: Use sle32 for target in e8 translation
Eric Biggers [Thu, 7 Aug 2014 02:50:04 +0000 (21:50 -0500)]
Delete useless 1-byte explicit endian types
Eric Biggers [Thu, 7 Aug 2014 02:48:41 +0000 (21:48 -0500)]
Add sparse annotations for endianness checking
Eric Biggers [Wed, 6 Aug 2014 23:58:10 +0000 (18:58 -0500)]
Update README and README.WINDOWS
Eric Biggers [Wed, 6 Aug 2014 03:26:38 +0000 (22:26 -0500)]
LZX decompression: Cleanup
No change in behavior.
Eric Biggers [Wed, 6 Aug 2014 02:00:00 +0000 (21:00 -0500)]
mount_image.c: Cleanup
- Improve some comments.
- Don't use the T() macro. The mount code doesn't run on Windows.
- Make sure we don't accidentally return errno=0.
- Return WIMLIB_ERR_NO_FILENAME if read-write mounting WIM that has no
backing file.
- inode_resolve_streams() already does nothing if inode->i_resolved
- create_dentry() is never called with NULL 'dentry_ret'
- attr_timeout=0 was in FUSE options two times!
- 'have_progfunc' argument to create_message_queue() was always true; get
rid of it.
- Use geteuid() rather than getuid() when testing for root
Eric Biggers [Tue, 5 Aug 2014 02:16:46 +0000 (21:16 -0500)]
read_wim_header(): Check return value of lseek()
Eric Biggers [Tue, 5 Aug 2014 02:07:07 +0000 (21:07 -0500)]
ntfs-3g_capture.c: Remove a never-executed statement
Eric Biggers [Tue, 5 Aug 2014 02:02:14 +0000 (21:02 -0500)]
capture_common.c: Add missing breaks in switch stmt in do_capture_progress()
No effect because EXCLUDE_VERBOSE is set whenever VERBOSE is, but these
should be there.
Eric Biggers [Tue, 5 Aug 2014 01:57:03 +0000 (20:57 -0500)]
extract.c: Fix dereference of NULL in memory exhausted path
found_lte can be NULL here if the call to new_lookup_table_entry()
failed.
Eric Biggers [Tue, 5 Aug 2014 01:46:24 +0000 (20:46 -0500)]
write.c: Fix handling of NULL context in stream_filtered()
A NULL filter_context is supposed to be valid and interpreted as "don't
filter anything". This case can't be triggered by wimlib-imagex, but it
might be possible via custom library calls.
Eric Biggers [Sun, 3 Aug 2014 23:46:11 +0000 (18:46 -0500)]
wim.h: Delete prototype for nonexistent function close_wim()
Eric Biggers [Sun, 3 Aug 2014 23:41:11 +0000 (18:41 -0500)]
win32_common.c: Remove code for windows version detection
This isn't used by anything anymore.
Eric Biggers [Sun, 3 Aug 2014 23:37:36 +0000 (18:37 -0500)]
xpress.h: Remove ENABLE_XPRESS_DEBUG
Neither XPRESS_DEBUG() nor XPRESS_ASSERT() is used anymore.
Eric Biggers [Sun, 3 Aug 2014 23:24:51 +0000 (18:24 -0500)]
debian/: wimlib9 => wimlib15
Should have been done for 1.7.0.