wimlib
3 years agoMark VSS support non-experimental
Eric Biggers [Sat, 6 Feb 2016 15:47:18 +0000 (09:47 -0600)]
Mark VSS support non-experimental

3 years agotools/windeps: update Windows dependencies Makefile
Eric Biggers [Sat, 6 Feb 2016 15:47:17 +0000 (09:47 -0600)]
tools/windeps: update Windows dependencies Makefile

* Directly use release tarballs and verify checksums
* Upgrade libxml2 from v2.9.2 to v2.9.3

3 years agoconfigure.ac: enable silent make rules
Eric Biggers [Sat, 6 Feb 2016 15:47:16 +0000 (09:47 -0600)]
configure.ac: enable silent make rules

3 years agoMakefile.am: remove '--tag NASM' from libtool command line
Eric Biggers [Sat, 6 Feb 2016 15:47:15 +0000 (09:47 -0600)]
Makefile.am: remove '--tag NASM' from libtool command line

libtool does not recognize this argument.

3 years agowrite.c: warn if WIM file cannot be truncated
Eric Biggers [Sat, 6 Feb 2016 15:47:14 +0000 (09:47 -0600)]
write.c: warn if WIM file cannot be truncated

Somewhat pointless since this is already an error path, but this avoids
a gcc warning about ftruncate()'s return value not being used.

3 years agoAddress MinGW compiler warnings (harmless)
Eric Biggers [Sat, 6 Feb 2016 15:47:13 +0000 (09:47 -0600)]
Address MinGW compiler warnings (harmless)

3 years agocompiler.h: start honoring _format_attribute on UNIX
Eric Biggers [Sat, 6 Feb 2016 15:47:12 +0000 (09:47 -0600)]
compiler.h: start honoring _format_attribute on UNIX

3 years agocompiler.h: remove concept of different unaligned access speeds
Eric Biggers [Sat, 6 Feb 2016 15:47:11 +0000 (09:47 -0600)]
compiler.h: remove concept of different unaligned access speeds

Just having fast and slow seems to be enough.

3 years agoMark functions containing only static assertions intentionally unused
Eric Biggers [Sat, 6 Feb 2016 15:47:11 +0000 (09:47 -0600)]
Mark functions containing only static assertions intentionally unused

3 years agoMerge compiler-gcc.h into compiler.h
Eric Biggers [Sat, 6 Feb 2016 15:47:10 +0000 (09:47 -0600)]
Merge compiler-gcc.h into compiler.h

Compiling with MSVC or another non-GCC-like compiler will be harder than
previously thought.  Since it's not currently a goal, simplify things by
just merging compiler-gcc.h into compiler.h.

3 years agoextract.c: replace tempnam() with mkstemp() on non-Windows
Eric Biggers [Sat, 6 Feb 2016 15:47:08 +0000 (09:47 -0600)]
extract.c: replace tempnam() with mkstemp() on non-Windows

tempnam() produces an annoying warning when linking, even though wimlib
was using it safely (with O_EXCL to make it race-free).  Just replace it
with mkstemp() anyway.

3 years agolzms_common.h: add cast needed if sizeof(int) > sizeof(u32)
Eric Biggers [Fri, 5 Feb 2016 01:19:08 +0000 (19:19 -0600)]
lzms_common.h: add cast needed if sizeof(int) > sizeof(u32)

3 years agoImage metadata updates
Eric Biggers [Thu, 4 Feb 2016 01:20:26 +0000 (19:20 -0600)]
Image metadata updates

- Maintain selected_count of each WIM image
- Unload each WIM image when it is no longer selected by any WIMStruct
- Enforce that every 'wim_image_metadata' is created in a valid state
- Simplify NEW_IMAGE support for read-write mounts
- Improve comments

3 years agoinode_fixup: don't warn about inode corrections
Eric Biggers [Wed, 3 Feb 2016 01:36:35 +0000 (19:36 -0600)]
inode_fixup: don't warn about inode corrections

This warning is usually not actionable, and people may assume it
indicates a problem with wimlib rather than the program which created the
WIM image.  So just remove it.

