]> wimlib.net Git - wimlib/log
wimlib
10 years agoAdd avl_tree_for_each_in_{post,}order() macros and examples
Eric Biggers [Fri, 11 Apr 2014 05:03:21 +0000 (00:03 -0500)]
Add avl_tree_for_each_in_{post,}order() macros and examples

10 years agov1.6.2 v1.6.2
Eric Biggers [Mon, 31 Mar 2014 05:34:56 +0000 (00:34 -0500)]
v1.6.2

10 years agoinit_upcase(): Clarify license
Eric Biggers [Mon, 31 Mar 2014 04:51:37 +0000 (23:51 -0500)]
init_upcase(): Clarify license

10 years agodentry.c: A couple small optimizations
Eric Biggers [Mon, 31 Mar 2014 04:03:25 +0000 (23:03 -0500)]
dentry.c: A couple small optimizations

10 years agoavl_tree: Cleanup and improve comments
Eric Biggers [Mon, 31 Mar 2014 03:30:19 +0000 (22:30 -0500)]
avl_tree:  Cleanup and improve comments

10 years agoavl_tree: Optimize first iteration of insertion rebalance loop
Eric Biggers [Mon, 31 Mar 2014 01:18:02 +0000 (20:18 -0500)]
avl_tree:  Optimize first iteration of insertion rebalance loop

10 years agoavl_tree: Add more optimizations
Eric Biggers [Sun, 30 Mar 2014 15:51:57 +0000 (10:51 -0500)]
avl_tree:  Add more optimizations

10 years agoavl_tree: Optimize swapping node for removal
Eric Biggers [Sun, 30 Mar 2014 05:27:40 +0000 (00:27 -0500)]
avl_tree:  Optimize swapping node for removal

10 years agoavl_tree: Fix comments
Eric Biggers [Sun, 30 Mar 2014 05:26:22 +0000 (00:26 -0500)]
avl_tree: Fix comments

10 years agoavl_tree: Remove dependency on compiler.h
Eric Biggers [Sun, 30 Mar 2014 05:25:35 +0000 (00:25 -0500)]
avl_tree:  Remove dependency on compiler.h

10 years agomount_image.c: don't read freed memory in release_extra_refcnts()
Eric Biggers [Sat, 29 Mar 2014 21:25:52 +0000 (16:25 -0500)]
mount_image.c: don't read freed memory in release_extra_refcnts()

10 years agoREADME: Refer to COPYING file, note other licenses
Eric Biggers [Sun, 23 Mar 2014 21:34:41 +0000 (16:34 -0500)]
README: Refer to COPYING file, note other licenses

10 years agoREADME.WINDOWS: note development of 3rd party GUI
Eric Biggers [Sun, 23 Mar 2014 21:27:40 +0000 (16:27 -0500)]
README.WINDOWS: note development of 3rd party GUI

10 years agoREADME, README.WINDOWS: Note "ESD" file support
Eric Biggers [Sun, 23 Mar 2014 21:13:40 +0000 (16:13 -0500)]
README, README.WINDOWS: Note "ESD" file support

10 years agoTransition wimlib to AVL tree code
Eric Biggers [Sun, 23 Mar 2014 00:06:54 +0000 (19:06 -0500)]
Transition wimlib to AVL tree code

10 years agoReplace red-black tree code with AVL tree code
Eric Biggers [Sat, 22 Mar 2014 03:38:54 +0000 (22:38 -0500)]
Replace red-black tree code with AVL tree code

10 years agoinode_fixup.c: Only warn when inconsistent inode detected
Eric Biggers [Fri, 21 Mar 2014 20:52:19 +0000 (15:52 -0500)]
inode_fixup.c: Only warn when inconsistent inode detected

10 years agoNonrecursive for_dentry_child()
Eric Biggers [Fri, 21 Mar 2014 20:23:32 +0000 (15:23 -0500)]
Nonrecursive for_dentry_child()

10 years agomount_image.c: Lookup inode instead of dentry when sufficient
Eric Biggers [Fri, 21 Mar 2014 17:37:44 +0000 (12:37 -0500)]
mount_image.c: Lookup inode instead of dentry when sufficient

