]> wimlib.net Git - wimlib/log
wimlib
9 years agoAdd WIMLIB_EXPORT_FLAG_GIFT
Eric Biggers [Wed, 14 May 2014 06:36:19 +0000 (01:36 -0500)]
Add WIMLIB_EXPORT_FLAG_GIFT

9 years agoreference.c: Don't duplicate stream entries unnecessarily
Eric Biggers [Wed, 14 May 2014 06:16:01 +0000 (01:16 -0500)]
reference.c:  Don't duplicate stream entries unnecessarily

With wimlib_reference_resource_files(), the resource WIMs are never made
accessible to library users, so there is no need to retain copies of all
stream entries in their lookup tables.

9 years agounix_capture.c: Optionally use dirfd-relative functions (openat(), etc)
Eric Biggers [Wed, 14 May 2014 04:37:41 +0000 (23:37 -0500)]
unix_capture.c: Optionally use dirfd-relative functions (openat(), etc)

9 years agowin32_capture.c: More improvements
Eric Biggers [Wed, 14 May 2014 02:51:43 +0000 (21:51 -0500)]
win32_capture.c:  More improvements

9 years agoNTFS-3g capture: Fix setting DOS name
Eric Biggers [Tue, 13 May 2014 23:27:37 +0000 (18:27 -0500)]
NTFS-3g capture: Fix setting DOS name

9 years agowin32_get_security_descriptor(): Check for STATUS_BUFFER_TOO_SMALL
Eric Biggers [Tue, 13 May 2014 23:16:02 +0000 (18:16 -0500)]
win32_get_security_descriptor(): Check for STATUS_BUFFER_TOO_SMALL

9 years agowin32_capture_streams(): Decrease buffer size for stream info
Eric Biggers [Tue, 13 May 2014 23:11:21 +0000 (18:11 -0500)]
win32_capture_streams(): Decrease buffer size for stream info

9 years agowin32_capture.c: Use NtQueryInformationFile() instead of GetFileInformationByHandle()
Eric Biggers [Tue, 13 May 2014 23:07:36 +0000 (18:07 -0500)]
win32_capture.c:  Use NtQueryInformationFile() instead of GetFileInformationByHandle()

9 years agowin32_capture.c: Load volume information on first chance
Eric Biggers [Tue, 13 May 2014 22:41:22 +0000 (17:41 -0500)]
win32_capture.c: Load volume information on first chance

9 years agowin32_capture.c: Fix getting file size
Eric Biggers [Tue, 13 May 2014 22:08:43 +0000 (17:08 -0500)]
win32_capture.c: Fix getting file size

9 years agowin32_capture.c: Use NtOpenFile() and directory-relative paths
Eric Biggers [Tue, 13 May 2014 21:49:44 +0000 (16:49 -0500)]
win32_capture.c:  Use NtOpenFile() and directory-relative paths

9 years agoLoad NtOpenFile() and NtClose()
Eric Biggers [Tue, 13 May 2014 19:58:57 +0000 (14:58 -0500)]
Load NtOpenFile() and NtClose()

9 years agowin32_common.c: Refactor dll loading
Eric Biggers [Tue, 13 May 2014 19:52:23 +0000 (14:52 -0500)]
win32_common.c: Refactor dll loading

9 years agowin32_capture.c: Remove unused code
Eric Biggers [Tue, 13 May 2014 19:19:05 +0000 (14:19 -0500)]
win32_capture.c: Remove unused code

9 years agoWindows: Use ntdll unconditionally
Eric Biggers [Tue, 13 May 2014 18:59:48 +0000 (13:59 -0500)]
Windows: Use ntdll unconditionally

The non-ntdll code isn't being tested, and there are known problems with
it.  For now, just rely on ntdll unconditionally.

9 years agoAdd wrappers around wimlib_update_image()
Eric Biggers [Tue, 13 May 2014 17:45:45 +0000 (12:45 -0500)]
Add wrappers around wimlib_update_image()

* wimlib_add_tree()
* wimlib_rename_path()
* wimlib_delete_path()

9 years agowim.c: Make two functions static
Eric Biggers [Tue, 13 May 2014 17:21:41 +0000 (12:21 -0500)]
wim.c: Make two functions static

