wimlib
7 years agoUpdate INSTALL
Eric Biggers [Wed, 6 Feb 2013 04:13:17 +0000 (22:13 -0600)]
Update INSTALL

(And other files with autoreconf -i -f, but not tracked in git repo.)

7 years agoInc version number, update NEWS
Eric Biggers [Wed, 6 Feb 2013 02:28:23 +0000 (20:28 -0600)]
Inc version number, update NEWS

7 years agocapture_ntfs_streams(): Fix reparse tag capture bug
Eric Biggers [Wed, 6 Feb 2013 02:23:59 +0000 (20:23 -0600)]
capture_ntfs_streams(): Fix reparse tag capture bug

The reparse tag will be incorrectly left 0 if a reparse point data buffer is
identical to an existing stream.  Fix it.

7 years agocapture_ntfs_streams(): Warn, not error, if multiple unnamed streams
Eric Biggers [Wed, 6 Feb 2013 01:38:30 +0000 (19:38 -0600)]
capture_ntfs_streams():  Warn, not error, if multiple unnamed streams

7 years agoIsolate test cases; allow concurrent execution
Eric Biggers [Wed, 6 Feb 2013 00:25:00 +0000 (18:25 -0600)]
Isolate test cases; allow concurrent execution

7 years agoCleanup v1.2.4
Eric Biggers [Tue, 5 Feb 2013 21:32:52 +0000 (15:32 -0600)]
Cleanup

7 years agoJanuary => February
Eric Biggers [Tue, 5 Feb 2013 21:06:14 +0000 (15:06 -0600)]
January => February

7 years agoFix NEWS
Eric Biggers [Tue, 5 Feb 2013 20:59:29 +0000 (14:59 -0600)]
Fix NEWS

7 years agoRestore v1.2.3 imagex-apply.1.in
Eric Biggers [Tue, 5 Feb 2013 20:58:40 +0000 (14:58 -0600)]
Restore v1.2.3 imagex-apply.1.in

7 years agoNTFS apply: fix extracting links
Eric Biggers [Tue, 5 Feb 2013 20:57:14 +0000 (14:57 -0600)]
NTFS apply: fix extracting links

7 years agoimagex-capture.1.in: Restore old DOS name docs
Eric Biggers [Tue, 5 Feb 2013 20:10:27 +0000 (14:10 -0600)]
imagex-capture.1.in:  Restore old DOS name docs

7 years agoNTFS capture: Get DOS names from ntfs_readdir()
Eric Biggers [Tue, 5 Feb 2013 18:44:28 +0000 (12:44 -0600)]
NTFS capture:  Get DOS names from ntfs_readdir()

Instead of calling ntfs_get_ntfs_dos_name(), the behavior of which was changed
in NTFS-3g v2013.1.13 and no longer works for files with multiple hard links,
one of which is associated with a hard name, just remember the DOS names when
they're returned from the ntfs_readdir() callback.  This works by building a
temporary map from NTFS inode numbers to DOS names each time a directory is
captured.

7 years agoverify_inode(): 1 DOS name per file
Eric Biggers [Tue, 5 Feb 2013 17:43:02 +0000 (11:43 -0600)]
verify_inode():  1 DOS name per file

7 years agontfs capture: Store security descriptors in rbtree
Eric Biggers [Tue, 5 Feb 2013 17:42:21 +0000 (11:42 -0600)]
ntfs capture:  Store security descriptors in rbtree

7 years agontfs capture: can no longer get DOS name from multi-linked files
Eric Biggers [Wed, 30 Jan 2013 05:23:55 +0000 (23:23 -0600)]
ntfs capture:  can no longer get DOS name from multi-linked files

7 years agoimagex-apply.1.in: Update
Eric Biggers [Wed, 30 Jan 2013 05:16:52 +0000 (23:16 -0600)]
imagex-apply.1.in:  Update

7 years agoNTFS filename namespace issues...
Eric Biggers [Wed, 30 Jan 2013 04:58:55 +0000 (22:58 -0600)]
NTFS filename namespace issues...

