]> wimlib.net Git - wimlib/log
wimlib
10 years agoUse read_stream_list() for extraction
Eric Biggers [Fri, 20 Dec 2013 20:21:03 +0000 (14:21 -0600)]
Use read_stream_list() for extraction

10 years agoAdd read_stream_list()
Eric Biggers [Fri, 20 Dec 2013 07:26:04 +0000 (01:26 -0600)]
Add read_stream_list()

10 years agoAdd independent LZMS decompressor
Eric Biggers [Thu, 19 Dec 2013 16:24:38 +0000 (10:24 -0600)]
Add independent LZMS decompressor

10 years agoAdd kind-of-working LZMS decompression using cabinet.dll API
Eric Biggers [Sat, 14 Dec 2013 21:34:34 +0000 (15:34 -0600)]
Add kind-of-working LZMS decompression using cabinet.dll API

10 years agoTweak reading of concat runs
Eric Biggers [Sat, 14 Dec 2013 21:34:10 +0000 (15:34 -0600)]
Tweak reading of concat runs

10 years agoWin32: compile
Eric Biggers [Sat, 14 Dec 2013 18:34:08 +0000 (12:34 -0600)]
Win32: compile

10 years agoextract_streams_from_pipe(): Fix
Eric Biggers [Sat, 14 Dec 2013 17:20:50 +0000 (11:20 -0600)]
extract_streams_from_pipe(): Fix

10 years agoupdate; add lzms_decompress() stub
Eric Biggers [Sat, 14 Dec 2013 17:18:32 +0000 (11:18 -0600)]
update; add lzms_decompress() stub

10 years agoRead concat runs
Eric Biggers [Sat, 14 Dec 2013 07:41:05 +0000 (01:41 -0600)]
Read concat runs

10 years agoSplit wim_resource_spec from wim_lookup_table_entry
Eric Biggers [Sat, 14 Dec 2013 05:06:07 +0000 (23:06 -0600)]
Split wim_resource_spec from wim_lookup_table_entry

10 years agolzx_prepare_block_fast(): Increase max_offset
Eric Biggers [Fri, 13 Dec 2013 20:02:37 +0000 (14:02 -0600)]
lzx_prepare_block_fast(): Increase max_offset

10 years agoLZX decompress: Fix comment & docs
Eric Biggers [Fri, 13 Dec 2013 19:46:17 +0000 (13:46 -0600)]
LZX decompress: Fix comment & docs

10 years agoUse STACK_MAX
Eric Biggers [Fri, 13 Dec 2013 19:27:41 +0000 (13:27 -0600)]
Use STACK_MAX

10 years agowim.c: Cleanup
Eric Biggers [Fri, 13 Dec 2013 18:45:59 +0000 (12:45 -0600)]
wim.c: Cleanup

10 years agoverify_swm_set(): Check chunk size
Eric Biggers [Fri, 13 Dec 2013 18:43:37 +0000 (12:43 -0600)]
verify_swm_set(): Check chunk size

10 years agowrite_stream_list(): Cleanup
Eric Biggers [Fri, 13 Dec 2013 18:18:24 +0000 (12:18 -0600)]
write_stream_list(): Cleanup

10 years agoFix reading > 16 bits from bitstream
Eric Biggers [Fri, 13 Dec 2013 17:15:19 +0000 (11:15 -0600)]
Fix reading > 16 bits from bitstream

10 years agobitstream_put_bits(): Mask high-order bits
Eric Biggers [Fri, 13 Dec 2013 16:29:35 +0000 (10:29 -0600)]
bitstream_put_bits(): Mask high-order bits

10 years agocmp_nodes_by_freq(): Correctly handle large frequencies
Eric Biggers [Fri, 13 Dec 2013 16:20:43 +0000 (10:20 -0600)]
cmp_nodes_by_freq(): Correctly handle large frequencies

10 years agowim_recalculate_refcnts(): Check for error
Eric Biggers [Fri, 13 Dec 2013 16:11:28 +0000 (10:11 -0600)]
wim_recalculate_refcnts(): Check for error

10 years agofile_io.c: Cleanup
Eric Biggers [Fri, 13 Dec 2013 16:07:43 +0000 (10:07 -0600)]
file_io.c: Cleanup