3 years agoarchlinux/PKGBUILD: ntfsprogs is now included in ntfs-3g package
Eric Biggers [Tue, 2 Feb 2016 01:16:53 +0000 (19:16 -0600)]
archlinux/PKGBUILD: ntfsprogs is now included in ntfs-3g package

3 years agov1.9.0 v1.9.0
Eric Biggers [Sun, 31 Jan 2016 05:59:22 +0000 (23:59 -0600)]
v1.9.0

3 years agowimlib.h: add "since" note for WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED
Eric Biggers [Wed, 27 Jan 2016 01:45:33 +0000 (19:45 -0600)]
wimlib.h: add "since" note for WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED

3 years agowin32_capture: don't ask for permission to read data when not needed
Eric Biggers [Fri, 22 Jan 2016 05:00:12 +0000 (23:00 -0600)]
win32_capture: don't ask for permission to read data when not needed

3 years agowin32_capture: correctly handle unspecified security IDs in MFT
Eric Biggers [Fri, 22 Jan 2016 04:58:16 +0000 (22:58 -0600)]
win32_capture: correctly handle unspecified security IDs in MFT

3 years agoregistry: define MAX_VALUE_SIZE with other limits
Eric Biggers [Fri, 22 Jan 2016 02:01:54 +0000 (20:01 -0600)]
registry: define MAX_VALUE_SIZE with other limits

3 years agoblob_table: decrease initial blob table size
Eric Biggers [Mon, 18 Jan 2016 06:01:26 +0000 (00:01 -0600)]
blob_table: decrease initial blob table size

3 years agoinode_table: don't bother clearing array while preparing list
Eric Biggers [Mon, 18 Jan 2016 06:08:02 +0000 (00:08 -0600)]
inode_table: don't bother clearing array while preparing list

3 years agoinode_table: make the inode table resizable
Eric Biggers [Mon, 18 Jan 2016 04:43:30 +0000 (22:43 -0600)]
inode_table: make the inode table resizable

3 years agowimcapture, wimappend: opt in to open by file ID
Eric Biggers [Sun, 17 Jan 2016 23:06:13 +0000 (17:06 -0600)]
wimcapture, wimappend: opt in to open by file ID

3 years agowin32_capture: make open by file ID opt-in
Eric Biggers [Sun, 17 Jan 2016 23:06:12 +0000 (17:06 -0600)]
win32_capture: make open by file ID opt-in

3 years agoxml: (style) use u32 instead of uint32_t
Eric Biggers [Sun, 17 Jan 2016 23:06:11 +0000 (17:06 -0600)]
xml: (style) use u32 instead of uint32_t

3 years agoupdate_image: tweak error message for SNAPSHOT mode unsupported
Eric Biggers [Sun, 17 Jan 2016 23:06:10 +0000 (17:06 -0600)]
update_image: tweak error message for SNAPSHOT mode unsupported

3 years agowiminfo: remove old --metadata option
Eric Biggers [Sun, 17 Jan 2016 23:06:09 +0000 (17:06 -0600)]
wiminfo: remove old --metadata option

3 years agowimlib-imagex: remove old --compress-slow options
Eric Biggers [Sun, 17 Jan 2016 23:08:38 +0000 (17:08 -0600)]
wimlib-imagex: remove old --compress-slow options

3 years agowimlib-imagex: remove old --pack-* option aliases for --solid-*
Eric Biggers [Sun, 17 Jan 2016 23:06:08 +0000 (17:06 -0600)]
wimlib-imagex: remove old --pack-* option aliases for --solid-*

3 years agowimlib-imagex: remove unused "resume" option which does nothing
Eric Biggers [Sun, 17 Jan 2016 23:06:08 +0000 (17:06 -0600)]
wimlib-imagex: remove unused "resume" option which does nothing

3 years agowimlib.h: remove old PACK_STREAMS alias for SOLID
Eric Biggers [Sun, 17 Jan 2016 23:06:07 +0000 (17:06 -0600)]
wimlib.h: remove old PACK_STREAMS alias for SOLID