10 years agoCleanups
Eric Biggers [Wed, 19 Mar 2014 02:56:09 +0000 (21:56 -0500)]
Cleanups

10 years agoImprove NOTES in wimexport documentation
Eric Biggers [Wed, 19 Mar 2014 00:51:44 +0000 (19:51 -0500)]
Improve NOTES in wimexport documentation

10 years agoUpdate version number
Eric Biggers [Fri, 14 Mar 2014 21:01:41 +0000 (16:01 -0500)]
Update version number

10 years agoinode_fixup.c: Print some extra information when inode mismatch detected
Eric Biggers [Fri, 14 Mar 2014 20:50:39 +0000 (15:50 -0500)]
inode_fixup.c: Print some extra information when inode mismatch detected

10 years agoinode_fixup.c: Don't check ADS count when all have zero hashes
Eric Biggers [Fri, 14 Mar 2014 20:45:13 +0000 (15:45 -0500)]
inode_fixup.c:  Don't check ADS count when all have zero hashes

10 years agoinode_fixup.c: Factor out dentry_has_data_streams() logic
Eric Biggers [Fri, 14 Mar 2014 20:27:37 +0000 (15:27 -0500)]
inode_fixup.c: Factor out dentry_has_data_streams() logic

10 years agoSupport committing changed mounted WIM image as new image
Eric Biggers [Sat, 22 Feb 2014 05:47:13 +0000 (23:47 -0600)]
Support committing changed mounted WIM image as new image

10 years agomount_image.c: Don't assume inode is resolved
Eric Biggers [Thu, 20 Feb 2014 01:59:17 +0000 (19:59 -0600)]
mount_image.c:  Don't assume inode is resolved

The code should no longer assume that all streams have been resolved
before mounting, since now errors are issued when accessing files with
missing streams.

However this line still appeared to work correctly because FUSE seems to
always call getattr(), which results in stream resolution in
wim_pathname_to_stream(), before unlinking.

10 years agowimlib_export_image(): Fix NO_{NAMES,DESCRIPTIONS} flags
Eric Biggers [Wed, 19 Feb 2014 20:25:45 +0000 (14:25 -0600)]
wimlib_export_image(): Fix NO_{NAMES,DESCRIPTIONS} flags

10 years agoUpdate NEWS
Eric Biggers [Mon, 10 Feb 2014 00:40:37 +0000 (18:40 -0600)]
Update NEWS

10 years agomount_image.c: Remove unnecessary gotos in alloc_wimfs_fd()
Eric Biggers [Mon, 10 Feb 2014 00:28:03 +0000 (18:28 -0600)]
mount_image.c:  Remove unnecessary gotos in alloc_wimfs_fd()

10 years agowimlib_mount_image(): Correctly return NOMEM in one case
Eric Biggers [Mon, 10 Feb 2014 00:25:32 +0000 (18:25 -0600)]
wimlib_mount_image():  Correctly return NOMEM in one case

10 years agomount_image.c: Use well-defined check in flags_writable()
Eric Biggers [Mon, 10 Feb 2014 00:22:35 +0000 (18:22 -0600)]
mount_image.c: Use well-defined check in flags_writable()

No effect on Linux, but it's more correct to explicitly check for
the O_ACCMODE bits being O_WRONLY or O_RDWR.

10 years agolzx-compress.c: Cleanup, mostly comments
Eric Biggers [Sat, 8 Feb 2014 07:29:37 +0000 (01:29 -0600)]
lzx-compress.c:  Cleanup, mostly comments

10 years agocompress_parallel.c: Determine physical memory on OS X
Eric Biggers [Sat, 1 Feb 2014 01:43:24 +0000 (19:43 -0600)]
compress_parallel.c:  Determine physical memory on OS X

10 years agolz_sarray: Prefetch portion of suffix array to be searched
Eric Biggers [Fri, 31 Jan 2014 21:07:59 +0000 (15:07 -0600)]
lz_sarray:  Prefetch portion of suffix array to be searched

Seems to improve performance of LZX and LZMS compression on large chunks
by ~5%.  Results may vary.

10 years agoAllow up to 1 GiB LZMS dictionary
Eric Biggers [Mon, 27 Jan 2014 06:36:27 +0000 (00:36 -0600)]
Allow up to 1 GiB LZMS dictionary