7 years agoUpdate version to 1.2.4; update NEWS
Eric Biggers [Wed, 30 Jan 2013 02:22:25 +0000 (20:22 -0600)]
Update version to 1.2.4; update NEWS

7 years agoUpdate for ntfs-3g 2013.1.13
Eric Biggers [Wed, 30 Jan 2013 02:17:13 +0000 (20:17 -0600)]
Update for ntfs-3g 2013.1.13

7 years agowimlib_mount_image(): Delete staging dir on error paths
Eric Biggers [Fri, 25 Jan 2013 05:44:50 +0000 (23:44 -0600)]
wimlib_mount_image(): Delete staging dir on error paths

7 years agomkwinpeimg: Use correct arch in ISO vol id
Eric Biggers [Wed, 23 Jan 2013 00:41:36 +0000 (18:41 -0600)]
mkwinpeimg: Use correct arch in ISO vol id

7 years agomkwinpeimg: disable IA64 support
Eric Biggers [Wed, 23 Jan 2013 00:39:35 +0000 (18:39 -0600)]
mkwinpeimg: disable IA64 support

syslinux does not support ia64 which automatically makes ia64 a special case.
Leaving out support for now.

7 years agomkwinpeimg: Add IA64 arch and update docs
Eric Biggers [Tue, 22 Jan 2013 23:45:56 +0000 (17:45 -0600)]
mkwinpeimg: Add IA64 arch and update docs

Add IA64 architecture as a valid argument to --arch, and also update the help
and man page.

7 years agoadd --arch switch on mkwinpeimg
Daniel Maxime [Tue, 22 Jan 2013 21:56:59 +0000 (22:56 +0100)]
add --arch switch on mkwinpeimg

switch --arch accepts x86 and amd64

7 years agolzx_record_match(): Remove dead assignments to formatted_offset
Eric Biggers [Sun, 20 Jan 2013 18:23:29 +0000 (12:23 -0600)]
lzx_record_match(): Remove dead assignments to formatted_offset

7 years agoUpdate iconv.m4
Eric Biggers [Sun, 20 Jan 2013 18:22:59 +0000 (12:22 -0600)]
Update iconv.m4

7 years agowimlib.h: Fix typos
Eric Biggers [Thu, 10 Jan 2013 04:43:31 +0000 (22:43 -0600)]
wimlib.h: Fix typos

7 years agowimlib_add_image() doxygen docs v1.2.3
Eric Biggers [Tue, 1 Jan 2013 06:52:53 +0000 (00:52 -0600)]
wimlib_add_image() doxygen docs

7 years agorebuild_wim(): Fix use of freed memory
Eric Biggers [Tue, 1 Jan 2013 06:42:01 +0000 (00:42 -0600)]
rebuild_wim(): Fix use of freed memory

update_lte_of_staging_file() can result in the freeing of the lookup table
entry, so the staging list should be traversed with list_for_each_entry_safe()
rather than list_for_each_entry().

7 years agoimagex-export.1.in: Fix --check docs
Eric Biggers [Tue, 1 Jan 2013 06:16:31 +0000 (00:16 -0600)]
imagex-export.1.in:  Fix --check docs

7 years agoFix memcpy()s with overlapping buffers
Eric Biggers [Tue, 1 Jan 2013 06:12:07 +0000 (00:12 -0600)]
Fix memcpy()s with overlapping buffers

7 years agoimagex_export(): Fix memory leak on error path
Eric Biggers [Tue, 1 Jan 2013 06:07:12 +0000 (00:07 -0600)]
imagex_export(): Fix memory leak on error path

7 years agowimfs_link(): Tweak error codes
Eric Biggers [Tue, 1 Jan 2013 05:58:03 +0000 (23:58 -0600)]
wimfs_link(): Tweak error codes

7 years agowimfs_rename(): Use path_basename(to)
Eric Biggers [Tue, 1 Jan 2013 05:48:15 +0000 (23:48 -0600)]
wimfs_rename(): Use path_basename(to)

(Was broken several ocmmits ago.)