3 years agowimlib.h: remove unused RESUME flag
Eric Biggers [Sun, 17 Jan 2016 23:06:06 +0000 (17:06 -0600)]
wimlib.h: remove unused RESUME flag

3 years agowimlib.h: remove old ADD_IMAGE_FLAG aliases
Eric Biggers [Sun, 17 Jan 2016 23:06:04 +0000 (17:06 -0600)]
wimlib.h: remove old ADD_IMAGE_FLAG aliases

3 years agoxml_windows: get correct build number from Windows XP registry
Eric Biggers [Sun, 17 Jan 2016 17:56:39 +0000 (11:56 -0600)]
xml_windows: get correct build number from Windows XP registry

3 years agowin32_capture: pass proper path to scan callback
Eric Biggers [Sun, 17 Jan 2016 17:34:50 +0000 (11:34 -0600)]
win32_capture: pass proper path to scan callback

3 years agowin32_capture: add alternate scan routine that uses FSCTL_QUERY_FILE_LAYOUT
Eric Biggers [Sun, 17 Jan 2016 17:22:31 +0000 (11:22 -0600)]
win32_capture: add alternate scan routine that uses FSCTL_QUERY_FILE_LAYOUT

3 years agoAdd a .gitignore file
Eric Biggers [Sat, 9 Jan 2016 23:48:41 +0000 (17:48 -0600)]
Add a .gitignore file

3 years agoxml_windows: support non-default system roots
Eric Biggers [Sat, 9 Jan 2016 19:54:17 +0000 (13:54 -0600)]
xml_windows: support non-default system roots

3 years agowimlib-imagex: warn about potential --compress=recovery confusion
Eric Biggers [Sat, 9 Jan 2016 18:52:28 +0000 (12:52 -0600)]
wimlib-imagex: warn about potential --compress=recovery confusion

3 years agoReport every link in scan progress
Eric Biggers [Sat, 9 Jan 2016 17:53:16 +0000 (11:53 -0600)]
Report every link in scan progress

3 years agowimlib-imagex: tweaks to write progress messages
Eric Biggers [Sat, 9 Jan 2016 17:42:21 +0000 (11:42 -0600)]
wimlib-imagex: tweaks to write progress messages

3 years agoextract: track READONLY attribute in supported_features
Eric Biggers [Wed, 6 Jan 2016 02:19:52 +0000 (20:19 -0600)]
extract: track READONLY attribute in supported_features

3 years agoxml: support ARM64 architecture code
Eric Biggers [Sat, 2 Jan 2016 22:28:52 +0000 (16:28 -0600)]
xml: support ARM64 architecture code

3 years agovss: support on Windows XP
Eric Biggers [Sat, 2 Jan 2016 19:30:01 +0000 (13:30 -0600)]
vss: support on Windows XP

3 years agowin32_capture: check for STATUS_NOT_SUPPORTED from FSCTL_GET_EXTERNAL_BACKING
Eric Biggers [Sat, 2 Jan 2016 17:34:37 +0000 (11:34 -0600)]
win32_capture: check for STATUS_NOT_SUPPORTED from FSCTL_GET_EXTERNAL_BACKING

3 years agoregistry: support long subkey lists
Eric Biggers [Sat, 2 Jan 2016 17:25:17 +0000 (11:25 -0600)]
registry: support long subkey lists

3 years agovss: note that it's only supported on Vista and later
Eric Biggers [Sat, 2 Jan 2016 16:28:32 +0000 (10:28 -0600)]
vss: note that it's only supported on Vista and later

3 years agoImplement setting of Windows-specific XML information
Eric Biggers [Fri, 1 Jan 2016 17:26:20 +0000 (11:26 -0600)]
Implement setting of Windows-specific XML information

3 years agovss: add useful warning for WOW64 processes
Eric Biggers [Fri, 1 Jan 2016 17:24:12 +0000 (11:24 -0600)]
vss: add useful warning for WOW64 processes

3 years agowimlib-imagex: list --snapshot option in help output
Eric Biggers [Thu, 31 Dec 2015 20:40:52 +0000 (14:40 -0600)]
wimlib-imagex: list --snapshot option in help output

