wimlib
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

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

3 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

3 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

3 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

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

3 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

3 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)