9 years agoRemove WIMLIB_OPEN_MASK_PUBLIC
Eric Biggers [Tue, 13 May 2014 17:20:42 +0000 (12:20 -0500)]
Remove WIMLIB_OPEN_MASK_PUBLIC

9 years agowildcard.c: Remove redundant calculation of string length
Eric Biggers [Tue, 13 May 2014 16:24:29 +0000 (11:24 -0500)]
wildcard.c: Remove redundant calculation of string length

9 years agowim_root_dentry() => wim_get_current_root_dentry()
Eric Biggers [Tue, 13 May 2014 16:17:03 +0000 (11:17 -0500)]
wim_root_dentry() => wim_get_current_root_dentry()

Likewise for wim_security_data().

9 years agowimlib_iterate_lookup_table(): Check wim_has_metadata() instead of part 1
Eric Biggers [Tue, 13 May 2014 16:07:56 +0000 (11:07 -0500)]
wimlib_iterate_lookup_table(): Check wim_has_metadata() instead of part 1

9 years agofree_lookup_table(): Simplify
Eric Biggers [Tue, 13 May 2014 15:49:56 +0000 (10:49 -0500)]
free_lookup_table(): Simplify

9 years agounix_capture_symlink(): De-indent
Eric Biggers [Tue, 13 May 2014 15:36:06 +0000 (10:36 -0500)]
unix_capture_symlink(): De-indent

9 years agoRemove printf extension
Eric Biggers [Tue, 13 May 2014 07:47:21 +0000 (02:47 -0500)]
Remove printf extension

Only one place used %WS to print an UTF-16LE string.  Get rid of it.

9 years agowimlib_malloc(): Only malloc(1) if NULL is returned
Eric Biggers [Tue, 13 May 2014 07:38:17 +0000 (02:38 -0500)]
wimlib_malloc(): Only malloc(1) if NULL is returned

9 years agoread_wim_security_data(): Fix comment, make prototype consistent
Eric Biggers [Tue, 13 May 2014 07:14:59 +0000 (02:14 -0500)]
read_wim_security_data(): Fix comment, make prototype consistent

9 years agoprepare_metadata_resource(): Check for size overflow
Eric Biggers [Tue, 13 May 2014 07:00:29 +0000 (02:00 -0500)]
prepare_metadata_resource(): Check for size overflow

9 years agodentry_tree_fix_inodes(): Fix comment
Eric Biggers [Tue, 13 May 2014 06:46:58 +0000 (01:46 -0500)]
dentry_tree_fix_inodes(): Fix comment

9 years agoref_inodes_consistent(): Remove useless use of restrict
Eric Biggers [Tue, 13 May 2014 06:37:39 +0000 (01:37 -0500)]
ref_inodes_consistent(): Remove useless use of restrict

9 years agofix_inodes(): Use size_t for iterator
Eric Biggers [Tue, 13 May 2014 06:26:48 +0000 (01:26 -0500)]
fix_inodes(): Use size_t for iterator

9 years agoinode_set_unnamed_stream(): inode must be resolved
Eric Biggers [Tue, 13 May 2014 06:03:36 +0000 (01:03 -0500)]
inode_set_unnamed_stream(): inode must be resolved

9 years agoFix checks for huge numbers of images
Eric Biggers [Tue, 13 May 2014 05:50:17 +0000 (00:50 -0500)]
Fix checks for huge numbers of images

9 years agoReplace WIM_GID_LEN => WIM_GUID_LEN
Eric Biggers [Tue, 13 May 2014 05:44:46 +0000 (00:44 -0500)]
Replace WIM_GID_LEN => WIM_GUID_LEN

9 years agoread_wim_header(): Fix comment
Eric Biggers [Tue, 13 May 2014 05:41:24 +0000 (00:41 -0500)]
read_wim_header(): Fix comment

9 years agoImprove tstr <=> UTF-16LE conversions
Eric Biggers [Tue, 13 May 2014 05:25:50 +0000 (00:25 -0500)]
Improve tstr <=> UTF-16LE conversions