10 years agoresource.c: Fix check for invalid chunk size
Eric Biggers [Fri, 13 Dec 2013 15:59:43 +0000 (09:59 -0600)]
resource.c:  Fix check for invalid chunk size

10 years agoresource.c: Fix reading pipable resources
Eric Biggers [Fri, 13 Dec 2013 09:27:48 +0000 (03:27 -0600)]
resource.c:  Fix reading pipable resources

10 years agopaths.c: Cleanup
Eric Biggers [Fri, 13 Dec 2013 09:20:20 +0000 (03:20 -0600)]
paths.c:  Cleanup

10 years agoresource.c: Cleanup and refactor
Eric Biggers [Fri, 13 Dec 2013 08:15:27 +0000 (02:15 -0600)]
resource.c:  Cleanup and refactor

10 years agoFix error/warning conditional
Eric Biggers [Thu, 12 Dec 2013 19:59:06 +0000 (13:59 -0600)]
Fix error/warning conditional

10 years agoVariable LZX window sizes
Eric Biggers [Thu, 12 Dec 2013 19:56:37 +0000 (13:56 -0600)]
Variable LZX window sizes

10 years agoVariable chunk size support (currently XPRESS only)
Eric Biggers [Mon, 9 Dec 2013 06:26:22 +0000 (00:26 -0600)]
Variable chunk size support (currently XPRESS only)

10 years agoClean up other compression/decompression code
Eric Biggers [Mon, 9 Dec 2013 03:06:57 +0000 (21:06 -0600)]
Clean up other compression/decompression code

10 years agowimcapture: Document --compress-slow v1.5.3
Eric Biggers [Sun, 8 Dec 2013 09:24:22 +0000 (03:24 -0600)]
wimcapture: Document --compress-slow

10 years agowimoptimize: make --recompress-slow imply --compress=maximum
Eric Biggers [Sun, 8 Dec 2013 09:17:10 +0000 (03:17 -0600)]
wimoptimize: make --recompress-slow imply --compress=maximum

10 years agoMakefile.am: Fix EXTRA_DIST
Eric Biggers [Sun, 8 Dec 2013 09:11:07 +0000 (03:11 -0600)]
Makefile.am:  Fix EXTRA_DIST

10 years agoAllow changing WIM compression type
Eric Biggers [Sun, 8 Dec 2013 09:10:25 +0000 (03:10 -0600)]
Allow changing WIM compression type

10 years agowimoptimize: Add --recompress-slow, imply --recompress
Eric Biggers [Sun, 8 Dec 2013 08:26:55 +0000 (02:26 -0600)]
wimoptimize:  Add --recompress-slow, imply --recompress

10 years agoFix wimoptimize help
Eric Biggers [Sun, 8 Dec 2013 08:19:51 +0000 (02:19 -0600)]
Fix wimoptimize help

10 years agolzx-compress.c: Cleanup
Eric Biggers [Sun, 8 Dec 2013 08:14:55 +0000 (02:14 -0600)]
lzx-compress.c:  Cleanup

10 years agoAdd --compress-slow back to wimoptimize help
Eric Biggers [Sun, 8 Dec 2013 07:05:23 +0000 (01:05 -0600)]
Add --compress-slow back to wimoptimize help

10 years agoRemove unused files from programs/
Eric Biggers [Sun, 8 Dec 2013 06:52:32 +0000 (00:52 -0600)]
Remove unused files from programs/

wimapply.c was redundant with examples/applywim.c and was prone to be
confused with the 'wimapply' alias for 'wimlib-imagex apply'.

install.cmd was just an example script for a specific usage that wasn't
explained anywhere.

10 years agoRemove unused LZX compression code
Eric Biggers [Sun, 8 Dec 2013 06:48:33 +0000 (00:48 -0600)]
Remove unused LZX compression code

10 years agoUpdate clang-scan-build.sh
Eric Biggers [Sun, 8 Dec 2013 06:43:10 +0000 (00:43 -0600)]
Update clang-scan-build.sh

10 years agoUpdate version (v1.5.3)
Eric Biggers [Sun, 8 Dec 2013 06:36:47 +0000 (00:36 -0600)]
Update version (v1.5.3)

10 years agoMerge LZX compressor updates
Eric Biggers [Sun, 8 Dec 2013 06:07:37 +0000 (00:07 -0600)]
Merge LZX compressor updates