7 years agotest-imagex-mount: Mount synchronously
Eric Biggers [Tue, 1 Jan 2013 00:26:39 +0000 (18:26 -0600)]
test-imagex-mount: Mount synchronously

7 years agobitstream_read_bits(): Remove bogus assertion
Eric Biggers [Tue, 1 Jan 2013 00:10:50 +0000 (18:10 -0600)]
bitstream_read_bits(): Remove bogus assertion

7 years agoFix format specifiers in some debugging statements
Eric Biggers [Tue, 1 Jan 2013 00:04:44 +0000 (18:04 -0600)]
Fix format specifiers in some debugging statements

7 years agoComment lines that may produce compiler warnings
Eric Biggers [Mon, 31 Dec 2012 23:57:27 +0000 (17:57 -0600)]
Comment lines that may produce compiler warnings

7 years agoMore code cleanups
Eric Biggers [Mon, 31 Dec 2012 23:40:14 +0000 (17:40 -0600)]
More code cleanups

- Rename 'struct ads_entry' to 'struct wim_ads_entry'
- Fix/improve more comments

7 years agoRename image_metadata to wim_image_metadata
Eric Biggers [Mon, 31 Dec 2012 22:46:55 +0000 (16:46 -0600)]
Rename image_metadata to wim_image_metadata

7 years agoimagex-optimize.1.in: Note compression ratio
Eric Biggers [Mon, 31 Dec 2012 22:42:44 +0000 (16:42 -0600)]
imagex-optimize.1.in:  Note compression ratio

7 years agoUpdate version to 1.2.3
Eric Biggers [Mon, 31 Dec 2012 21:17:46 +0000 (15:17 -0600)]
Update version to 1.2.3

7 years agoVarious code cleanups
Eric Biggers [Mon, 31 Dec 2012 20:07:11 +0000 (14:07 -0600)]
Various code cleanups

* Improve comments
* Prefix all inode fields with i_
* Rename dentry->inode_dentry_list to d_alias
* Rename inode->dentry_list to i_dentry
* Rename 'struct inode' to 'struct wim_inode'
* Rename 'struct dentry' to 'struct wim_dentry'
* Rename 'struct lookup_table_entry' to 'struct wim_lookup_table_entry'
* Rename 'struct lookup_table' to 'struct wim_lookup_table'
* Rename 'struct wimlib_fd' to 'struct wimfs_fd'
* Remove seemingly unneeded hack from get_symlink_name()
* Fix wrong pointer free in get_names()
* Fix memory leaks in error cases of wimfs_rename()
* Remove unneeded open_flags parameter to create_staging_file()
* Specify O_EXCL instead of O_TRUNC in create_staging_file()
* Don't check SHA1 message digest when extracting only part of a stream (this
  bug previously caused truncate() with length > 0 but less than the stream
  length to fail).
* Fix format string in lzx_decompress()
* In mounted WIM, return -ENOTDIR when component of path prefix is not a
  directory (rather than -ENOENT as was the case in most places).

7 years agoREADME updates
Eric Biggers [Tue, 25 Dec 2012 01:02:08 +0000 (19:02 -0600)]
README updates

7 years agoREADME: fix typo
Eric Biggers [Tue, 25 Dec 2012 00:09:30 +0000 (18:09 -0600)]
README: fix typo

7 years agoimagex-optimize man page: fix wording
Eric Biggers [Tue, 25 Dec 2012 00:03:57 +0000 (18:03 -0600)]
imagex-optimize man page: fix wording

7 years agomake_huffman_decode_table(): Fix comment v1.2.2
Eric Biggers [Fri, 21 Dec 2012 18:52:14 +0000 (12:52 -0600)]
make_huffman_decode_table(): Fix comment

7 years agoVersion 1.2.2
Eric Biggers [Fri, 21 Dec 2012 18:42:56 +0000 (12:42 -0600)]
Version 1.2.2

7 years agoAdd make-release script
Eric Biggers [Fri, 21 Dec 2012 18:38:37 +0000 (12:38 -0600)]
Add make-release script