Consolidated conditional code into encoding.h.
A few related cleanups.

9 years agoinode_get_ads_entry(): de-indent
Eric Biggers [Tue, 13 May 2014 01:31:46 +0000 (20:31 -0500)]
inode_get_ads_entry(): de-indent

9 years agowrite_dentry(): Remove unhelpful comment
Eric Biggers [Tue, 13 May 2014 01:22:41 +0000 (20:22 -0500)]
write_dentry(): Remove unhelpful comment

9 years agoRemove dentry_get_file_type_string()
Eric Biggers [Tue, 13 May 2014 01:13:22 +0000 (20:13 -0500)]
Remove dentry_get_file_type_string()

9 years agoread_dentry(): Remove warning about dentry being unaligned
Eric Biggers [Tue, 13 May 2014 01:05:26 +0000 (20:05 -0500)]
read_dentry():  Remove warning about dentry being unaligned

The code should still work anyway, and the message isn't particularly
helpful.

9 years agofree_dentry_tree(): Check lookup_table only once per call
Eric Biggers [Tue, 13 May 2014 00:56:13 +0000 (19:56 -0500)]
free_dentry_tree(): Check lookup_table only once per call

9 years agoFactor out inode_unref_streams()
Eric Biggers [Tue, 13 May 2014 00:47:56 +0000 (19:47 -0500)]
Factor out inode_unref_streams()

9 years agonew_filler_directory(): Remove 'name' argument
Eric Biggers [Tue, 13 May 2014 00:21:55 +0000 (19:21 -0500)]
new_filler_directory(): Remove 'name' argument

9 years agodentry.c: Remove dentry_common_init()
Eric Biggers [Tue, 13 May 2014 00:17:06 +0000 (19:17 -0500)]
dentry.c: Remove dentry_common_init()

9 years agowim_pathname_to_stream(): Remove unnecessary goto and label
Eric Biggers [Tue, 13 May 2014 00:16:16 +0000 (19:16 -0500)]
wim_pathname_to_stream(): Remove unnecessary goto and label

9 years agodentry.c: Remove calculate_dentry_tree_full_paths()
Eric Biggers [Mon, 12 May 2014 23:18:21 +0000 (18:18 -0500)]
dentry.c:  Remove calculate_dentry_tree_full_paths()

9 years agofile_io.c: Remove unused full_writev()
Eric Biggers [Mon, 12 May 2014 22:46:48 +0000 (17:46 -0500)]
file_io.c:  Remove unused full_writev()

9 years agochunk compressor: Use u32, not unsigned, for chunk sizes
Eric Biggers [Mon, 12 May 2014 22:22:20 +0000 (17:22 -0500)]
chunk compressor: Use u32, not unsigned, for chunk sizes

9 years agocapture_common.c: Cleanup (mostly comments)
Eric Biggers [Mon, 12 May 2014 21:58:21 +0000 (16:58 -0500)]
capture_common.c:  Cleanup (mostly comments)

9 years agoadd_image.c: Cleanup
Eric Biggers [Mon, 12 May 2014 20:19:43 +0000 (15:19 -0500)]
add_image.c:  Cleanup

Including:

- Use wimlib/security.h instead of wimlib/capture.h
- Replace add_new_dentry_tree() with add_empty_image_metadata()
  (the root dentry is always NULL)
- Improve comments

9 years agowincfg: Add swapfile.sys
Eric Biggers [Mon, 12 May 2014 19:55:21 +0000 (14:55 -0500)]
wincfg:  Add swapfile.sys

9 years agowimlib.h: Update add flag documentation
Eric Biggers [Mon, 12 May 2014 19:52:07 +0000 (14:52 -0500)]
wimlib.h: Update add flag documentation

9 years agoupdate_image.c: Check for unsupported NTFS mode earlier
Eric Biggers [Mon, 12 May 2014 19:45:03 +0000 (14:45 -0500)]
update_image.c:  Check for unsupported NTFS mode earlier

9 years agoDon't create unnecessary temporary files
Eric Biggers [Sun, 11 May 2014 05:23:34 +0000 (00:23 -0500)]
Don't create unnecessary temporary files