- Use a suffix array-based match-finder (construction code borrowed from
  libdivsufsort).  Ideal for this case because compression in WIM chunks
  does not use a sliding window.
- Disable block splitting by default (no efficient and effective
  algorithm is available yet)

10 years agoAdd wimlib_get_xml_data() API
Eric Biggers [Sat, 7 Dec 2013 01:04:19 +0000 (19:04 -0600)]
Add wimlib_get_xml_data() API

10 years agoxml.c: Fix writing <WINDOWS> element
Eric Biggers [Sat, 7 Dec 2013 00:40:57 +0000 (18:40 -0600)]
xml.c:  Fix writing <WINDOWS> element

A positive return value of xmlTextWriterEndElement would be incorrectly
passed up the call chain, causing an unexpected error when writing the
XML data.

10 years agowimlib_mount_image(): Correctly handle unnamed stream in ADS entries
Eric Biggers [Mon, 18 Nov 2013 03:35:13 +0000 (21:35 -0600)]
wimlib_mount_image():  Correctly handle unnamed stream in ADS entries

10 years agoFix wimlib_lzx_compress()
Eric Biggers [Mon, 18 Nov 2013 01:48:39 +0000 (19:48 -0600)]
Fix wimlib_lzx_compress()

10 years agostruct wimlib_lzx_params: Don't use anonymous union v1.5.2
Eric Biggers [Mon, 18 Nov 2013 00:13:34 +0000 (18:13 -0600)]
struct wimlib_lzx_params: Don't use anonymous union

10 years agoUpdate version info and NEWS in preparation for v1.5.2
Eric Biggers [Sun, 17 Nov 2013 23:18:30 +0000 (17:18 -0600)]
Update version info and NEWS in preparation for v1.5.2

10 years agoComment fixes / cleanups
Eric Biggers [Sun, 17 Nov 2013 23:09:02 +0000 (17:09 -0600)]
Comment fixes / cleanups

10 years agoMerge experimental LZX compressor
Eric Biggers [Sun, 17 Nov 2013 22:12:49 +0000 (16:12 -0600)]
Merge experimental LZX compressor

10 years agoImprove rename behavior on Windows
Eric Biggers [Thu, 14 Nov 2013 01:41:11 +0000 (19:41 -0600)]
Improve rename behavior on Windows

Attempt to handle the case where another process has the destination file
open by renaming and deleting the destination file.

10 years agoimagex.c: Fix string literal used in oom path only
Eric Biggers [Thu, 14 Nov 2013 00:09:27 +0000 (18:09 -0600)]
imagex.c:  Fix string literal used in oom path only

10 years agoAdd notes about possible new WIM format and LZMS compression
Eric Biggers [Wed, 13 Nov 2013 08:05:59 +0000 (02:05 -0600)]
Add notes about possible new WIM format and LZMS compression

10 years agoUpdate NEWS
Eric Biggers [Wed, 13 Nov 2013 02:59:30 +0000 (20:59 -0600)]
Update NEWS

10 years agoAdd ADS entry workaround
Eric Biggers [Wed, 13 Nov 2013 02:48:43 +0000 (20:48 -0600)]
Add ADS entry workaround

Some versions of Microsoft's WIM software (the boot driver(s) in WinPE
3.0, for example) contain a bug where they assume the first alternate
data stream (ADS) entry of a dentry with a nonzero ADS count specifies
the unnamed stream, even if it has a name and the unnamed stream is
already specified in the hash field of the dentry itself.

wimlib now works around this behavior by carefully emulating the behavior
of (most versions of) ImageX/WIMGAPI, which move the unnamed stream
reference into the alternate stream entries whenever there are named data
streams, even though there is already a field in the dentry itself for
the unnamed stream reference, which then goes to waste.

10 years agowrite.c: Fix two minor bugs in error paths
Eric Biggers [Sun, 3 Nov 2013 05:01:23 +0000 (00:01 -0500)]
write.c:  Fix two minor bugs in error paths

- Ensure that overwrite_wim_inplace() restores the original header if it
  is unable to complete successfully.
- If overwrite_wim_inplace() fails after having set
  WIM_HDR_FLAG_WRITE_IN_PROGRESS in the physical file's header, attempt
  to clear it.