Seemingly not compatible with WIMGAPI, but it works with the format.

10 years agowimexport: Add --compress-slow option
Eric Biggers [Fri, 24 Jan 2014 19:03:33 +0000 (13:03 -0600)]
wimexport:  Add --compress-slow option

10 years agoinit_upcase(): Fix and cleanup
Eric Biggers [Mon, 20 Jan 2014 06:55:28 +0000 (00:55 -0600)]
init_upcase(): Fix and cleanup

The previous code used the wrong array size and consequently left 0's in
entries 0x8000 and above.  This would incorrectly cause all characters in
that range to be considered equal to each other case-insensitively.  Fix
it and clean up the code.

Note: the code still does not do real UTF-16 case folding.

10 years agov1.6.1 v1.6.1
Eric Biggers [Sat, 18 Jan 2014 19:22:52 +0000 (13:22 -0600)]
v1.6.1

10 years agoextract_trees(): Correctly destroy stream list in error path
Eric Biggers [Sat, 18 Jan 2014 19:18:44 +0000 (13:18 -0600)]
extract_trees(): Correctly destroy stream list in error path

10 years agoextract.c: Combine {do_,}dentry_delete_from_list()
Eric Biggers [Sat, 18 Jan 2014 19:16:59 +0000 (13:16 -0600)]
extract.c: Combine {do_,}dentry_delete_from_list()

10 years agoextract_trees(): Correctly remove dentries from list in error path
Eric Biggers [Sat, 18 Jan 2014 19:14:18 +0000 (13:14 -0600)]
extract_trees(): Correctly remove dentries from list in error path

10 years agomake-windows-release: Include wimlib-imagex.1
Eric Biggers [Sat, 18 Jan 2014 18:54:08 +0000 (12:54 -0600)]
make-windows-release:  Include wimlib-imagex.1

10 years agoextract_resource_to_staging_dir(): Fix memory leak
Eric Biggers [Sat, 18 Jan 2014 06:49:27 +0000 (00:49 -0600)]
extract_resource_to_staging_dir():  Fix memory leak

Put a reference to the stream's underlying resource when switching the
stream to the staging directory.

10 years agoDon't hold d_unused fields in memory
Eric Biggers [Sat, 18 Jan 2014 06:30:45 +0000 (00:30 -0600)]
Don't hold d_unused fields in memory

It's not really worth wasting 16 bytes per dentry on them when they're
not even used for anything.

10 years agoMinor comment fixes
Eric Biggers [Sat, 18 Jan 2014 06:25:46 +0000 (00:25 -0600)]
Minor comment fixes

10 years agohasher_end_stream(): Fix format string
Eric Biggers [Sat, 18 Jan 2014 06:19:59 +0000 (00:19 -0600)]
hasher_end_stream(): Fix format string

10 years agoimagex_extract(): Remove unused variables
Eric Biggers [Sat, 18 Jan 2014 06:13:31 +0000 (00:13 -0600)]
imagex_extract(): Remove unused variables

10 years agoextract.c: Store dentries to extract in list
Eric Biggers [Sat, 18 Jan 2014 03:40:38 +0000 (21:40 -0600)]
extract.c:  Store dentries to extract in list

This prevents multiple tree traversals of the entire image when perhaps
only a few files are being extracted.

10 years agodo_wimlib_extract_paths(): Adjust condition to make target dir
Eric Biggers [Fri, 17 Jan 2014 07:47:53 +0000 (01:47 -0600)]
do_wimlib_extract_paths(): Adjust condition to make target dir

Don't make the target directory if called from wimlib_extract_files(),
since in that case the tree itself will be extracted to the target.

10 years agoUpdate and consolidate NEWS
Eric Biggers [Fri, 17 Jan 2014 07:33:42 +0000 (01:33 -0600)]
Update and consolidate NEWS

10 years agolzx_compress(): Fix handling of unlikely case
Eric Biggers [Fri, 17 Jan 2014 07:26:27 +0000 (01:26 -0600)]
lzx_compress(): Fix handling of unlikely case

10 years agolzx_get_num_main_syms(): Add comments
Eric Biggers [Fri, 17 Jan 2014 06:55:20 +0000 (00:55 -0600)]
lzx_get_num_main_syms():  Add comments

