wimlib
5 years agoSplit prefetch() into prefetchr() and prefetchw()
Eric Biggers [Sat, 19 Sep 2015 18:56:28 +0000 (13:56 -0500)]
Split prefetch() into prefetchr() and prefetchw()

5 years agosystem compression: force bootloader-accessed files to uncompressed if image is not...
Eric Biggers [Fri, 25 Sep 2015 00:57:06 +0000 (19:57 -0500)]
system compression: force bootloader-accessed files to uncompressed if image is not Windows 10

5 years agosystem compression: add several more exclusion patterns
Eric Biggers [Fri, 25 Sep 2015 00:57:01 +0000 (19:57 -0500)]
system compression: add several more exclusion patterns

5 years agoUpdate NEWS
Eric Biggers [Thu, 24 Sep 2015 04:05:50 +0000 (23:05 -0500)]
Update NEWS

5 years agosystem compression: force XPRESS4K on files accessed by Windows bootloader
Eric Biggers [Thu, 24 Sep 2015 03:30:34 +0000 (22:30 -0500)]
system compression: force XPRESS4K on files accessed by Windows bootloader

5 years agoWIMBoot / system compression: try WOFADK in addition to WOF
Eric Biggers [Thu, 24 Sep 2015 02:56:03 +0000 (21:56 -0500)]
WIMBoot / system compression: try WOFADK in addition to WOF

5 years agosystem compression: try to attach WOF if compression fails
Eric Biggers [Thu, 24 Sep 2015 02:54:32 +0000 (21:54 -0500)]
system compression: try to attach WOF if compression fails

5 years agosystem compression: fix for WOFADK on older Windows
Eric Biggers [Thu, 24 Sep 2015 02:01:23 +0000 (21:01 -0500)]
system compression: fix for WOFADK on older Windows

5 years agov1.8.3-BETA
Eric Biggers [Sat, 19 Sep 2015 18:21:18 +0000 (13:21 -0500)]
v1.8.3-BETA

5 years agoAlways specify AT_UNNAMED when opening unnamed stream with libntfs-3g
Eric Biggers [Sat, 19 Sep 2015 16:31:06 +0000 (11:31 -0500)]
Always specify AT_UNNAMED when opening unnamed stream with libntfs-3g

Using another empty string causes problems.

5 years agowimlib-imagex: improve error message
Eric Biggers [Sat, 19 Sep 2015 02:28:09 +0000 (21:28 -0500)]
wimlib-imagex: improve error message

Improved message if the user specifies the non-first part of a split WIM.

5 years agowimlib-imagex: add --ref option to wimdir
Eric Biggers [Wed, 16 Sep 2015 06:15:05 +0000 (01:15 -0500)]
wimlib-imagex: add --ref option to wimdir

5 years agoReplace BUILD_BUG_ON() with STATIC_ASSERT()
Eric Biggers [Sun, 13 Sep 2015 16:36:22 +0000 (11:36 -0500)]
Replace BUILD_BUG_ON() with STATIC_ASSERT()

5 years agoUpdate version-info
Eric Biggers [Thu, 27 Aug 2015 00:01:14 +0000 (19:01 -0500)]
Update version-info

Should have been done for v1.8.2.  Doesn't matter much since the only API
change was the addition of a few flags...

5 years agov1.8.2 v1.8.2
Eric Biggers [Sat, 22 Aug 2015 17:06:15 +0000 (12:06 -0500)]
v1.8.2

5 years agoUpdate NEWS
Eric Biggers [Sat, 22 Aug 2015 17:06:13 +0000 (12:06 -0500)]
Update NEWS

5 years agox86_cpu_features.c: xgetbv fix for old binutils
Eric Biggers [Sat, 22 Aug 2015 16:47:15 +0000 (11:47 -0500)]
x86_cpu_features.c: xgetbv fix for old binutils