7 years agofix_true_inode(): Fix bug
Eric Biggers [Fri, 21 Dec 2012 17:58:47 +0000 (11:58 -0600)]
fix_true_inode(): Fix bug

7 years agomake_huffman_decode_table(): entries_per_long
Eric Biggers [Fri, 21 Dec 2012 04:34:35 +0000 (22:34 -0600)]
make_huffman_decode_table(): entries_per_long

7 years agoUpdate NEWS
Eric Biggers [Fri, 21 Dec 2012 04:28:35 +0000 (22:28 -0600)]
Update NEWS

7 years agoUse only 16 bits for symbol frequencies
Eric Biggers [Fri, 21 Dec 2012 04:22:32 +0000 (22:22 -0600)]
Use only 16 bits for symbol frequencies

7 years agoxpress_decode_match(): Fix signs in format strings
Eric Biggers [Fri, 21 Dec 2012 04:17:25 +0000 (22:17 -0600)]
xpress_decode_match(): Fix signs in format strings

7 years agoxpress_decode_match(): Allow lengths encoded in unnecessary bytes
Eric Biggers [Fri, 21 Dec 2012 04:16:27 +0000 (22:16 -0600)]
xpress_decode_match(): Allow lengths encoded in unnecessary bytes

7 years agoFix up return values
Eric Biggers [Fri, 21 Dec 2012 04:14:42 +0000 (22:14 -0600)]
Fix up return values

7 years agoLZX decompression cleanups
Eric Biggers [Fri, 21 Dec 2012 03:59:27 +0000 (21:59 -0600)]
LZX decompression cleanups

- Improve comments
- Get rid of bitstream_read_bytes() because it wasn't clear what it was supposed
  to do.  Just inline what needs to be done in the appropriate places.
- Only undo the call instruction preprocessing if 0xe8 bytes may be in the input
  data.

7 years agoRewrite make_huffman_decode_table()
Eric Biggers [Thu, 20 Dec 2012 23:26:00 +0000 (17:26 -0600)]
Rewrite make_huffman_decode_table()

7 years agoDecompression optimizations
Eric Biggers [Thu, 20 Dec 2012 18:05:42 +0000 (12:05 -0600)]
Decompression optimizations

7 years agomake_canonical_huffman_code(): Tiny optimization
Eric Biggers [Thu, 20 Dec 2012 03:30:23 +0000 (21:30 -0600)]
make_canonical_huffman_code(): Tiny optimization

7 years agoReplaced all "uint" with "unsigned"
Eric Biggers [Thu, 20 Dec 2012 02:51:32 +0000 (20:51 -0600)]
Replaced all "uint" with "unsigned"

7 years agoMinor fixes in wimlib.h docs
Eric Biggers [Thu, 20 Dec 2012 02:18:20 +0000 (20:18 -0600)]
Minor fixes in wimlib.h docs

7 years agoVersion 1.2.1 v1.2.1
Eric Biggers [Thu, 20 Dec 2012 00:44:33 +0000 (18:44 -0600)]
Version 1.2.1

7 years agontfs-apply: More cleanups
Eric Biggers [Wed, 19 Dec 2012 23:35:40 +0000 (17:35 -0600)]
ntfs-apply:  More cleanups

- Add and fix comments
- Fix memory leak in an error path

7 years agostruct dentry, struct inode: remone unused flags
Eric Biggers [Wed, 19 Dec 2012 23:35:24 +0000 (17:35 -0600)]
struct dentry, struct inode: remone unused flags

7 years agontfs-apply.c: Tweak NTFS inode closing some more
Eric Biggers [Wed, 19 Dec 2012 20:53:43 +0000 (14:53 -0600)]
ntfs-apply.c:  Tweak NTFS inode closing some more

7 years agoapply_stream_list(): Improve comments
Eric Biggers [Wed, 19 Dec 2012 19:42:05 +0000 (13:42 -0600)]
apply_stream_list():  Improve comments

