wimlib
3 years agoAdd randomized testing program
Eric Biggers [Sun, 17 Apr 2016 14:44:54 +0000 (09:44 -0500)]
Add randomized testing program

Introduce the ability to configure the library with test-specific code,
add in-library code for directory tree generation and comparison, and add
the "wlfuzz" randomized test runner which uses the new functionality.

3 years agov1.9.1 v1.9.1
Eric Biggers [Sat, 12 Mar 2016 03:54:17 +0000 (21:54 -0600)]
v1.9.1

3 years agoUpdate NEWS
Eric Biggers [Sat, 12 Mar 2016 03:53:25 +0000 (21:53 -0600)]
Update NEWS

3 years agowin32_apply.c: correct return value of adjust_compression_attribute
Eric Biggers [Sat, 12 Mar 2016 03:35:24 +0000 (21:35 -0600)]
win32_apply.c: correct return value of adjust_compression_attribute

3 years agoFix detection of non UTF-8 locales
Eric Biggers [Sun, 6 Mar 2016 23:17:46 +0000 (17:17 -0600)]
Fix detection of non UTF-8 locales

3 years agoRemove sle{16,32,64} types
Eric Biggers [Fri, 4 Mar 2016 07:21:22 +0000 (01:21 -0600)]
Remove sle{16,32,64} types

3 years agowin32_capture: Enlarge FSCTL_QUERY_FILE_LAYOUT buffer when needed
Eric Biggers [Fri, 4 Mar 2016 02:57:47 +0000 (20:57 -0600)]
win32_capture: Enlarge FSCTL_QUERY_FILE_LAYOUT buffer when needed

32768 bytes is not always enough.

3 years agowimmount.1: remove mention of deprecated --lazy option
Eric Biggers [Thu, 3 Mar 2016 03:33:37 +0000 (21:33 -0600)]
wimmount.1: remove mention of deprecated --lazy option

3 years agoREADME.WINDOWS: clarify different license files
Eric Biggers [Thu, 3 Mar 2016 03:26:17 +0000 (21:26 -0600)]
README.WINDOWS: clarify different license files

3 years agoInclude divsufsort.c license with Windows distribution
Eric Biggers [Thu, 3 Mar 2016 03:16:34 +0000 (21:16 -0600)]
Include divsufsort.c license with Windows distribution

3 years agos/NTFS-3g/NTFS-3G/g
Eric Biggers [Thu, 3 Mar 2016 03:09:08 +0000 (21:09 -0600)]
s/NTFS-3g/NTFS-3G/g

3 years agoRename string_set to string_list
Eric Biggers [Thu, 3 Mar 2016 03:04:41 +0000 (21:04 -0600)]
Rename string_set to string_list

3 years agoVarious renamings from "capture" to "scan"
Eric Biggers [Thu, 3 Mar 2016 02:07:19 +0000 (20:07 -0600)]
Various renamings from "capture" to "scan"

3 years agoBriefly describe --unsafe-compact for each command
Eric Biggers [Thu, 25 Feb 2016 01:41:30 +0000 (19:41 -0600)]
Briefly describe --unsafe-compact for each command

3 years agowimapply.1: update mentions of sparse file attribute
Eric Biggers [Thu, 25 Feb 2016 00:56:41 +0000 (18:56 -0600)]
wimapply.1: update mentions of sparse file attribute

3 years agoUpdate feature lists
Eric Biggers [Mon, 22 Feb 2016 05:14:41 +0000 (23:14 -0600)]
Update feature lists

3 years agoMove compression benchmark tables to website
Eric Biggers [Mon, 22 Feb 2016 04:50:11 +0000 (22:50 -0600)]
Move compression benchmark tables to website

3 years agoStandardize wording: "since wimlib vX.X.X"
Eric Biggers [Mon, 22 Feb 2016 03:30:25 +0000 (21:30 -0600)]
Standardize wording: "since wimlib vX.X.X"

3 years agowin32-test-imagex-capture_and_apply: eliminate unnecessary %errorlevel% checks
Eric Biggers [Sun, 21 Feb 2016 04:54:13 +0000 (22:54 -0600)]
win32-test-imagex-capture_and_apply: eliminate unnecessary %errorlevel% checks

3 years agoRename tests-common.sh => test_utils.sh
Eric Biggers [Sun, 21 Feb 2016 04:43:41 +0000 (22:43 -0600)]
Rename tests-common.sh => test_utils.sh

3 years agoRemove tests/multi-mount
Eric Biggers [Sun, 21 Feb 2016 04:34:13 +0000 (22:34 -0600)]
Remove tests/multi-mount

3 years agowin32_apply.c: fix misleading indentation
Eric Biggers [Sun, 21 Feb 2016 04:27:18 +0000 (22:27 -0600)]
win32_apply.c: fix misleading indentation