5 years agox86_cpu_features.c: cpuid fix for x86_32 PIC with old GCC versions
Eric Biggers [Sat, 22 Aug 2015 16:27:12 +0000 (11:27 -0500)]
x86_cpu_features.c: cpuid fix for x86_32 PIC with old GCC versions

5 years agolzms_common.c: tweak opcode branching in lzms_x86_filter()
Eric Biggers [Sat, 22 Aug 2015 14:08:06 +0000 (09:08 -0500)]
lzms_common.c: tweak opcode branching in lzms_x86_filter()

5 years agoMention wofadk.sys in "compact" documentation
Eric Biggers [Tue, 18 Aug 2015 23:13:25 +0000 (18:13 -0500)]
Mention wofadk.sys in "compact" documentation

5 years agowin32_common.c: don't short-circuit when acquiring privileges
Eric Biggers [Tue, 18 Aug 2015 23:02:39 +0000 (18:02 -0500)]
win32_common.c: don't short-circuit when acquiring privileges

5 years agowin32_common.c: include SeManageVolumePrivilege in apply privileges
Eric Biggers [Tue, 18 Aug 2015 23:00:51 +0000 (18:00 -0500)]
win32_common.c: include SeManageVolumePrivilege in apply privileges

Based on a user report, this may be required for
FSCTL_SET_EXTERNAL_BACKING when using wofadk.sys.

5 years agolzms_common.c: tweak organization of x86 translation logic and improve comments
Eric Biggers [Mon, 17 Aug 2015 02:17:51 +0000 (21:17 -0500)]
lzms_common.c: tweak organization of x86 translation logic and improve comments

5 years agoLZMS: more bit decoding/encoding optimizations
Eric Biggers [Sun, 16 Aug 2015 17:00:48 +0000 (12:00 -0500)]
LZMS: more bit decoding/encoding optimizations

5 years agoUse 'restrict' on pointer arguments to all compress() and decompress() functions
Eric Biggers [Sun, 16 Aug 2015 19:09:09 +0000 (14:09 -0500)]
Use 'restrict' on pointer arguments to all compress() and decompress() functions

5 years agontfs-3g_capture.c: workaround for duplicate streams
Eric Biggers [Fri, 14 Aug 2015 03:53:11 +0000 (22:53 -0500)]
ntfs-3g_capture.c: workaround for duplicate streams

5 years agoUpdate references to specific Windows versions
Eric Biggers [Sat, 8 Aug 2015 20:05:59 +0000 (15:05 -0500)]
Update references to specific Windows versions

- Say "Vista" and later instead of listing specific versions
- Prefer "ISO" to "DVD"

5 years agontfs-3g_apply.c: add hint about known libntfs-3g bug
Eric Biggers [Sat, 8 Aug 2015 19:52:07 +0000 (14:52 -0500)]
ntfs-3g_apply.c: add hint about known libntfs-3g bug

5 years agoUpdate NEWS
Eric Biggers [Sat, 8 Aug 2015 19:08:36 +0000 (14:08 -0500)]
Update NEWS

5 years agoconfigure.ac: Don't use AC_CHECK_LIB() when PKG_CHECK_MODULES() suffices
Eric Biggers [Sat, 8 Aug 2015 06:19:07 +0000 (01:19 -0500)]
configure.ac: Don't use AC_CHECK_LIB() when PKG_CHECK_MODULES() suffices

5 years agoAvoid having to check for NTFS-3g 2013.1.13 or later at configure time
Eric Biggers [Sat, 8 Aug 2015 06:18:14 +0000 (01:18 -0500)]
Avoid having to check for NTFS-3g 2013.1.13 or later at configure time

5 years agotools/windeps: upgrade to winpthreads 4.0.4
Eric Biggers [Sat, 8 Aug 2015 05:53:38 +0000 (00:53 -0500)]
tools/windeps: upgrade to winpthreads 4.0.4

5 years agoLZMS: share 'struct lzms_probabilities' between compressor and decompressor
Eric Biggers [Sat, 8 Aug 2015 04:45:18 +0000 (23:45 -0500)]
LZMS: share 'struct lzms_probabilities' between compressor and decompressor

