]> wimlib.net Git - wimlib/log
wimlib
9 years agodentry.h: Remove declaration of dentry_tree_fix_inodes()
Eric Biggers [Sat, 17 May 2014 02:36:05 +0000 (21:36 -0500)]
dentry.h:  Remove declaration of dentry_tree_fix_inodes()

This is already declared in inode.h.

9 years agowin32_replacements.c: Remove unnecessary 'extern'
Eric Biggers [Fri, 16 May 2014 01:37:50 +0000 (20:37 -0500)]
win32_replacements.c: Remove unnecessary 'extern'

9 years agoRewrite code for capture rpfix
Eric Biggers [Fri, 16 May 2014 01:13:34 +0000 (20:13 -0500)]
Rewrite code for capture rpfix

The previous code had many potential problems on the Windows side.
Targets of Windows native symbolic links (except those with
SYMBOLIC_LINK_RELATIVE set) and junction points are stored in the reparse
points as NT namespace paths.  Therefore they can validly include
prefixes like '\??\', '\DosDevices\', or '\Device\HardDiskVolume1'.  They
potentially do not use drive letters at all, and they may be over
MAX_PATH characters.  Such paths should be accessed using the native API
(NtOpenFile), not Win32 (CreateFile).  This commit changes the code to do
so.

9 years agoreparse.c: Fix volume_junction_prefix
Eric Biggers [Thu, 15 May 2014 17:53:57 +0000 (12:53 -0500)]
reparse.c: Fix volume_junction_prefix

This uses an NT namespace path, so it's \??\ prefix not \\?\.

9 years agoUpdate NEWS
Eric Biggers [Thu, 15 May 2014 17:14:51 +0000 (12:14 -0500)]
Update NEWS

9 years agoRemove unused win32_truncate_replacement()
Eric Biggers [Thu, 15 May 2014 04:50:12 +0000 (23:50 -0500)]
Remove unused win32_truncate_replacement()

9 years agoMove code from win32_common.c to win32_apply.c
Eric Biggers [Thu, 15 May 2014 04:48:17 +0000 (23:48 -0500)]
Move code from win32_common.c to win32_apply.c

9 years agoupdate_image.c: Fix memory leak in error path
Eric Biggers [Thu, 15 May 2014 03:15:59 +0000 (22:15 -0500)]
update_image.c: Fix memory leak in error path

9 years agowin32_replacements.c: Remove unused headers
Eric Biggers [Thu, 15 May 2014 03:11:31 +0000 (22:11 -0500)]
win32_replacements.c: Remove unused headers

9 years agofile_io.h: Remove unused declaration of filedes_copy()
Eric Biggers [Thu, 15 May 2014 03:06:33 +0000 (22:06 -0500)]
file_io.h: Remove unused declaration of filedes_copy()

9 years agofile_io.h: Remove unused declaration of struct iovec
Eric Biggers [Thu, 15 May 2014 03:05:19 +0000 (22:05 -0500)]
file_io.h: Remove unused declaration of struct iovec

9 years agowin32_common.c: Remove unused headers
Eric Biggers [Thu, 15 May 2014 03:00:57 +0000 (22:00 -0500)]
win32_common.c: Remove unused headers

9 years agofile_io.c: Remove unused header sys/uio.h
Eric Biggers [Thu, 15 May 2014 02:59:20 +0000 (21:59 -0500)]
file_io.c: Remove unused header sys/uio.h

9 years agowin32.h: Remove unused stuff
Eric Biggers [Thu, 15 May 2014 02:53:05 +0000 (21:53 -0500)]
win32.h: Remove unused stuff

9 years agowin32_capture.c: Fix format string
Eric Biggers [Thu, 15 May 2014 00:54:40 +0000 (19:54 -0500)]
win32_capture.c: Fix format string

9 years agowin32_apply.c: Call match_pattern_list() from in_prepopulate_list()
Eric Biggers [Thu, 15 May 2014 00:29:10 +0000 (19:29 -0500)]
win32_apply.c: Call match_pattern_list() from in_prepopulate_list()

9 years agowin32_capture.c: Remove unused variable
Eric Biggers [Thu, 15 May 2014 00:28:29 +0000 (19:28 -0500)]
win32_capture.c: Remove unused variable

9 years agoRemove duplicate words & fix grammatical errors
Eric Biggers [Thu, 15 May 2014 00:19:58 +0000 (19:19 -0500)]
Remove duplicate words & fix grammatical errors

9 years agowrite_wim_part(): Distinguish between explicit GUID and retained GUID
Eric Biggers [Wed, 14 May 2014 23:35:37 +0000 (18:35 -0500)]
write_wim_part(): Distinguish between explicit GUID and retained GUID

9 years agoUpdate wimlib-imagex man pages, especially the main one
Eric Biggers [Wed, 14 May 2014 21:02:38 +0000 (16:02 -0500)]
Update wimlib-imagex man pages, especially the main one

9 years agowimlib.h: Update docs for write flags
Eric Biggers [Wed, 14 May 2014 20:46:13 +0000 (15:46 -0500)]
wimlib.h: Update docs for write flags

9 years agowrite.c: Don't default to solid mode quite as easily
Eric Biggers [Wed, 14 May 2014 20:45:42 +0000 (15:45 -0500)]
write.c: Don't default to solid mode quite as easily

9 years agoAdd WIMLIB_WRITE_FLAG_RETAIN_GUID
Eric Biggers [Wed, 14 May 2014 18:37:57 +0000 (13:37 -0500)]
Add WIMLIB_WRITE_FLAG_RETAIN_GUID

... and use it in wimlib_join() and wimlib_overwrite().

Remove the guid_set_explicitly hack.

9 years agowimlib_write(): Update flags debugging statements
Eric Biggers [Wed, 14 May 2014 18:36:19 +0000 (13:36 -0500)]
wimlib_write(): Update flags debugging statements

9 years agoimagex-update.1.in: Update
Eric Biggers [Wed, 14 May 2014 17:57:29 +0000 (12:57 -0500)]
imagex-update.1.in:  Update

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