The function is correct, but explain why.

10 years agodo_wimlib_extract_paths(): Always make target dir
Eric Biggers [Fri, 17 Jan 2014 05:12:33 +0000 (23:12 -0600)]
do_wimlib_extract_paths(): Always make target dir

10 years agodo_feature_check(): Fixes, simplify warnings
Eric Biggers [Fri, 17 Jan 2014 04:12:59 +0000 (22:12 -0600)]
do_feature_check(): Fixes, simplify warnings

10 years agoimagex-extract.1.in: Add example for wildcard path
Eric Biggers [Fri, 17 Jan 2014 04:00:33 +0000 (22:00 -0600)]
imagex-extract.1.in:  Add example for wildcard path

10 years agodo_wimlib_extract_image(): Do not allow GLOB_PATHS
Eric Biggers [Fri, 17 Jan 2014 03:52:04 +0000 (21:52 -0600)]
do_wimlib_extract_image(): Do not allow GLOB_PATHS

10 years agoextract_stream_list(): Remove never-executed code
Eric Biggers [Fri, 17 Jan 2014 03:41:31 +0000 (21:41 -0600)]
extract_stream_list(): Remove never-executed code

10 years agoOnly allow default RPFIX for wimlib_extract_image{,_from_pipe}()
Eric Biggers [Fri, 17 Jan 2014 03:28:00 +0000 (21:28 -0600)]
Only allow default RPFIX for wimlib_extract_image{,_from_pipe}()

10 years agoAdd wimlib_get_version()
Eric Biggers [Fri, 17 Jan 2014 03:19:05 +0000 (21:19 -0600)]
Add wimlib_get_version()

This allows an application to query the version number at runtime.

10 years agowimlib: strict checks for unassigned flags
Eric Biggers [Fri, 17 Jan 2014 03:05:10 +0000 (21:05 -0600)]
wimlib: strict checks for unassigned flags

This prevents programs that specify unassigned flags from working, since
these flags could be assigned in the future.

10 years agoUpdate extraction documentation
Eric Biggers [Fri, 17 Jan 2014 01:55:01 +0000 (19:55 -0600)]
Update extraction documentation

10 years agoAllow 'wimextract' to use wildcard paths on command line
Eric Biggers [Thu, 16 Jan 2014 07:45:57 +0000 (01:45 -0600)]
Allow 'wimextract' to use wildcard paths on command line

And a couple more changes, described in the NEWS.

10 years agoUpdate NEWS
Eric Biggers [Thu, 16 Jan 2014 02:27:21 +0000 (20:27 -0600)]
Update NEWS

10 years agoimagex-apply.1.in: Add notes about Windows permissions being annoying
Eric Biggers [Thu, 16 Jan 2014 02:19:13 +0000 (20:19 -0600)]
imagex-apply.1.in:  Add notes about Windows permissions being annoying

10 years agoAdd support for not extracting file attributes
Eric Biggers [Thu, 16 Jan 2014 02:02:07 +0000 (20:02 -0600)]
Add support for not extracting file attributes

10 years agowimdir: Add --one-file-only option
Eric Biggers [Thu, 16 Jan 2014 01:42:47 +0000 (19:42 -0600)]
wimdir:  Add --one-file-only option

10 years agoverify_inode(): Remove unused variable
Eric Biggers [Thu, 16 Jan 2014 01:06:02 +0000 (19:06 -0600)]
verify_inode(): Remove unused variable

10 years agoRemove some printing code from library
Eric Biggers [Thu, 16 Jan 2014 00:52:10 +0000 (18:52 -0600)]
Remove some printing code from library

Remove print_lookup_table_entry(), print_dentry(), and
print_security_data() from the library.

