Eric Biggers [Fri, 1 Nov 2013 04:51:47 +0000 (23:51 -0500)]
new_wim_struct(): Don't dereference NULL in out-of-memory case
Eric Biggers [Sat, 12 Oct 2013 00:11:41 +0000 (19:11 -0500)]
lzx-decompress.c: Fix alignment bug
The pretree decode table was not declared to be 16 byte aligned, as
expected by make_huffman_decode_table().
This bug had no effect if the compiler aligned this table on a 16 byte
boundary anyway, but if not it caused a segmentation fault on x86 platforms
where the SSE2 instructions were available, since in that case stores
requiring 16 byte alignment are used to fill in table entries.
Eric Biggers [Fri, 11 Oct 2013 19:46:01 +0000 (14:46 -0500)]
archlinux/PKGBUILD: Fix pkgdesc
Eric Biggers [Fri, 11 Oct 2013 16:06:49 +0000 (11:06 -0500)]
mkwinpeimg: Quote $0
Eric Biggers [Fri, 11 Oct 2013 15:38:45 +0000 (10:38 -0500)]
wimcapture: Allow specifying `--delta-from' multiple times
Eric Biggers [Fri, 11 Oct 2013 14:49:20 +0000 (09:49 -0500)]
imagex.c: Rename `struct refglob_set' => `struct string_set'
Eric Biggers [Fri, 11 Oct 2013 14:38:50 +0000 (09:38 -0500)]
Update version number to 1.5.1
Eric Biggers [Mon, 7 Oct 2013 07:00:54 +0000 (02:00 -0500)]
Update NEWS
Eric Biggers [Mon, 7 Oct 2013 06:55:07 +0000 (01:55 -0500)]
Implement workaround for NTFS-3g bug when handling empty DACLs
Eric Biggers [Fri, 20 Sep 2013 17:16:46 +0000 (12:16 -0500)]
NEWS: Clarify bugfix
Eric Biggers [Tue, 17 Sep 2013 00:54:14 +0000 (19:54 -0500)]
do_extract_warnings(): Adjust wording of warning
Eric Biggers [Mon, 16 Sep 2013 04:08:06 +0000 (23:08 -0500)]
imagex-capture.1.in: Fix brackets in --update-of docs
Eric Biggers [Mon, 16 Sep 2013 04:06:10 +0000 (23:06 -0500)]
imagex_capture_or_append(): Correctly use template_wim
Eric Biggers [Sun, 15 Sep 2013 20:50:28 +0000 (15:50 -0500)]
xml.c: Define more architecture constants
Eric Biggers [Sun, 15 Sep 2013 19:38:18 +0000 (14:38 -0500)]
begin_read(): Fix comment
Eric Biggers [Fri, 13 Sep 2013 15:07:44 +0000 (10:07 -0500)]
read_wim_lookup_table(): Ignore metadata entries with refcnt == 0
If the WIM lookup table lists metadata resources with no references, ignore
them. This unexpected case appears in WIMs appearing in WAIK v2.1.
Eric Biggers [Mon, 2 Sep 2013 14:03:55 +0000 (09:03 -0500)]
dentry_extract_skeleton(): Fix bug with DOS name reordering
When choosing a different dentry for an inode being extracted, the code didn't
check if it was actually in the tree being extracted.
This bug could cause an infinite loop in extraction backends that required DOS
name reordering and also allowed extracting only a subset of an image---
currently, just the Windows backend.
Eric Biggers [Mon, 2 Sep 2013 14:03:50 +0000 (09:03 -0500)]
win32_get_security_descriptor(): Use errno
Eric Biggers [Sun, 1 Sep 2013 21:32:12 +0000 (16:32 -0500)]
Update release scripts
Eric Biggers [Sun, 1 Sep 2013 20:56:57 +0000 (15:56 -0500)]
wimlib.h: Group declarations into modules
Eric Biggers [Sun, 1 Sep 2013 16:12:59 +0000 (11:12 -0500)]
wimlib_iterate_dir_tree(): Define behavior when resources missing
Eric Biggers [Sun, 1 Sep 2013 06:23:44 +0000 (01:23 -0500)]
Replace WIMLIB_OPEN_FLAG_SPLIT_OK with WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT
Having to specify a special flag to open split WIM parts is no longer very
useful, since error codes will be automatically be issued when needed metadata
or file resources are not found, and this flag wouldn't affect delta WIMs which
resemble split WIMs anyway, and clients could just check themselves whether a
WIM is split. Therefore, make the default be like WIMLIB_OPEN_FLAG_SPLIT_OK,
but for completeness offer a flag WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT to get
behavior like the old default.
Also updated the documentation in wimlib.h.
Eric Biggers [Sun, 1 Sep 2013 03:00:44 +0000 (22:00 -0500)]
wimlib.h: Move `enum wimlib_update_op' to global scope
Eric Biggers [Sun, 1 Sep 2013 01:57:23 +0000 (20:57 -0500)]
finish_write(): Add a few more comments
Eric Biggers [Sun, 1 Sep 2013 01:47:03 +0000 (20:47 -0500)]
write_integrity_table(): Fix documented return values
Eric Biggers [Sun, 1 Sep 2013 01:41:28 +0000 (20:41 -0500)]
finish_write(): Fix comment
Eric Biggers [Sun, 1 Sep 2013 01:35:56 +0000 (20:35 -0500)]
write_pipable_wim(): Fix/improve comment
Eric Biggers [Sun, 1 Sep 2013 01:15:45 +0000 (20:15 -0500)]
WIMStruct: Remove unused flag
Eric Biggers [Sun, 1 Sep 2013 01:03:16 +0000 (20:03 -0500)]
imagex-capture.1.in: Clarify --update-of slightly
Eric Biggers [Sun, 1 Sep 2013 00:57:01 +0000 (19:57 -0500)]
translate_text_to_tstr(): Correctly compare byte values
Eric Biggers [Sun, 1 Sep 2013 00:50:12 +0000 (19:50 -0500)]
write_integrity_table(): Fix use of uninitialized variable
(Only happened in cases where existing integrity table was invalid or
could not be read.)
Eric Biggers [Sun, 1 Sep 2013 00:10:36 +0000 (19:10 -0500)]
win32_recurse_directory(): Handle not implemented/supported
Similar to previous commit, but handle errors from NtQueryDirectoryFile().
Eric Biggers [Sun, 1 Sep 2013 00:02:33 +0000 (19:02 -0500)]
win32_capture_streams(): Handle not implemented/supported
If NtQueryInformationFile() returns STATUS_NOT_IMPLEMENTED,
STATUS_NOT_SUPPORTED, or STATUS_INVALID_INFO_CLASS when
FileStreamInformation is requested, fall back to FindFirstStream() and
FindNextStream() instead (which themselves have a fallback behavior).
Eric Biggers [Sat, 31 Aug 2013 23:46:05 +0000 (18:46 -0500)]
win32_capture_streams(): Fix uninitialized return value in non-default case
Eric Biggers [Sat, 31 Aug 2013 23:29:41 +0000 (18:29 -0500)]
Win32: Define _CRT_NON_CONFORMING_SWPRINTFS
To get the "old" swprintf() declaration with all versions of MinGW, at
least until the code is fixed to use the standard form, define
_CRT_NON_CONFORMING_SWPRINTFS.
Eric Biggers [Tue, 27 Aug 2013 17:57:06 +0000 (12:57 -0500)]
wimlib-imagex: Tweak invalid image error message
Eric Biggers [Tue, 27 Aug 2013 17:34:01 +0000 (12:34 -0500)]
wimlib.h: C++ compatibility
Eric Biggers [Tue, 27 Aug 2013 17:24:21 +0000 (12:24 -0500)]
Windows: Use .cmd extension for wimlib-imagex shortcuts
Eric Biggers [Thu, 22 Aug 2013 01:20:05 +0000 (20:20 -0500)]
Minor fixes
Eric Biggers [Wed, 21 Aug 2013 04:35:25 +0000 (23:35 -0500)]
Fix programs not compiled by default
Eric Biggers [Wed, 21 Aug 2013 03:16:33 +0000 (22:16 -0500)]
Windows: Load ntdll functions dynamically
Eric Biggers [Wed, 21 Aug 2013 02:22:51 +0000 (21:22 -0500)]
Update docs; strip Windows binaries & place directly in ZIP
Eric Biggers [Tue, 20 Aug 2013 23:27:00 +0000 (18:27 -0500)]
wimlib_reference_resource_files(): Fix return value docs
Eric Biggers [Tue, 20 Aug 2013 23:23:40 +0000 (18:23 -0500)]
doc/imagex-capture.1.in: update --delta-from docs
Eric Biggers [Tue, 20 Aug 2013 23:04:22 +0000 (18:04 -0500)]
wimlib-imagex: Simplify options for delta WIMs & template images
Eric Biggers [Tue, 20 Aug 2013 21:26:16 +0000 (16:26 -0500)]
"delta" WIM support
Eric Biggers [Tue, 20 Aug 2013 00:17:36 +0000 (19:17 -0500)]
Generalized support for referencing resources in external WIMs
In preparation for supporting "delta" WIMs, this commit generalizes the library
interface for handling split WIMs.
Instead of cluttering up various functions with additional split WIM parameters,
there is now a function wimlib_reference_resource_files() available that can
load additional resources (e.g. from a split WIM part) into a WIMStruct that has
metadata available (e.g. the first part of a split WIM, or a standalone WIM).
wimlib_reference_resource_files() can handle file globbing by itself, so it
actually makes it easier for library users to process split WIMs.
Lower-level APIs wimlib_reference_resources() and wimlib_unreference_resources()
are also provided, but not yet used directly by `wimlib-imagex'.
Some instances of WIMLIB_ERR_SPLIT_UNSUPPORTED error returns were changed to
the new error code WIMLIB_ERR_METADATA_NOT_FOUND.
This commit also re-writes wimlib_export_image() to correctly roll back changes
on multi-image exports and better handle resources in the source WIM being
missing, as well as add a flag to make all destination image(s) unnamed.
Eric Biggers [Mon, 19 Aug 2013 05:27:15 +0000 (00:27 -0500)]
wimlib-imagex: Only say pipable WIMs are split when total_parts != 1
Eric Biggers [Mon, 19 Aug 2013 05:14:29 +0000 (00:14 -0500)]
join.c, write.c: Optimize WIMLIB_ALL_IMAGES writes (and joins)
Eric Biggers [Mon, 19 Aug 2013 04:07:14 +0000 (23:07 -0500)]
wimlib-imagex, wimlib: Optimize appending new image as update of existing
Eric Biggers [Sun, 18 Aug 2013 21:09:17 +0000 (16:09 -0500)]
Add apply_ops.requires_short_name_reordering
Eric Biggers [Sun, 18 Aug 2013 19:25:10 +0000 (14:25 -0500)]
extract.c: Fix extraction of streams of hard-linked files
Due to the re-ordering of dentries in a directory to extract correct DOS names,
was_hardlinked could be set on the dentry referenced by a stream, thereby
causing the stream not to be extracted. Fix by having each stream reference all
possible dentries.
Eric Biggers [Sun, 18 Aug 2013 18:25:19 +0000 (13:25 -0500)]
struct wim_inode: Fix union
Eric Biggers [Sun, 18 Aug 2013 17:54:34 +0000 (12:54 -0500)]
Remove some unused variables and labels
Eric Biggers [Sun, 18 Aug 2013 17:37:46 +0000 (12:37 -0500)]
Win32 apply: Create encrypted files with OpenEncryptedFileRaw()
Eric Biggers [Sun, 18 Aug 2013 17:19:13 +0000 (12:19 -0500)]
Win32 capture: Fix sharing violation when getting size of encrypted stream
Eric Biggers [Sun, 18 Aug 2013 16:45:20 +0000 (11:45 -0500)]
Win32 capture/apply: Simplify opening existing files
Eric Biggers [Sun, 18 Aug 2013 16:35:39 +0000 (11:35 -0500)]
wimlib-imagex: Set stdout to binary mode when appropriate
Eric Biggers [Sun, 18 Aug 2013 16:16:07 +0000 (11:16 -0500)]
Win32: Adjust error printing
Eric Biggers [Sun, 18 Aug 2013 15:37:57 +0000 (10:37 -0500)]
Update security descriptor setting
Eric Biggers [Sun, 18 Aug 2013 06:05:04 +0000 (01:05 -0500)]
tests/win32-tree-cmp.c: Print differing security descriptors
Eric Biggers [Sun, 18 Aug 2013 05:36:51 +0000 (00:36 -0500)]
Win32 capture: Fixes
Eric Biggers [Sun, 18 Aug 2013 05:18:15 +0000 (00:18 -0500)]
Win32 capture: Readdir and query short name with native API
Eric Biggers [Sun, 18 Aug 2013 03:56:28 +0000 (22:56 -0500)]
Win32 capture: Query security descriptors with native API
Eric Biggers [Sun, 18 Aug 2013 02:48:50 +0000 (21:48 -0500)]
Win32 capture: Query stream information with native API
Eric Biggers [Sun, 18 Aug 2013 01:07:04 +0000 (20:07 -0500)]
Win32 apply: Fix FILE_ATTRIBUTE_READONLY note
Eric Biggers [Sun, 18 Aug 2013 00:50:24 +0000 (19:50 -0500)]
Win32 apply: Delay setting FILE_ATTRIBUTE_READONLY
Eric Biggers [Sat, 17 Aug 2013 23:36:05 +0000 (18:36 -0500)]
Add support for WIMLIB_EXTRACT_FLAG_SYMLINK on Windows
Also: on Windows, don't fail to create symlink or hardlink because of an
existing file (try deleting it first).
Eric Biggers [Sat, 17 Aug 2013 23:00:58 +0000 (18:00 -0500)]
Add WIMLIB_INIT_FLAG_STRICT_{CAPTURE,APPLY}_PRIVILEGES
Eric Biggers [Sat, 17 Aug 2013 22:29:12 +0000 (17:29 -0500)]
Add WIMLIB_ADD_FLAG_WINCONFIG
Eric Biggers [Sat, 17 Aug 2013 21:54:47 +0000 (16:54 -0500)]
update README.WINDOWS
Eric Biggers [Sat, 17 Aug 2013 19:07:02 +0000 (14:07 -0500)]
Win32 fixes
Eric Biggers [Sat, 17 Aug 2013 18:59:31 +0000 (13:59 -0500)]
imagex-apply.1.in: Document encrypted/sparse limitations
Eric Biggers [Sat, 17 Aug 2013 18:49:37 +0000 (13:49 -0500)]
imagex-capture.1.in: Document excluded files
Eric Biggers [Sat, 17 Aug 2013 18:31:44 +0000 (13:31 -0500)]
wimlib: Clean up code that sends capture progress messages
Eric Biggers [Sat, 17 Aug 2013 18:12:40 +0000 (13:12 -0500)]
Add WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE
Eric Biggers [Sat, 17 Aug 2013 18:03:04 +0000 (13:03 -0500)]
Exclude unsupported files from capture
Eric Biggers [Sat, 17 Aug 2013 17:38:54 +0000 (12:38 -0500)]
extract.c: Omit encrypted files when unsupported
Eric Biggers [Sat, 17 Aug 2013 01:51:24 +0000 (20:51 -0500)]
debian/: update
Eric Biggers [Sat, 17 Aug 2013 01:45:47 +0000 (20:45 -0500)]
rpm/wimtools.spec: update
Eric Biggers [Fri, 16 Aug 2013 23:52:35 +0000 (18:52 -0500)]
Fix void** casts
Eric Biggers [Fri, 16 Aug 2013 23:46:28 +0000 (18:46 -0500)]
Replace mempcpy() if not implemented
Eric Biggers [Fri, 16 Aug 2013 23:06:36 +0000 (18:06 -0500)]
wimlib.h: Update docs and adjust error codes
Also remove some deprecated functions
Eric Biggers [Fri, 16 Aug 2013 19:16:24 +0000 (14:16 -0500)]
NTFS-3g apply: Open extracted files by MFT reference
Eric Biggers [Fri, 16 Aug 2013 02:11:04 +0000 (21:11 -0500)]
Add WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN
Eric Biggers [Fri, 16 Aug 2013 00:23:59 +0000 (19:23 -0500)]
pipable WIM extraction: Take into account HARDLINKBYTES
Eric Biggers [Fri, 16 Aug 2013 00:23:37 +0000 (19:23 -0500)]
apply_operations: Remove 'strict' argument from set_security_descriptor()
Eric Biggers [Fri, 16 Aug 2013 00:23:02 +0000 (19:23 -0500)]
Initial support for resuming extraction from split pipable WIMs
Eric Biggers [Thu, 15 Aug 2013 23:05:07 +0000 (18:05 -0500)]
ntfs-3g capture/apply: Capture & apply DOS names correctly
Eric Biggers [Thu, 15 Aug 2013 20:07:57 +0000 (15:07 -0500)]
unix_apply.c: Allow creating symlinks and hardlinks over existing files
Eric Biggers [Thu, 15 Aug 2013 20:07:35 +0000 (15:07 -0500)]
do_feature_check(): Tweak warnings
Eric Biggers [Thu, 15 Aug 2013 19:08:00 +0000 (14:08 -0500)]
Improve write streams performance and handling of joins
Provide the number of completed WIM parts and total WIM parts in
WIMLIB_PROGRESS_MSG_WRITE_STREAMS, to replace WIMLIB_PROGRESS_MSG_JOIN.
Furthermore, write streams in a more intelligent order; e.g. sorting by WIM part
number and file offset when relevant.
Eric Biggers [Thu, 15 Aug 2013 17:12:26 +0000 (12:12 -0500)]
Miscellaneous fixes and cleanups
Eric Biggers [Wed, 14 Aug 2013 17:26:26 +0000 (12:26 -0500)]
imagex-win32.c: Fix comments
Eric Biggers [Wed, 14 Aug 2013 17:14:25 +0000 (12:14 -0500)]
wimlib: Automatically try to acquire needed privileges on Windows
Eric Biggers [Wed, 14 Aug 2013 16:40:38 +0000 (11:40 -0500)]
wimlib-imagex: Correctly detect failure to acquire privileges
Eric Biggers [Wed, 14 Aug 2013 16:19:51 +0000 (11:19 -0500)]
Don't close file descriptor at end of wimlib_write_to_fd()
Eric Biggers [Wed, 14 Aug 2013 16:15:57 +0000 (11:15 -0500)]
Don't require image num/name when applying from single-image pipable WIM
Eric Biggers [Wed, 14 Aug 2013 07:09:36 +0000 (02:09 -0500)]
wimlib-imagex: Clean up usage information
Eric Biggers [Wed, 14 Aug 2013 06:51:50 +0000 (01:51 -0500)]
wimlib-imagex: More documentation updates