3 years agoUse v1.9.0 for next version
Eric Biggers [Sun, 27 Dec 2015 15:57:52 +0000 (09:57 -0600)]
Use v1.9.0 for next version

3 years agoAdd experimental support for Windows VSS
Eric Biggers [Sun, 27 Dec 2015 15:53:27 +0000 (09:53 -0600)]
Add experimental support for Windows VSS

3 years agowimcapture.1: 7-Zip 15.12 supports LZMS decompression
Eric Biggers [Tue, 22 Dec 2015 00:34:40 +0000 (18:34 -0600)]
wimcapture.1: 7-Zip 15.12 supports LZMS decompression

3 years agov1.8.4-BETA
Eric Biggers [Sat, 19 Dec 2015 22:32:25 +0000 (16:32 -0600)]
v1.8.4-BETA

3 years agowimlib-imagex: add --image-property option to wimcapture, wimappend, wiminfo
Eric Biggers [Sat, 19 Dec 2015 22:32:24 +0000 (16:32 -0600)]
wimlib-imagex: add --image-property option to wimcapture, wimappend, wiminfo

3 years agoxml.c: make the different functions to get/set image properties more consistent
Eric Biggers [Sat, 19 Dec 2015 22:32:23 +0000 (16:32 -0600)]
xml.c: make the different functions to get/set image properties more consistent

3 years agoxml.c: support numerically indexed elements in wimlib_{get,set}_image_property()
Eric Biggers [Sat, 19 Dec 2015 22:32:22 +0000 (16:32 -0600)]
xml.c: support numerically indexed elements in wimlib_{get,set}_image_property()

3 years agoUse HTTPS for all links to website
Eric Biggers [Sat, 5 Dec 2015 20:24:05 +0000 (14:24 -0600)]
Use HTTPS for all links to website

3 years agolz_extend.h: fix for CPU_IS_BIG_ENDIAN && UNALIGNED_ACCESS_IS_FAST
Eric Biggers [Sat, 5 Dec 2015 06:46:53 +0000 (00:46 -0600)]
lz_extend.h: fix for CPU_IS_BIG_ENDIAN && UNALIGNED_ACCESS_IS_FAST

3 years agoRemove configure.windows (unused script)
Eric Biggers [Thu, 3 Dec 2015 03:38:26 +0000 (21:38 -0600)]
Remove configure.windows (unused script)

3 years agowin32_apply.c: don't clear directory DACL in NO_ACLS mode
Eric Biggers [Wed, 25 Nov 2015 04:19:01 +0000 (22:19 -0600)]
win32_apply.c: don't clear directory DACL in NO_ACLS mode

3 years agowin32_apply.c: don't clear directory attributes in NO_ATTRIBUTES mode
Eric Biggers [Wed, 25 Nov 2015 04:18:48 +0000 (22:18 -0600)]
win32_apply.c: don't clear directory attributes in NO_ATTRIBUTES mode

3 years agowin32_common.c: get NTSTATUS error messages from ntdll
Eric Biggers [Wed, 25 Nov 2015 04:14:51 +0000 (22:14 -0600)]
win32_common.c: get NTSTATUS error messages from ntdll

3 years agowim.c: replace finalize_wim_struct() with wim_decrement_refcnt()
Eric Biggers [Wed, 25 Nov 2015 04:11:58 +0000 (22:11 -0600)]
wim.c: replace finalize_wim_struct() with wim_decrement_refcnt()

3 years agounaligned.h: slightly simplify get/put unaligned functions
Eric Biggers [Sat, 21 Nov 2015 02:43:02 +0000 (20:43 -0600)]
unaligned.h: slightly simplify get/put unaligned functions

4 years agoLZMS: always correctly handle misaligned buffers
Eric Biggers [Sat, 21 Nov 2015 02:42:25 +0000 (20:42 -0600)]
LZMS: always correctly handle misaligned buffers