5 years agolzms_decompress.c: optimize lzms_decompress() to hold some variables on stack
Eric Biggers [Fri, 7 Aug 2015 05:13:45 +0000 (00:13 -0500)]
lzms_decompress.c: optimize lzms_decompress() to hold some variables on stack

5 years agolzms_decompress.c: move range normalization upwards
Eric Biggers [Fri, 7 Aug 2015 04:35:43 +0000 (23:35 -0500)]
lzms_decompress.c: move range normalization upwards

5 years agolzms_decompress.c: inline decoding of all bits and symbols
Eric Biggers [Fri, 7 Aug 2015 04:10:37 +0000 (23:10 -0500)]
lzms_decompress.c: inline decoding of all bits and symbols

(including lengths and rep bits)

5 years agohc_matchfinder.h: fix comment
Eric Biggers [Fri, 7 Aug 2015 02:55:49 +0000 (21:55 -0500)]
hc_matchfinder.h: fix comment

5 years agolzms_decompress.c: pack states together in struct lzms_decompressor
Eric Biggers [Fri, 7 Aug 2015 02:55:48 +0000 (21:55 -0500)]
lzms_decompress.c: pack states together in struct lzms_decompressor

5 years agolzms_decompress.c: inline lzms_range_decode_bit() into lzms_decode_bit()
Eric Biggers [Fri, 7 Aug 2015 02:55:47 +0000 (21:55 -0500)]
lzms_decompress.c: inline lzms_range_decode_bit() into lzms_decode_bit()

5 years agolzms_decompress.c: read a whole word at a time for backwards bitstream
Eric Biggers [Fri, 7 Aug 2015 02:55:46 +0000 (21:55 -0500)]
lzms_decompress.c: read a whole word at a time for backwards bitstream

5 years agolzms_decompress.c: move first queue update into rep case
Eric Biggers [Fri, 7 Aug 2015 02:55:45 +0000 (21:55 -0500)]
lzms_decompress.c: move first queue update into rep case

5 years agolzms_decompress.c: make 'lens' and 'decode_table' share memory
Eric Biggers [Fri, 7 Aug 2015 02:55:44 +0000 (21:55 -0500)]
lzms_decompress.c: make 'lens' and 'decode_table' share memory

5 years agolzms_common.c: SSE4.2-optimized lzms_x86_filter()
Eric Biggers [Fri, 7 Aug 2015 02:55:43 +0000 (21:55 -0500)]
lzms_common.c: SSE4.2-optimized lzms_x86_filter()

5 years agoAdd support for runtime x86 CPU feature detection
Eric Biggers [Fri, 7 Aug 2015 02:55:42 +0000 (21:55 -0500)]
Add support for runtime x86 CPU feature detection

5 years agolzms_common.c: optimize opcode branching in lzms_x86_filter()
Eric Biggers [Fri, 7 Aug 2015 02:55:41 +0000 (21:55 -0500)]
lzms_common.c: optimize opcode branching in lzms_x86_filter()

5 years agolzms_common.c: Change lzms_x86_filter to maintain pointer instead of index
Eric Biggers [Fri, 7 Aug 2015 02:55:40 +0000 (21:55 -0500)]
lzms_common.c: Change lzms_x86_filter to maintain pointer instead of index

5 years agolzms_common.c: Split lzms_x86_filter into subroutines
Eric Biggers [Fri, 7 Aug 2015 02:55:37 +0000 (21:55 -0500)]
lzms_common.c: Split lzms_x86_filter into subroutines

5 years agoReplace SourceForge references with wimlib.net
Eric Biggers [Mon, 3 Aug 2015 02:21:06 +0000 (21:21 -0500)]
Replace SourceForge references with wimlib.net

5 years agowimlib-imagex.1: correct license statement
Eric Biggers [Sat, 25 Jul 2015 16:19:10 +0000 (11:19 -0500)]
wimlib-imagex.1: correct license statement