A temporary file is unnecessary (without too much extra trouble) if the
whole stream data is already in memory as a result of reading a packed
resource.

9 years agocreate_temporary_file(): use _O_SHORT_LIVED on Windows
Eric Biggers [Sun, 11 May 2014 05:23:27 +0000 (00:23 -0500)]
create_temporary_file(): use _O_SHORT_LIVED on Windows

9 years agowin32_extract_stream(): Pre-allocate stream length
Eric Biggers [Sun, 11 May 2014 05:22:26 +0000 (00:22 -0500)]
win32_extract_stream():  Pre-allocate stream length

9 years agowimcapture, wimexport: With --pack-streams, default to LZMS compression
Eric Biggers [Sat, 10 May 2014 02:56:22 +0000 (21:56 -0500)]
wimcapture, wimexport:  With --pack-streams, default to LZMS compression

This is not too important as the compression format of packed resources
is independent of the WIM's main compression format, but it makes sense
to also default to LZMS for non-packed resources (e.g. metadata).

9 years agoupdate_image.c: Avoid unnecessary string duplications
Eric Biggers [Fri, 9 May 2014 16:07:57 +0000 (11:07 -0500)]
update_image.c: Avoid unnecessary string duplications

9 years agoRemove canonicalize_fs_path()
Eric Biggers [Fri, 9 May 2014 15:16:10 +0000 (10:16 -0500)]
Remove canonicalize_fs_path()

9 years agoimagex-extract.1.in: Note that ASCII pathlist is fine
Eric Biggers [Fri, 9 May 2014 15:07:28 +0000 (10:07 -0500)]
imagex-extract.1.in:  Note that ASCII pathlist is fine

9 years agowimlib-imagex: Accept "max" as alias for "maximum"
Eric Biggers [Fri, 9 May 2014 04:14:10 +0000 (23:14 -0500)]
wimlib-imagex: Accept "max" as alias for "maximum"

9 years agoUpdate NEWS
Eric Biggers [Fri, 9 May 2014 03:26:01 +0000 (22:26 -0500)]
Update NEWS

9 years agoUpdate version number in preparation of eventual v1.6.3 release
Eric Biggers [Fri, 9 May 2014 03:23:56 +0000 (22:23 -0500)]
Update version number in preparation of eventual v1.6.3 release

9 years agoAllow writing multiple packed resources per WIM
Eric Biggers [Fri, 9 May 2014 01:46:18 +0000 (20:46 -0500)]
Allow writing multiple packed resources per WIM

... subject to the weird way that WIMGAPI interprets them.

Also:
    - Write packed resource by default when updating version 3584 WIM
    - Enable raw copy of packed resources (must be writing at least 2/3
      the constituent streams)

9 years agoread_wim_lookup_table(): Allow multiple "subpacks" per packed run
Eric Biggers [Fri, 9 May 2014 00:54:01 +0000 (19:54 -0500)]
read_wim_lookup_table():  Allow multiple "subpacks" per packed run

Apparently WIMGAPI does, in fact, support multiple packed resources per
WIM.  It creates them when exporting, and probably when appending too.
However, the format of the resulting lookup table is a little different
than I had expected, since it seems to be required that all the packed
resource metadata be combined into a single, mostly unordered run of
entries with the 0x10 flag set.  This commit updates the read-side code
with this new assumption.

9 years agoresource.h: Fix comment
Eric Biggers [Thu, 8 May 2014 21:09:04 +0000 (16:09 -0500)]
resource.h: Fix comment

9 years agomkwinpeimg: Make sure all error messages go to stderr
Eric Biggers [Tue, 29 Apr 2014 22:58:04 +0000 (17:58 -0500)]
mkwinpeimg:  Make sure all error messages go to stderr

9 years agomkwinpeimg: Support writing ISO image to stdout
Eric Biggers [Tue, 29 Apr 2014 22:45:37 +0000 (17:45 -0500)]
mkwinpeimg:  Support writing ISO image to stdout

9 years agoStrip trailing slashes from Windows filesystem paths
Eric Biggers [Tue, 29 Apr 2014 22:20:58 +0000 (17:20 -0500)]
Strip trailing slashes from Windows filesystem paths