7 years agoRefactor some code into maybe_apply_dentry()
Eric Biggers [Wed, 19 Dec 2012 19:35:44 +0000 (13:35 -0600)]
Refactor some code into maybe_apply_dentry()

7 years agoNTFS apply code cleanups
Eric Biggers [Wed, 19 Dec 2012 19:22:39 +0000 (13:22 -0600)]
NTFS apply code cleanups

7 years agoTweak progress messages for imagex apply
Eric Biggers [Wed, 19 Dec 2012 18:49:41 +0000 (12:49 -0600)]
Tweak progress messages for imagex apply

7 years agowrite_ntfs_data_streams(): Reserve space for streams
Eric Biggers [Wed, 19 Dec 2012 18:46:08 +0000 (12:46 -0600)]
write_ntfs_data_streams():  Reserve space for streams

Call ntfs_attr_truncate_solid() with the size of each stream before extracting
it as a NTFS attribute.  This should allocate the space (extents, etc.) needed
for the data before actually extracting it.

7 years agodo_apply_dentry_ntfs(): Adjust inode closing
Eric Biggers [Wed, 19 Dec 2012 16:08:06 +0000 (10:08 -0600)]
do_apply_dentry_ntfs(): Adjust inode closing

7 years agoFix extract progress messages (again)
Eric Biggers [Wed, 19 Dec 2012 06:07:08 +0000 (00:07 -0600)]
Fix extract progress messages (again)

7 years agobuild_dentry_tree_ntfs(): Free memory for $Secure
Eric Biggers [Wed, 19 Dec 2012 05:27:18 +0000 (23:27 -0600)]
build_dentry_tree_ntfs():  Free memory for $Secure

7 years agoUgly hack
Eric Biggers [Wed, 19 Dec 2012 05:08:20 +0000 (23:08 -0600)]
Ugly hack

After exporting an image, an inode list may be shared between multiple images.
This is a fix to make deleting the inodes from the list still work when the list
head may have been freed already.

7 years agoPut lookup_table_entry->extracted_file in union with num_opened_fds
Eric Biggers [Wed, 19 Dec 2012 04:40:51 +0000 (22:40 -0600)]
Put lookup_table_entry->extracted_file in union with num_opened_fds

7 years agoFix xpress_compress() minimum size
Eric Biggers [Wed, 19 Dec 2012 04:24:52 +0000 (22:24 -0600)]
Fix xpress_compress() minimum size

7 years agolte_overwrite_prepare(): only check offset if in same WIM
Eric Biggers [Wed, 19 Dec 2012 04:21:22 +0000 (22:21 -0600)]
lte_overwrite_prepare(): only check offset if in same WIM

7 years agoReplace dentry_find_streams_to_write() with inode_find_streams_to_write()
Eric Biggers [Wed, 19 Dec 2012 04:11:36 +0000 (22:11 -0600)]
Replace dentry_find_streams_to_write() with inode_find_streams_to_write()

7 years agoRename some functions used in for_image()
Eric Biggers [Wed, 19 Dec 2012 04:04:16 +0000 (22:04 -0600)]
Rename some functions used in for_image()

7 years agoNote that applying from pipe is not allowed
Eric Biggers [Wed, 19 Dec 2012 03:58:05 +0000 (21:58 -0600)]
Note that applying from pipe is not allowed

7 years agofree_inode(): Fix deletion of inode from list
Eric Biggers [Wed, 19 Dec 2012 03:15:40 +0000 (21:15 -0600)]
free_inode(): Fix deletion of inode from list

7 years agoCorrectly return WIMLIB_ERR_ICONV_NOT_AVAILABLE
Eric Biggers [Wed, 19 Dec 2012 02:18:28 +0000 (20:18 -0600)]
Correctly return WIMLIB_ERR_ICONV_NOT_AVAILABLE

7 years agoutf8_to_utf16(), utf16_to_utf8() changes
Eric Biggers [Wed, 19 Dec 2012 02:09:59 +0000 (20:09 -0600)]
utf8_to_utf16(), utf16_to_utf8() changes