5 years agoadd System Compression support
Eric Biggers [Wed, 22 Jul 2015 01:28:59 +0000 (20:28 -0500)]
add System Compression support

5 years agodecompress_common.h: make bitstream_read_bytes() fill buffer itself
Eric Biggers [Mon, 20 Jul 2015 05:02:07 +0000 (00:02 -0500)]
decompress_common.h: make bitstream_read_bytes() fill buffer itself

5 years agolzx_decompress.c: switch to out* pointer style
Eric Biggers [Mon, 20 Jul 2015 04:59:48 +0000 (23:59 -0500)]
lzx_decompress.c: switch to out* pointer style

5 years agoxpress_decompress.c: consolidate XPRESS decompressor into one function
Eric Biggers [Mon, 20 Jul 2015 04:36:19 +0000 (23:36 -0500)]
xpress_decompress.c: consolidate XPRESS decompressor into one function

5 years agoxpress_decompress.c: make 'lens' and 'decode_table' share memory
Eric Biggers [Mon, 20 Jul 2015 04:35:31 +0000 (23:35 -0500)]
xpress_decompress.c: make 'lens' and 'decode_table' share memory

5 years agomake_huffman_decode_table(): Note that 'lens' may alias 'decode_table'
Eric Biggers [Mon, 20 Jul 2015 04:30:08 +0000 (23:30 -0500)]
make_huffman_decode_table(): Note that 'lens' may alias 'decode_table'

5 years agoAvoid branch in 'num_bits == 0' branch when peeking bits
Eric Biggers [Mon, 20 Jul 2015 04:13:53 +0000 (23:13 -0500)]
Avoid branch in 'num_bits == 0' branch when peeking bits

5 years agoMake read_huffsym() return unsigned int
Eric Biggers [Mon, 20 Jul 2015 03:18:10 +0000 (22:18 -0500)]
Make read_huffsym() return unsigned int

5 years agontfs-3g_apply.c: only call sd_fixup() if ntfs_set_ntfs_acl() fails
Eric Biggers [Mon, 13 Jul 2015 00:49:05 +0000 (19:49 -0500)]
ntfs-3g_apply.c: only call sd_fixup() if ntfs_set_ntfs_acl() fails

5 years agontfs-3g_capture.c: remove unused path_len argument
Eric Biggers [Sat, 18 Jul 2015 01:26:11 +0000 (20:26 -0500)]
ntfs-3g_capture.c: remove unused path_len argument

5 years agoverify: update progress per-chunk instead of per-blob
Eric Biggers [Thu, 2 Jul 2015 23:59:59 +0000 (18:59 -0500)]
verify: update progress per-chunk instead of per-blob

5 years agoUse list_replace() instead of list_transfer()
Eric Biggers [Thu, 2 Jul 2015 23:44:48 +0000 (18:44 -0500)]
Use list_replace() instead of list_transfer()

5 years agoinode_table: remove unused num_entries member
Eric Biggers [Thu, 2 Jul 2015 23:16:40 +0000 (18:16 -0500)]
inode_table: remove unused num_entries member

5 years agoblob_table.c: use power-of-2 sized hash table for faster hashing
Eric Biggers [Tue, 30 Jun 2015 01:46:51 +0000 (20:46 -0500)]
blob_table.c: use power-of-2 sized hash table for faster hashing

SHA-1 is a cryptographic hash, so we do not need to worry about
the distribution.

5 years agodentry.c: Use simpler check that handles both deep and cyclic directory structures
Eric Biggers [Tue, 30 Jun 2015 01:46:48 +0000 (20:46 -0500)]
dentry.c: Use simpler check that handles both deep and cyclic directory structures

5 years agoAdd Windows tests for empty and max length reparse points
Eric Biggers [Sat, 27 Jun 2015 22:55:33 +0000 (17:55 -0500)]
Add Windows tests for empty and max length reparse points