9 years agoA couple cleanups from last commits
Eric Biggers [Tue, 29 Apr 2014 22:04:57 +0000 (17:04 -0500)]
A couple cleanups from last commits

9 years agoUpdate --config docs
Eric Biggers [Tue, 29 Apr 2014 19:43:05 +0000 (14:43 -0500)]
Update --config docs

9 years agoAdd progress messages for WIMBoot apply exclude
Eric Biggers [Tue, 29 Apr 2014 19:34:32 +0000 (14:34 -0500)]
Add progress messages for WIMBoot apply exclude

9 years agoAdjust path matching
Eric Biggers [Tue, 29 Apr 2014 19:13:41 +0000 (14:13 -0500)]
Adjust path matching

- To get consistent behavior, always use own implementation in
  wildcard.c, not fnmatch() or PatchMatchSpec()
- Don't store prefix in capture config
- Don't allow non-rooted paths with multiple directory components (these
  could cause confusion)
- win32_apply.c: Match [PrepopulateList] patterns recursively

9 years agoMore logical behavior when canonicalizing WIM paths
Eric Biggers [Tue, 29 Apr 2014 16:22:06 +0000 (11:22 -0500)]
More logical behavior when canonicalizing WIM paths

In addition to translating path separators and stripping trailing
slashes, also collapse consecutive path separators, and retain the
leading slash to emphasize that the paths are rooted.

Add WIMLIB_WIM_ROOT_PATH and WIMLIB_IS_WIM_ROOT_PATH macros to wimlib.h.

9 years agoimagex.1.in: Update compression type list
Eric Biggers [Tue, 29 Apr 2014 04:21:17 +0000 (23:21 -0500)]
imagex.1.in:  Update compression type list

9 years agoReplace unnamed union initializers
Eric Biggers [Tue, 29 Apr 2014 04:17:28 +0000 (23:17 -0500)]
Replace unnamed union initializers

9 years agolzms-compress.c: Add missing header for --enable-verify-compression
Eric Biggers [Tue, 29 Apr 2014 04:07:04 +0000 (23:07 -0500)]
lzms-compress.c:  Add missing header for --enable-verify-compression

9 years agoFix a few format strings
Eric Biggers [Tue, 29 Apr 2014 02:53:51 +0000 (21:53 -0500)]
Fix a few format strings

9 years agoread_wim_lookup_table(): Make sure all resources get validated (try 2)
Eric Biggers [Tue, 29 Apr 2014 02:42:20 +0000 (21:42 -0500)]
read_wim_lookup_table():  Make sure all resources get validated (try 2)

9 years agoRevert "read_wim_lookup_table(): Make sure all resources get validated"
Eric Biggers [Tue, 29 Apr 2014 02:39:57 +0000 (21:39 -0500)]
Revert "read_wim_lookup_table(): Make sure all resources get validated"

This reverts commit dfba747e4324c0922f58ec03a84eb9c0b03f8f66.

9 years agowin32_common.c: Remove unused writev() replacement
Eric Biggers [Tue, 29 Apr 2014 02:05:43 +0000 (21:05 -0500)]
win32_common.c: Remove unused writev() replacement

9 years agoread_wim_lookup_table(): Make sure all resources get validated
Eric Biggers [Tue, 29 Apr 2014 01:42:12 +0000 (20:42 -0500)]
read_wim_lookup_table(): Make sure all resources get validated

9 years agoread_wim_lookup_table(): Remove duplicate_stream variable
Eric Biggers [Mon, 28 Apr 2014 23:50:57 +0000 (18:50 -0500)]
read_wim_lookup_table(): Remove duplicate_stream variable

9 years agoread_wim_lookup_table(): Adjust a few more comments
Eric Biggers [Mon, 28 Apr 2014 23:37:12 +0000 (18:37 -0500)]
read_wim_lookup_table():  Adjust a few more comments

9 years agoUpdate NEWS
Eric Biggers [Mon, 28 Apr 2014 21:35:32 +0000 (16:35 -0500)]
Update NEWS