These two functions have been moved out of 'util.c' to a separate file
'encoding.c'.  They also now return an integer error code because they can fail
for at least two reasons (no memory, and invalid UTF-8 or UTF-16LE character).

7 years agoUse NTFS-3g character conversion functions if available
Eric Biggers [Tue, 18 Dec 2012 20:57:04 +0000 (14:57 -0600)]
Use NTFS-3g character conversion functions if available

Make utf16_to_utf8() and utf8_to_utf16() call into libntfs-3g if support is
compiled in.

7 years agoRemove rbtree_augmented.h from libwim_la_SOURCES
Eric Biggers [Tue, 18 Dec 2012 20:08:23 +0000 (14:08 -0600)]
Remove rbtree_augmented.h from libwim_la_SOURCES

7 years agoImprove execute_fusermount()
Eric Biggers [Tue, 18 Dec 2012 18:30:51 +0000 (12:30 -0600)]
Improve execute_fusermount()

- Use waitpid() instead of wait()
- Check exit statuses correctly

7 years agoxml.c: Fix sort_by_index()
Eric Biggers [Tue, 18 Dec 2012 18:08:14 +0000 (12:08 -0600)]
xml.c: Fix sort_by_index()

This has apparently been broken for a long time due to using the wrong pointer
but no problems ever showed up!

7 years agorbtree code: Reorganize and delete some unneeded stuff
Eric Biggers [Tue, 18 Dec 2012 17:58:36 +0000 (11:58 -0600)]
rbtree code:  Reorganize and delete some unneeded stuff

7 years agomount_image.c: Get rid of anonymous union
Eric Biggers [Tue, 18 Dec 2012 17:57:15 +0000 (11:57 -0600)]
mount_image.c: Get rid of anonymous union

(For compiler compatibility)

7 years agoUpdate version to 1.2.1
Eric Biggers [Tue, 18 Dec 2012 17:55:23 +0000 (11:55 -0600)]
Update version to 1.2.1

7 years agoUpdate NEWS and README
Eric Biggers [Tue, 18 Dec 2012 17:22:03 +0000 (11:22 -0600)]
Update NEWS and README

7 years agomount_image.c: Minor cleanups
Eric Biggers [Tue, 18 Dec 2012 16:54:43 +0000 (10:54 -0600)]
mount_image.c:  Minor cleanups

7 years agoRemove is_daemon field in message handler context
Eric Biggers [Tue, 18 Dec 2012 16:40:56 +0000 (10:40 -0600)]
Remove is_daemon field in message handler context

7 years agoDon't call unmount_progress_func() when no progress msgs requested
Eric Biggers [Tue, 18 Dec 2012 07:01:23 +0000 (01:01 -0600)]
Don't call unmount_progress_func() when no progress msgs requested

7 years agoImplement unmount progress callback
Eric Biggers [Tue, 18 Dec 2012 06:51:07 +0000 (00:51 -0600)]
Implement unmount progress callback

7 years agoDoc updates and fix daemon polling
Eric Biggers [Tue, 18 Dec 2012 06:28:08 +0000 (00:28 -0600)]
Doc updates and fix daemon polling

7 years agomount_image.c: More message queue changes
Eric Biggers [Tue, 18 Dec 2012 05:56:41 +0000 (23:56 -0600)]
mount_image.c:  More message queue changes

Yet another rewrite of the message sending/receiving functions.  Everything is
now sent through a generic message loop function with callbacks.  At the same
time, another message has been introduced that is sent from the daemon to the
unmount process to provide its pid.  Then, the unmount process can detect if the
filesystem daemon has crashed by polling this pid every second.  (This should
solve the 10 minute timeout problem.)

7 years agoMake in-place overwrite work when non-last image is mounted
Eric Biggers [Tue, 18 Dec 2012 02:21:18 +0000 (20:21 -0600)]
Make in-place overwrite work when non-last image is mounted

7 years agoimagex unmount --rebuild
Eric Biggers [Tue, 18 Dec 2012 02:03:13 +0000 (20:03 -0600)]
imagex unmount --rebuild