3 years agowimlib.h: various documentation cleanups and improvements
Eric Biggers [Thu, 18 Feb 2016 02:21:45 +0000 (20:21 -0600)]
wimlib.h: various documentation cleanups and improvements

3 years agoerror.c: clarify two error descriptions
Eric Biggers [Thu, 18 Feb 2016 02:21:44 +0000 (20:21 -0600)]
error.c: clarify two error descriptions

3 years agoUpdate NEWS
Eric Biggers [Thu, 18 Feb 2016 02:21:43 +0000 (20:21 -0600)]
Update NEWS

3 years agoMake 'wimdir --detailed' show object IDs
Eric Biggers [Thu, 18 Feb 2016 02:21:43 +0000 (20:21 -0600)]
Make 'wimdir --detailed' show object IDs

3 years agoAdd support for capturing/applying object IDs
Eric Biggers [Thu, 18 Feb 2016 02:21:42 +0000 (20:21 -0600)]
Add support for capturing/applying object IDs

3 years agowin32_common: simplify DLL initialization
Eric Biggers [Thu, 18 Feb 2016 02:21:41 +0000 (20:21 -0600)]
win32_common: simplify DLL initialization

3 years agoDirectly link with ntdll on Windows
Eric Biggers [Thu, 18 Feb 2016 02:21:40 +0000 (20:21 -0600)]
Directly link with ntdll on Windows

3 years agowin32_capture: handle NtQuerySecurityObject returning an empty descriptor
Eric Biggers [Thu, 18 Feb 2016 02:21:39 +0000 (20:21 -0600)]
win32_capture: handle NtQuerySecurityObject returning an empty descriptor

3 years agowin32_common: add winnt_fsctl() helper method
Eric Biggers [Thu, 18 Feb 2016 02:21:38 +0000 (20:21 -0600)]
win32_common: add winnt_fsctl() helper method

This is needed to handle STATUS_PENDING.

3 years agomake-windows-release: allow *.cmd files to operate from paths w/ spaces
Mike Swanson [Tue, 16 Feb 2016 02:43:15 +0000 (18:43 -0800)]
make-windows-release: allow *.cmd files to operate from paths w/ spaces

If wimlib is unpacked in a path with spaces in it, such as
"C:\Documents and Settings" (default user location on Windows XP), the
shell will prompt back with a message like:

    'C:\Documents' is not recognized as an internal or external command,
    operable program or batch file.

Simply using double quotes as a guard resolves this and allows it to work.

3 years agoUse -Wall -Werror when compiling releases
Eric Biggers [Sun, 14 Feb 2016 04:32:49 +0000 (22:32 -0600)]
Use -Wall -Werror when compiling releases

3 years agoxml.c: pass non-const xmlNode to xmlHasProp()
Eric Biggers [Thu, 11 Feb 2016 15:27:19 +0000 (09:27 -0600)]
xml.c: pass non-const xmlNode to xmlHasProp()

This avoids a compiler warning when compiling with older versions of
libxml2 (const was added to the prototype at some point).

3 years agoUpdate NEWS
Eric Biggers [Thu, 11 Feb 2016 04:24:53 +0000 (22:24 -0600)]
Update NEWS

3 years agoREADME.WINDOWS: add instructions for building from source
Eric Biggers [Thu, 11 Feb 2016 03:09:33 +0000 (21:09 -0600)]
README.WINDOWS: add instructions for building from source

3 years agowin32_capture.c: retry NtReadFile() requests
Eric Biggers [Thu, 11 Feb 2016 01:55:38 +0000 (19:55 -0600)]
win32_capture.c: retry NtReadFile() requests

3 years agowin32_apply.c: add message about known issue with WindowsApps directory
Eric Biggers [Thu, 11 Feb 2016 01:55:37 +0000 (19:55 -0600)]
win32_apply.c: add message about known issue with WindowsApps directory

3 years agowin32_apply.c: explicitly remove extra slashes in link targets
Eric Biggers [Thu, 11 Feb 2016 01:55:36 +0000 (19:55 -0600)]
win32_apply.c: explicitly remove extra slashes in link targets

3 years agowin32_apply.c: don't add extra slash to link target
Eric Biggers [Thu, 11 Feb 2016 01:55:35 +0000 (19:55 -0600)]
win32_apply.c: don't add extra slash to link target

3 years agov1.9.1-BETA
Eric Biggers [Tue, 9 Feb 2016 01:03:42 +0000 (19:03 -0600)]
v1.9.1-BETA

3 years agowin32_common.c: add extra error messages if pread() or pwrite() fails
Eric Biggers [Tue, 9 Feb 2016 01:02:33 +0000 (19:02 -0600)]
win32_common.c: add extra error messages if pread() or pwrite() fails

3 years agowrite.c: add error messages around all read and write failures
Eric Biggers [Sat, 6 Feb 2016 18:31:39 +0000 (12:31 -0600)]
write.c: add error messages around all read and write failures

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