4 years agoAdjust names of get/put unaligned functions
Eric Biggers [Sat, 21 Nov 2015 02:28:39 +0000 (20:28 -0600)]
Adjust names of get/put unaligned functions

get_unaligned_u16_le => get_unaligned_le16
get_unaligned_u32_le => get_unaligned_le32
put_unaligned_u16_le => put_unaligned_le16
put_unaligned_u32_le => put_unaligned_le32

4 years agoresource.c: fix comment about 4 GiB cutoff
Eric Biggers [Sat, 21 Nov 2015 02:18:32 +0000 (20:18 -0600)]
resource.c: fix comment about 4 GiB cutoff

4 years agov1.8.3 v1.8.3
Eric Biggers [Sat, 14 Nov 2015 19:30:27 +0000 (13:30 -0600)]
v1.8.3

4 years agowin32_apply.c: remove DACL from existing directories
Eric Biggers [Sat, 14 Nov 2015 04:52:54 +0000 (22:52 -0600)]
win32_apply.c: remove DACL from existing directories

4 years agowin32_apply.c: rework file deletion
Eric Biggers [Sat, 14 Nov 2015 02:25:42 +0000 (20:25 -0600)]
win32_apply.c: rework file deletion

Faster path for the common case: just open with FILE_DELETE_ON_CLOSE and
close.

4 years agowimlib_split(): fix bug where no parts would be written if WIM contained no images
Eric Biggers [Thu, 12 Nov 2015 03:48:35 +0000 (21:48 -0600)]
wimlib_split(): fix bug where no parts would be written if WIM contained no images

4 years agowrite.c: let compaction work on untruncatable files
Eric Biggers [Thu, 12 Nov 2015 01:43:17 +0000 (19:43 -0600)]
write.c: let compaction work on untruncatable files

4 years agolzx_compress.c: minor comment fix
Eric Biggers [Thu, 12 Nov 2015 01:31:05 +0000 (19:31 -0600)]
lzx_compress.c: minor comment fix

4 years agoUpdate NEWS
Eric Biggers [Sat, 7 Nov 2015 21:04:02 +0000 (15:04 -0600)]
Update NEWS

4 years agowimappend: fix setting of chunk size when using --wimboot flag
Eric Biggers [Sat, 7 Nov 2015 18:27:22 +0000 (12:27 -0600)]
wimappend: fix setting of chunk size when using --wimboot flag

4 years agowimlib.h: document added behavior of WIMLIB_ADD_FLAG_WIMBOOT
Eric Biggers [Wed, 4 Nov 2015 03:32:27 +0000 (21:32 -0600)]
wimlib.h: document added behavior of WIMLIB_ADD_FLAG_WIMBOOT

4 years agowin32_capture.c: more general fixup of WIM-backed files
Eric Biggers [Sat, 7 Nov 2015 19:20:00 +0000 (13:20 -0600)]
win32_capture.c: more general fixup of WIM-backed files

4 years agolzx_compress.c: remove unused function
Eric Biggers [Thu, 5 Nov 2015 04:29:49 +0000 (22:29 -0600)]
lzx_compress.c: remove unused function

4 years agolzx_compress.c: tweak code formatting
Eric Biggers [Thu, 5 Nov 2015 04:14:03 +0000 (22:14 -0600)]
lzx_compress.c: tweak code formatting

4 years agolzx_compress.c: avoid undefined shifts in lzx_flush_bits()
Eric Biggers [Thu, 5 Nov 2015 04:09:22 +0000 (22:09 -0600)]
lzx_compress.c: avoid undefined shifts in lzx_flush_bits()

4 years agoresource.c: fix bug in read_compressed_wim_resource()
Eric Biggers [Thu, 5 Nov 2015 03:55:02 +0000 (21:55 -0600)]
resource.c: fix bug in read_compressed_wim_resource()

The number of chunk entries to read could be incorrectly computed as 1
rather than 0.  This caused an on-stack array to be overflowed by 8
bytes.

4 years agotests/tests-common.sh: fix references to /dev/null
Eric Biggers [Thu, 5 Nov 2015 02:50:12 +0000 (20:50 -0600)]
tests/tests-common.sh: fix references to /dev/null