Turn wimlib_print_metadata() into a stub and replace it with code in
`wimlib-imagex dir' that uses wimlib_iterate_dir_tree().

Also, on Windows use
ConvertSecurityDescriptorToStringSecurityDescriptorW() to print security
descriptors in string format.

10 years agowimlib-imagex: Add and document --pack-chunk-size option
Eric Biggers [Wed, 15 Jan 2014 20:18:44 +0000 (14:18 -0600)]
wimlib-imagex: Add and document --pack-chunk-size option

This allows users to change the pack chunk size to 67108864 rather than
the default of 33554432 if they want to.

10 years agowin32_apply.c: Simplify and fix win32_create_file()
Eric Biggers [Wed, 15 Jan 2014 18:07:06 +0000 (12:07 -0600)]
win32_apply.c:  Simplify and fix win32_create_file()

win32_create_file() can be simplified by using CREATE_NEW and attempting
to delete the existing file if it exists.

This commit also adds FILE_FLAG_OPEN_REPARSE_POINT to the CreateFile()
call.  This is the equivalent to the O_NOFOLLOW addition to the UNIX
version in the previous commit.

Note that MS has contradictory documentation for the combination of
CREATE_ALWAYS and FILE_FLAG_OPEN_REPARSE_POINT, which further supports
the CREATE_NEW method changed to in this commit.

10 years agounix_apply.c: Use O_NOFOLLOW when opening files
Eric Biggers [Wed, 15 Jan 2014 17:33:55 +0000 (11:33 -0600)]
unix_apply.c:  Use O_NOFOLLOW when opening files

If the destination directory contained a symbolic link and wimlib
attempted to extract a regular file to the same location, it would write
the file to the target of the symbolic link, which could point to an
arbitrary location.  Fix this by passing O_NOFOLLOW to open().

10 years agolookup_sd(): Make static
Eric Biggers [Wed, 15 Jan 2014 06:58:53 +0000 (00:58 -0600)]
lookup_sd():  Make static

10 years agoRemove dentry.dos_name_invalid
Eric Biggers [Wed, 15 Jan 2014 06:47:37 +0000 (00:47 -0600)]
Remove dentry.dos_name_invalid

This flag is no longer used.  The extraction code just extracts the DOS
names it finds, which is the best we can do.

10 years agoimagex-apply.1.in: Fix typo
Eric Biggers [Wed, 15 Jan 2014 04:46:28 +0000 (22:46 -0600)]
imagex-apply.1.in:  Fix typo

10 years agolz_sarray_get_matches(): Remove unnecessary check
Eric Biggers [Wed, 15 Jan 2014 03:58:59 +0000 (21:58 -0600)]
lz_sarray_get_matches(): Remove unnecessary check

10 years agoimagex-apply.1.in: Add note about directory traversal attacks
Eric Biggers [Wed, 15 Jan 2014 03:36:30 +0000 (21:36 -0600)]
imagex-apply.1.in:  Add note about directory traversal attacks

10 years agoimagex-delete.1.in: Fix typo
Eric Biggers [Wed, 15 Jan 2014 03:17:41 +0000 (21:17 -0600)]
imagex-delete.1.in:  Fix typo

10 years agoimagex-apply.1.in: Update NOTES, remove silly example
Eric Biggers [Wed, 15 Jan 2014 03:03:26 +0000 (21:03 -0600)]
imagex-apply.1.in: Update NOTES, remove silly example

10 years agoimagex-capture.1.in: Pedantic updates
Eric Biggers [Wed, 15 Jan 2014 02:17:30 +0000 (20:17 -0600)]
imagex-capture.1.in:  Pedantic updates

10 years agowimlib_set_output_{,pack_}_compression_type(): Fix chunk size check
Eric Biggers [Wed, 15 Jan 2014 01:53:04 +0000 (19:53 -0600)]
wimlib_set_output_{,pack_}_compression_type(): Fix chunk size check

10 years agoAdd dotdot.wim, duplicate_names.wim
Eric Biggers [Wed, 15 Jan 2014 01:41:12 +0000 (19:41 -0600)]
Add dotdot.wim, duplicate_names.wim

10 years agoRefactor read_dentry_tree()
Eric Biggers [Tue, 14 Jan 2014 22:15:40 +0000 (16:15 -0600)]
Refactor read_dentry_tree()

read_dentry_tree() now includes code previously in
read_metadata_resource(), and wraps around read_dentry_tree_recursive()
which is similar to the old read_dentry_tree().

This removes the declaration of a 'struct wim_dentry' on the stack in
read_dentry_tree() and a subsequent copy of the structure, and also
condenses two dentry allocation sites into one.

This also moves the check for '.' and '..' entries to immediately when
reading the dentry tree rather than just before extraction.

10 years agoread_metadata_resource(): Simplify check for short resource
Eric Biggers [Tue, 14 Jan 2014 20:49:28 +0000 (14:49 -0600)]
read_metadata_resource(): Simplify check for short resource

10 years agoread_metadata_resource(): Don't decrement stream refcnts in error path
Eric Biggers [Tue, 14 Jan 2014 20:46:18 +0000 (14:46 -0600)]
read_metadata_resource():  Don't decrement stream refcnts in error path

If a metadata resource could not be fully read, the code would decrement
the reference counts of streams referenced by the tree.  However this
should not be done, as there is no corresponding increment.

10 years agometadata_resource.c: Remove unneeded header
Eric Biggers [Tue, 14 Jan 2014 20:45:44 +0000 (14:45 -0600)]
metadata_resource.c: Remove unneeded header

10 years agowim.c: Remove reopen_wim(), close_wim()
Eric Biggers [Tue, 14 Jan 2014 20:09:19 +0000 (14:09 -0600)]
wim.c: Remove reopen_wim(), close_wim()

10 years agowimlib/header.h: Improve comments
Eric Biggers [Tue, 14 Jan 2014 19:59:24 +0000 (13:59 -0600)]
wimlib/header.h:  Improve comments

10 years agoAdjust documentation for alternate chunk sizes
Eric Biggers [Tue, 14 Jan 2014 19:38:54 +0000 (13:38 -0600)]
Adjust documentation for alternate chunk sizes

10 years agonew_wim_struct(): Use filedes_invalidate()
Eric Biggers [Tue, 14 Jan 2014 18:56:20 +0000 (12:56 -0600)]
new_wim_struct(): Use filedes_invalidate()

10 years agowin32_delete_file_wrapper(): Check for INVALID_FILE_ATTRIBUTES
Eric Biggers [Mon, 13 Jan 2014 20:35:12 +0000 (14:35 -0600)]
win32_delete_file_wrapper(): Check for INVALID_FILE_ATTRIBUTES

10 years agoUpdate NEWS
Eric Biggers [Mon, 13 Jan 2014 20:34:57 +0000 (14:34 -0600)]
Update NEWS

10 years agoSimplify two warning messages
Eric Biggers [Mon, 13 Jan 2014 20:15:57 +0000 (14:15 -0600)]
Simplify two warning messages

10 years agowin32_set_security_descriptor(): Do not request MAXIMUM_ALLOWED
Eric Biggers [Mon, 13 Jan 2014 19:41:43 +0000 (13:41 -0600)]
win32_set_security_descriptor(): Do not request MAXIMUM_ALLOWED

10 years agowin32_apply.c: Work around deleting READONLY files
Eric Biggers [Mon, 13 Jan 2014 19:01:51 +0000 (13:01 -0600)]
win32_apply.c:  Work around deleting READONLY files

10 years agowrite_stream_list(): Do not create threads to compress 1 chunk or less
Eric Biggers [Mon, 13 Jan 2014 06:30:50 +0000 (00:30 -0600)]
write_stream_list(): Do not create threads to compress 1 chunk or less

10 years agoread_wim_lookup_table(): Zero fields of resource spec until known
Eric Biggers [Mon, 13 Jan 2014 06:07:40 +0000 (00:07 -0600)]
read_wim_lookup_table():  Zero fields of resource spec until known

This code was removed by b6034a5dd44709341c46d553b1c0294ec91f13e4
but it was needed to ensure that 'back_to_back_pack' doesn't get set
at the wrong time.

10 years agoFix references to hardlink.c
Eric Biggers [Mon, 13 Jan 2014 05:26:02 +0000 (23:26 -0600)]
Fix references to hardlink.c

10 years agocapture.h: Remove duplicate definitions
Eric Biggers [Mon, 13 Jan 2014 05:24:57 +0000 (23:24 -0600)]
capture.h:  Remove duplicate definitions

10 years agoUpdate version to v1.6.1-BETA
Eric Biggers [Mon, 13 Jan 2014 05:16:42 +0000 (23:16 -0600)]
Update version to v1.6.1-BETA