5 years agontfs-3g_apply.c: fix inode reuse
Eric Biggers [Sat, 27 Jun 2015 21:17:08 +0000 (16:17 -0500)]
ntfs-3g_apply.c: fix inode reuse

NTFS inodes were not being reused as intended following commit 26a90546f2
("ntfs-3g_apply.c: Do not use i_visited").

5 years agoUpdate NEWS
Eric Biggers [Thu, 25 Jun 2015 03:16:04 +0000 (22:16 -0500)]
Update NEWS

5 years agowin32_apply.c: fix extraction of empty reparse points
Eric Biggers [Tue, 23 Jun 2015 05:28:56 +0000 (00:28 -0500)]
win32_apply.c: fix extraction of empty reparse points

5 years agontfs-3g_apply.c: fix extraction of empty reparse points
Eric Biggers [Tue, 23 Jun 2015 03:22:44 +0000 (22:22 -0500)]
ntfs-3g_apply.c: fix extraction of empty reparse points

5 years agodentry.c: correctly read empty reparse stream
Eric Biggers [Tue, 23 Jun 2015 05:19:12 +0000 (00:19 -0500)]
dentry.c: correctly read empty reparse stream

5 years agofile_io.c: get rid of raw_pread() and raw_pwrite()
Eric Biggers [Wed, 10 Jun 2015 00:35:04 +0000 (19:35 -0500)]
file_io.c: get rid of raw_pread() and raw_pwrite()

5 years agofile_io.c: set errno=EINVAL on unexpected end of file
Eric Biggers [Wed, 10 Jun 2015 00:45:38 +0000 (19:45 -0500)]
file_io.c: set errno=EINVAL on unexpected end of file

5 years agofile_io.c: fix handling of EINTR
Eric Biggers [Wed, 10 Jun 2015 00:22:43 +0000 (19:22 -0500)]
file_io.c: fix handling of EINTR

The old code would accidentally increment bytes_remaining...

5 years agoMove AUTHORS information into README
Eric Biggers [Tue, 9 Jun 2015 02:51:01 +0000 (21:51 -0500)]
Move AUTHORS information into README

5 years agoUpdates to README and README.WINDOWS
Eric Biggers [Tue, 9 Jun 2015 01:49:06 +0000 (20:49 -0500)]
Updates to README and README.WINDOWS

5 years agoConsistently forbid directory hard links from being honored on capture
Eric Biggers [Sun, 7 Jun 2015 19:47:07 +0000 (14:47 -0500)]
Consistently forbid directory hard links from being honored on capture

5 years agoAdd new helper function for attaching newly scanned dentry tree
Eric Biggers [Sun, 7 Jun 2015 19:07:30 +0000 (14:07 -0500)]
Add new helper function for attaching newly scanned dentry tree

5 years agoAdd new helper function for ignoring scanned directory entries
Eric Biggers [Sun, 7 Jun 2015 14:56:41 +0000 (09:56 -0500)]
Add new helper function for ignoring scanned directory entries

5 years agoextract.c: control characters are invalid in filenames on Windows
Eric Biggers [Sun, 7 Jun 2015 14:38:19 +0000 (09:38 -0500)]
extract.c: control characters are invalid in filenames on Windows

5 years agoextract.c: trailing dot or space in filename is okay with Windows NT APIs
Eric Biggers [Sun, 7 Jun 2015 13:59:43 +0000 (08:59 -0500)]
extract.c: trailing dot or space in filename is okay with Windows NT APIs

5 years agoDon't ftruncate() after rewriting blob uncompressed
Eric Biggers [Sat, 6 Jun 2015 19:26:37 +0000 (14:26 -0500)]
Don't ftruncate() after rewriting blob uncompressed

5 years agontfs-3g_capture.c: save rpreserved field and fix "no reparse data" case
Eric Biggers [Sat, 6 Jun 2015 01:00:34 +0000 (20:00 -0500)]
ntfs-3g_capture.c: save rpreserved field and fix "no reparse data" case