4 years agoAvoid passing NULL as memcpy source (undefined behavior)
Eric Biggers [Thu, 5 Nov 2015 02:43:27 +0000 (20:43 -0600)]
Avoid passing NULL as memcpy source (undefined behavior)

4 years agosecurity_descriptor.h: updates
Eric Biggers [Thu, 5 Nov 2015 02:18:01 +0000 (20:18 -0600)]
security_descriptor.h: updates

- move SID and ACL earlier in the file
- replace sid_start with SID
- define ACE types

4 years agowimlib_tchar.h: add tstrtoull()
Eric Biggers [Tue, 3 Nov 2015 03:27:42 +0000 (21:27 -0600)]
wimlib_tchar.h: add tstrtoull()

4 years agontfs-3g_apply.c: Warn about non-Microsoft reparse point bug
Eric Biggers [Wed, 4 Nov 2015 03:22:57 +0000 (21:22 -0600)]
ntfs-3g_apply.c: Warn about non-Microsoft reparse point bug

4 years agoFix extracting non-Microsoft reparse points
Eric Biggers [Wed, 4 Nov 2015 03:13:37 +0000 (21:13 -0600)]
Fix extracting non-Microsoft reparse points

4 years agowin32_apply.c: wait for FSCTL_SET_COMPRESSION to complete
Eric Biggers [Tue, 3 Nov 2015 05:30:01 +0000 (23:30 -0600)]
win32_apply.c: wait for FSCTL_SET_COMPRESSION to complete

4 years agontfs_3g_apply.c: work around EOPNOTSUPP when setting short name of reparse point...
Eric Biggers [Sun, 1 Nov 2015 00:00:39 +0000 (19:00 -0500)]
ntfs_3g_apply.c: work around EOPNOTSUPP when setting short name of reparse point file

4 years agontfs-3g_apply.c: handle ntfs_attr_pwrite() short writes
Eric Biggers [Sat, 31 Oct 2015 17:59:11 +0000 (12:59 -0500)]
ntfs-3g_apply.c: handle ntfs_attr_pwrite() short writes

4 years agontfs-3g_apply.c: restore root directory attributes
Eric Biggers [Mon, 26 Oct 2015 02:56:45 +0000 (21:56 -0500)]
ntfs-3g_apply.c: restore root directory attributes

4 years agounix_apply.c: extract non-link directory reparse points as directories
Eric Biggers [Mon, 26 Oct 2015 00:37:19 +0000 (19:37 -0500)]
unix_apply.c: extract non-link directory reparse points as directories

4 years agowrite.c: correctly handle no existing blob table during overwrite
Eric Biggers [Sat, 24 Oct 2015 20:38:04 +0000 (15:38 -0500)]
write.c: correctly handle no existing blob table during overwrite

4 years agowrite.c: ensure that 'old_integrity_table' is always freed
Eric Biggers [Sat, 24 Oct 2015 19:46:11 +0000 (14:46 -0500)]
write.c: ensure that 'old_integrity_table' is always freed

4 years agowrite.c: don't write integrity table if there is no blob table
Eric Biggers [Sat, 24 Oct 2015 19:31:24 +0000 (14:31 -0500)]
write.c: don't write integrity table if there is no blob table

The following commands would produce an invalid integrity table:

wimcapture empty empty.wim
wimdelete delete empty.wim 1 --check

4 years agowin32_capture.c: experimental fixup of WIM-backed files
Eric Biggers [Sun, 1 Nov 2015 18:34:42 +0000 (12:34 -0600)]
win32_capture.c: experimental fixup of WIM-backed files

4 years agowrite.c: send first WRITE_STREAMS message before writing raw copy blobs
Eric Biggers [Fri, 23 Oct 2015 04:13:03 +0000 (23:13 -0500)]
write.c: send first WRITE_STREAMS message before writing raw copy blobs

4 years agowrite.c: compaction bug fix
Eric Biggers [Fri, 23 Oct 2015 04:07:01 +0000 (23:07 -0500)]
write.c: compaction bug fix