10 years agontfs_3g_apply.c: Remove unused variable
Eric Biggers [Fri, 1 Nov 2013 05:28:09 +0000 (00:28 -0500)]
ntfs_3g_apply.c:  Remove unused variable

10 years ago{lzx,xpress}_decode_match(): Fix undefined pointer evalution
Eric Biggers [Fri, 1 Nov 2013 05:19:32 +0000 (00:19 -0500)]
{lzx,xpress}_decode_match():  Fix undefined pointer evalution

According to C99 6.5.6.8, calculating a pointer that points before the
allocated object has undefined behavior.  However, this was done by
lzx_decode_match() and xpress_decode_match() if they received a match
pointing before the end of the window (invalid match offset).  This
commit fixes this check to be fully defined.

This change likely has no visible effect in actual builds, e.g. with gcc.

10 years agonew_wim_struct(): Don't dereference NULL in out-of-memory case
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

10 years agolzx-decompress.c: Fix alignment bug
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.

10 years agoarchlinux/PKGBUILD: Fix pkgdesc
Eric Biggers [Fri, 11 Oct 2013 19:46:01 +0000 (14:46 -0500)]
archlinux/PKGBUILD:  Fix pkgdesc

10 years agomkwinpeimg: Quote $0 v1.5.1
Eric Biggers [Fri, 11 Oct 2013 16:06:49 +0000 (11:06 -0500)]
mkwinpeimg:  Quote $0

10 years agowimcapture: Allow specifying `--delta-from' multiple times
Eric Biggers [Fri, 11 Oct 2013 15:38:45 +0000 (10:38 -0500)]
wimcapture:  Allow specifying `--delta-from' multiple times

10 years agoimagex.c: Rename `struct refglob_set' => `struct string_set'
Eric Biggers [Fri, 11 Oct 2013 14:49:20 +0000 (09:49 -0500)]
imagex.c:  Rename `struct refglob_set' => `struct string_set'

10 years agoUpdate version number to 1.5.1
Eric Biggers [Fri, 11 Oct 2013 14:38:50 +0000 (09:38 -0500)]
Update version number to 1.5.1

10 years agoUpdate NEWS
Eric Biggers [Mon, 7 Oct 2013 07:00:54 +0000 (02:00 -0500)]
Update NEWS

10 years agoImplement workaround for NTFS-3g bug when handling empty DACLs
Eric Biggers [Mon, 7 Oct 2013 06:55:07 +0000 (01:55 -0500)]
Implement workaround for NTFS-3g bug when handling empty DACLs

10 years agoNEWS: Clarify bugfix
Eric Biggers [Fri, 20 Sep 2013 17:16:46 +0000 (12:16 -0500)]
NEWS:  Clarify bugfix

10 years agodo_extract_warnings(): Adjust wording of warning
Eric Biggers [Tue, 17 Sep 2013 00:54:14 +0000 (19:54 -0500)]
do_extract_warnings():  Adjust wording of warning

10 years agoimagex-capture.1.in: Fix brackets in --update-of docs
Eric Biggers [Mon, 16 Sep 2013 04:08:06 +0000 (23:08 -0500)]
imagex-capture.1.in:  Fix brackets in --update-of docs

10 years agoimagex_capture_or_append(): Correctly use template_wim
Eric Biggers [Mon, 16 Sep 2013 04:06:10 +0000 (23:06 -0500)]
imagex_capture_or_append():  Correctly use template_wim

10 years agoxml.c: Define more architecture constants
Eric Biggers [Sun, 15 Sep 2013 20:50:28 +0000 (15:50 -0500)]
xml.c:  Define more architecture constants

10 years agobegin_read(): Fix comment
Eric Biggers [Sun, 15 Sep 2013 19:38:18 +0000 (14:38 -0500)]
begin_read():  Fix comment

10 years agoread_wim_lookup_table(): Ignore metadata entries with refcnt == 0
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.

10 years agodentry_extract_skeleton(): Fix bug with DOS name reordering
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.

10 years agowin32_get_security_descriptor(): Use errno
Eric Biggers [Mon, 2 Sep 2013 14:03:50 +0000 (09:03 -0500)]
win32_get_security_descriptor():  Use errno

10 years agoUpdate release scripts v1.5.0
Eric Biggers [Sun, 1 Sep 2013 21:32:12 +0000 (16:32 -0500)]
Update release scripts