5 years agowin32_capture.c: save rpreserved field
Eric Biggers [Sat, 6 Jun 2015 00:57:44 +0000 (19:57 -0500)]
win32_capture.c: save rpreserved field

5 years agov1.8.2-BETA
Eric Biggers [Tue, 2 Jun 2015 01:42:32 +0000 (20:42 -0500)]
v1.8.2-BETA

5 years agoAdd helper functions for passing paths to progress callbacks
Eric Biggers [Mon, 1 Jun 2015 04:44:09 +0000 (23:44 -0500)]
Add helper functions for passing paths to progress callbacks

5 years agosecurity.c: align total_length immediately after reading
Eric Biggers [Mon, 1 Jun 2015 04:20:23 +0000 (23:20 -0500)]
security.c: align total_length immediately after reading

5 years agoAdd helper function for rate-limiting progress messages
Eric Biggers [Mon, 1 Jun 2015 03:36:56 +0000 (22:36 -0500)]
Add helper function for rate-limiting progress messages

5 years agoSimplify wildcard pattern expansion
Eric Biggers [Sun, 31 May 2015 22:28:04 +0000 (17:28 -0500)]
Simplify wildcard pattern expansion

5 years agoRemove remaining DEBUG() messages
Eric Biggers [Sun, 31 May 2015 21:43:14 +0000 (16:43 -0500)]
Remove remaining DEBUG() messages

5 years agoextract.c: add missing will_extract_dentry() check
Eric Biggers [Sun, 31 May 2015 21:33:04 +0000 (16:33 -0500)]
extract.c: add missing will_extract_dentry() check

When skipping a dentry tree, not all dentries in that tree will
necessarily be in the extraction list.

5 years agoRename inode_first_dentry() => inode_any_dentry()
Eric Biggers [Sun, 31 May 2015 16:00:01 +0000 (11:00 -0500)]
Rename inode_first_dentry() => inode_any_dentry()

5 years agoDon't bother clearing i_devno after inode number reassignment
Eric Biggers [Sun, 31 May 2015 15:55:41 +0000 (10:55 -0500)]
Don't bother clearing i_devno after inode number reassignment

5 years agontfs-3g_apply.c: Do not use i_visited
Eric Biggers [Sun, 31 May 2015 15:43:49 +0000 (10:43 -0500)]
ntfs-3g_apply.c: Do not use i_visited

The number of inodes examined is limited by MAX_OPEN_FILES, and we can
make it faster in the common case by checking i_num_streams.

5 years agotemplate.c: iterate through inodes instead of dentries
Eric Biggers [Sun, 31 May 2015 15:36:24 +0000 (10:36 -0500)]
template.c: iterate through inodes instead of dentries

5 years agoMake some declarations formatted the same as the definitions
Eric Biggers [Sun, 31 May 2015 15:19:16 +0000 (10:19 -0500)]
Make some declarations formatted the same as the definitions

5 years agoDon't use entire word for d_extraction_name_nchars
Eric Biggers [Sun, 31 May 2015 15:08:51 +0000 (10:08 -0500)]
Don't use entire word for d_extraction_name_nchars

5 years agoRename _full_path => d_full_path
Eric Biggers [Sun, 31 May 2015 15:13:06 +0000 (10:13 -0500)]
Rename _full_path => d_full_path

5 years agoRename subdir_offset => d_subdir_offset
Eric Biggers [Sun, 31 May 2015 15:06:11 +0000 (10:06 -0500)]
Rename subdir_offset => d_subdir_offset

5 years agoRename tmp_list => d_tmp_list
Eric Biggers [Sun, 31 May 2015 15:04:27 +0000 (10:04 -0500)]
Rename tmp_list => d_tmp_list

5 years agoRename is_orphan => d_is_orphan
Eric Biggers [Sun, 31 May 2015 15:03:39 +0000 (10:03 -0500)]
Rename is_orphan => d_is_orphan