9 years agoread_wim_lookup_table(): Cleanup
Eric Biggers [Mon, 28 Apr 2014 19:34:25 +0000 (14:34 -0500)]
read_wim_lookup_table():  Cleanup

- Do saner handling of back-to-back resource packs.
- If streams in packed resource are out of order (by offset), sort them
  instead of returning WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY.
- Don't use wim->current_image when a temporary variable will suffice.
- Warn only once when many entries have wrong part number.
- Add more comments

9 years agowimlib_join(): Fix buffer overrun when swm part 1 not specified
Eric Biggers [Mon, 28 Apr 2014 17:52:21 +0000 (12:52 -0500)]
wimlib_join():  Fix buffer overrun when swm part 1 not specified

Before checking for swm completeness, there can potentially be
(num_additional_swms + 1) parts that are *not* part 1, so make the
additional_swms array large enough.

9 years agoRemove broken completed_parts write progress
Eric Biggers [Mon, 28 Apr 2014 17:47:49 +0000 (12:47 -0500)]
Remove broken completed_parts write progress

Since "raw copy" resources are separated from resources that need to be
compressed, the write may not proceed simply one part after another.  For
now, leave completed_parts as 0, and in wimlib-imagex use the generic
write message when doing a join.

9 years agoRetain GUID when joining WIM
Eric Biggers [Mon, 28 Apr 2014 17:46:19 +0000 (12:46 -0500)]
Retain GUID when joining WIM

9 years agowimlib-imagex: Include WIMBoot options in usage printout
Eric Biggers [Mon, 28 Apr 2014 07:16:01 +0000 (02:16 -0500)]
wimlib-imagex:  Include WIMBoot options in usage printout

9 years agowimupdate: Add --wimboot-config=FILE option
Eric Biggers [Mon, 28 Apr 2014 07:14:05 +0000 (02:14 -0500)]
wimupdate:  Add --wimboot-config=FILE option

9 years agowimupdate: Add --no-replace default option
Eric Biggers [Mon, 28 Apr 2014 06:47:46 +0000 (01:47 -0500)]
wimupdate: Add --no-replace default option

9 years agoDon't immediately discard streams with 0 references
Eric Biggers [Mon, 28 Apr 2014 06:47:37 +0000 (01:47 -0500)]
Don't immediately discard streams with 0 references

9 years agorename_wim_path(): Fix journaling of name change
Eric Biggers [Mon, 28 Apr 2014 05:51:10 +0000 (00:51 -0500)]
rename_wim_path(): Fix journaling of name change

9 years agoCheck for rename loops
Eric Biggers [Mon, 28 Apr 2014 05:38:11 +0000 (00:38 -0500)]
Check for rename loops

9 years agowimlib_update_image(): Do proper rollbacks & replace files by default
Eric Biggers [Mon, 28 Apr 2014 04:42:08 +0000 (23:42 -0500)]
wimlib_update_image(): Do proper rollbacks & replace files by default

9 years agoread_wim_lookup_table(): Warn only once for all duplicate streams
Eric Biggers [Sun, 27 Apr 2014 05:26:26 +0000 (00:26 -0500)]
read_wim_lookup_table(): Warn only once for all duplicate streams

9 years agoHandle inconsistent uncompressed resources in same way as WIMGAPI
Eric Biggers [Sun, 27 Apr 2014 05:03:51 +0000 (00:03 -0500)]
Handle inconsistent uncompressed resources in same way as WIMGAPI

9 years agounix_capture.c: Force directories to separate inodes
Eric Biggers [Sun, 27 Apr 2014 03:50:04 +0000 (22:50 -0500)]
unix_capture.c: Force directories to separate inodes

Freeing the dentry tree goes horribly wrong if there are directory hard
links, so don't allow creating them.

9 years agoWIMBoot: Update docs
Eric Biggers [Sat, 26 Apr 2014 21:34:51 +0000 (16:34 -0500)]
WIMBoot: Update docs

9 years agoWIMBoot: Update WimOverlay.dat directly when WOF not running
Eric Biggers [Sat, 26 Apr 2014 21:11:26 +0000 (16:11 -0500)]
WIMBoot:  Update WimOverlay.dat directly when WOF not running