10 years agowimlib.h: Group declarations into modules
Eric Biggers [Sun, 1 Sep 2013 20:56:57 +0000 (15:56 -0500)]
wimlib.h:  Group declarations into modules

10 years agowimlib_iterate_dir_tree(): Define behavior when resources missing
Eric Biggers [Sun, 1 Sep 2013 16:12:59 +0000 (11:12 -0500)]
wimlib_iterate_dir_tree():  Define behavior when resources missing

10 years agoReplace WIMLIB_OPEN_FLAG_SPLIT_OK with WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT
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.

10 years agowimlib.h: Move `enum wimlib_update_op' to global scope
Eric Biggers [Sun, 1 Sep 2013 03:00:44 +0000 (22:00 -0500)]
wimlib.h:  Move `enum wimlib_update_op' to global scope

10 years agofinish_write(): Add a few more comments
Eric Biggers [Sun, 1 Sep 2013 01:57:23 +0000 (20:57 -0500)]
finish_write():  Add a few more comments

10 years agowrite_integrity_table(): Fix documented return values
Eric Biggers [Sun, 1 Sep 2013 01:47:03 +0000 (20:47 -0500)]
write_integrity_table():  Fix documented return values

10 years agofinish_write(): Fix comment
Eric Biggers [Sun, 1 Sep 2013 01:41:28 +0000 (20:41 -0500)]
finish_write():  Fix comment

10 years agowrite_pipable_wim(): Fix/improve comment
Eric Biggers [Sun, 1 Sep 2013 01:35:56 +0000 (20:35 -0500)]
write_pipable_wim():  Fix/improve comment

10 years agoWIMStruct: Remove unused flag
Eric Biggers [Sun, 1 Sep 2013 01:15:45 +0000 (20:15 -0500)]
WIMStruct:  Remove unused flag

10 years agoimagex-capture.1.in: Clarify --update-of slightly
Eric Biggers [Sun, 1 Sep 2013 01:03:16 +0000 (20:03 -0500)]
imagex-capture.1.in:  Clarify --update-of slightly

10 years agotranslate_text_to_tstr(): Correctly compare byte values
Eric Biggers [Sun, 1 Sep 2013 00:57:01 +0000 (19:57 -0500)]
translate_text_to_tstr():  Correctly compare byte values

10 years agowrite_integrity_table(): Fix use of uninitialized variable
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.)

10 years agowin32_recurse_directory(): Handle not implemented/supported
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().

10 years agowin32_capture_streams(): Handle not implemented/supported
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).

10 years agowin32_capture_streams(): Fix uninitialized return value in non-default case
Eric Biggers [Sat, 31 Aug 2013 23:46:05 +0000 (18:46 -0500)]
win32_capture_streams():  Fix uninitialized return value in non-default case

10 years agoWin32: Define _CRT_NON_CONFORMING_SWPRINTFS
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.

10 years agowimlib-imagex: Tweak invalid image error message
Eric Biggers [Tue, 27 Aug 2013 17:57:06 +0000 (12:57 -0500)]
wimlib-imagex:  Tweak invalid image error message

10 years agowimlib.h: C++ compatibility
Eric Biggers [Tue, 27 Aug 2013 17:34:01 +0000 (12:34 -0500)]
wimlib.h:  C++ compatibility

10 years agoWindows: Use .cmd extension for wimlib-imagex shortcuts
Eric Biggers [Tue, 27 Aug 2013 17:24:21 +0000 (12:24 -0500)]
Windows:  Use .cmd extension for wimlib-imagex shortcuts

10 years agoMinor fixes
Eric Biggers [Thu, 22 Aug 2013 01:20:05 +0000 (20:20 -0500)]
Minor fixes

10 years agoFix programs not compiled by default
Eric Biggers [Wed, 21 Aug 2013 04:35:25 +0000 (23:35 -0500)]
Fix programs not compiled by default

10 years agoWindows: Load ntdll functions dynamically
Eric Biggers [Wed, 21 Aug 2013 03:16:33 +0000 (22:16 -0500)]
Windows: Load ntdll functions dynamically

10 years agoUpdate docs; strip Windows binaries & place directly in ZIP
Eric Biggers [Wed, 21 Aug 2013 02:22:51 +0000 (21:22 -0500)]
Update docs; strip Windows binaries & place directly in ZIP