]> wimlib.net Git - wimlib/log
wimlib
11 years agoNTFS apply updates
Eric Biggers [Sat, 25 Aug 2012 18:58:11 +0000 (13:58 -0500)]
NTFS apply updates

- Hard link creation code fixed and uncommented.  We need to close the source
  directory inode before the target inode.
- Code to set DOS filenames added but commented out due to a problem.
- New function wim_apply_dentry_timestamps() to apply timestamps to dentry, run
  in a depth-first traversal of the directory tree following the main WIM
  application.

11 years agoImplement XATTR interface to ADS in wimfs
Eric Biggers [Sat, 25 Aug 2012 05:13:31 +0000 (00:13 -0500)]
Implement XATTR interface to ADS in wimfs

11 years agoFixes for Windows ADS interface
Eric Biggers [Sat, 25 Aug 2012 04:02:34 +0000 (23:02 -0500)]
Fixes for Windows ADS interface

11 years agoNTFS apply fixes
Eric Biggers [Fri, 24 Aug 2012 22:17:45 +0000 (17:17 -0500)]
NTFS apply fixes

Minor fixes

Also, comment out hard link creation code until a problem is fixed

11 years agoInclude _ntfs_valid_descr()
Eric Biggers [Fri, 24 Aug 2012 21:18:52 +0000 (16:18 -0500)]
Include _ntfs_valid_descr()

Patch the ntfs_valid_descr() function from libntfs-3g to allow security
descriptors that end with an empty SACL

11 years agoExtract NTFS junction points correctly
Eric Biggers [Fri, 24 Aug 2012 04:22:36 +0000 (23:22 -0500)]
Extract NTFS junction points correctly

They need to be made as directories not regular files.

11 years agoNTFS apply updates
Eric Biggers [Fri, 24 Aug 2012 03:23:33 +0000 (22:23 -0500)]
NTFS apply updates

- Apply data streams, including all alternate data streams
- Set reparse data correctly

11 years agoDefault to XPRESS compression
Eric Biggers [Fri, 24 Aug 2012 01:43:23 +0000 (20:43 -0500)]
Default to XPRESS compression

11 years agoComments
Eric Biggers [Fri, 24 Aug 2012 01:39:35 +0000 (20:39 -0500)]
Comments

11 years agoCode to handle some weird siutations and bad WIMs
Eric Biggers [Fri, 24 Aug 2012 00:44:42 +0000 (19:44 -0500)]
Code to handle some weird siutations and bad WIMs

- read_lookup_table():  It is now an error if uncompressed resources have
  different compressed and uncompressed size.
- read_lookup_table(): It is now an error if two lookup table entries have the
  same SHA1 message digest.
- write_metadata_resource(): Append 20 random bytes to the end of the metadata
  resource to make the metadata resource unique even if we capture exactly the
  same image again.

11 years agoMore comments
Eric Biggers [Thu, 23 Aug 2012 21:57:02 +0000 (16:57 -0500)]
More comments

Also calculate hash in write_wim_resource_from_buffer() and not
write_metadata_resource() to avoid redundant SHA1 calculations

11 years agoComments; check SHA1 md in extract_wim_resource_to_fd()
Eric Biggers [Thu, 23 Aug 2012 19:55:19 +0000 (14:55 -0500)]
Comments; check SHA1 md in extract_wim_resource_to_fd()

11 years agoFinally fixed most of the problems with the new resource code.
Eric Biggers [Thu, 23 Aug 2012 14:50:42 +0000 (09:50 -0500)]
Finally fixed most of the problems with the new resource code.

Also, write_wim_resource() will now verify the SHA1 message digest when writing
a WIM resource.  This makes it possible to detect concurrent modifications of
the directory tree when capturing a WIM.

11 years agoResource fixes/changes
Eric Biggers [Thu, 23 Aug 2012 03:11:32 +0000 (22:11 -0500)]
Resource fixes/changes

Fixes to the new WIM resource code

Also, write a resource uncompressed when the compressed resource is larger than
the uncompressed resource.

11 years agoPartial fixes and comments
Eric Biggers [Wed, 22 Aug 2012 05:55:58 +0000 (00:55 -0500)]
Partial fixes and comments

11 years agoRewritten functions for reading and writing resources
Eric Biggers [Wed, 22 Aug 2012 04:40:57 +0000 (23:40 -0500)]
Rewritten functions for reading and writing resources

Functions for reading and writing compressed and uncompressed resources have
been rewritten to reduce code duplication and simplify the interface to the rest
of the code.

Not yet tested and commented.

11 years agoComments; NTFS hardlinks
Eric Biggers [Tue, 21 Aug 2012 23:26:03 +0000 (18:26 -0500)]
Comments; NTFS hardlinks

11 years agontfs.c => ntfs-apply.c
Eric Biggers [Tue, 21 Aug 2012 22:48:01 +0000 (17:48 -0500)]
ntfs.c => ntfs-apply.c

11 years agoAdd modified security.c from NTFS-3g
Eric Biggers [Tue, 21 Aug 2012 22:17:36 +0000 (17:17 -0500)]
Add modified security.c from NTFS-3g

This simplifies WIM application because we can modifiy
ntfs_set_file_attributes() and ntfs_set_file_security() to take ntfs_inodes
instead of pathnodes, and we can also get rid of the SECURITY_API structure.

11 years agoWrite NTFS data streams (IN PROGRESS)
Eric Biggers [Tue, 21 Aug 2012 18:04:08 +0000 (13:04 -0500)]
Write NTFS data streams (IN PROGRESS)

11 years agoNTFS apply (IN PROGRESS)
Eric Biggers [Tue, 21 Aug 2012 17:31:29 +0000 (12:31 -0500)]
NTFS apply (IN PROGRESS)

11 years agontfs_apply_dentry() (IN PROGRESS)
Eric Biggers [Tue, 21 Aug 2012 05:11:47 +0000 (00:11 -0500)]
ntfs_apply_dentry() (IN PROGRESS)

11 years agowimlib_apply_image_to_ntfs_volume() API function
Eric Biggers [Tue, 21 Aug 2012 03:35:55 +0000 (22:35 -0500)]
wimlib_apply_image_to_ntfs_volume() API function

11 years agoNTFS mount(to be removed)
Eric Biggers [Tue, 21 Aug 2012 03:14:17 +0000 (22:14 -0500)]
NTFS mount(to be removed)

11 years agomkntfs, ntfs-3g in imagex
Eric Biggers [Tue, 21 Aug 2012 02:18:15 +0000 (21:18 -0500)]
mkntfs, ntfs-3g in imagex

11 years agoVarious fixes
Eric Biggers [Tue, 21 Aug 2012 01:20:29 +0000 (20:20 -0500)]
Various fixes

11 years agoApply timestamps correctly when extracting WIM image
Eric Biggers [Tue, 21 Aug 2012 00:04:06 +0000 (19:04 -0500)]
Apply timestamps correctly when extracting WIM image

11 years agoMore timestamp changes: Set timestamp on extracted files
Eric Biggers [Mon, 20 Aug 2012 23:40:53 +0000 (18:40 -0500)]
More timestamp changes: Set timestamp on extracted files

11 years agoMore accurate timestamps
Eric Biggers [Mon, 20 Aug 2012 23:04:51 +0000 (18:04 -0500)]
More accurate timestamps

11 years agoVarious fixes
Eric Biggers [Mon, 20 Aug 2012 22:27:14 +0000 (17:27 -0500)]
Various fixes

11 years agoMake lookup table use hlist
Eric Biggers [Mon, 20 Aug 2012 19:39:30 +0000 (14:39 -0500)]
Make lookup table use hlist

11 years agodentry_set_symlink_buf() fix
Eric Biggers [Mon, 20 Aug 2012 17:31:46 +0000 (12:31 -0500)]
dentry_set_symlink_buf() fix

11 years agoFixes
Eric Biggers [Mon, 20 Aug 2012 17:24:46 +0000 (12:24 -0500)]
Fixes

- Fix lte_decrement_refcnt() assertion
- Assign inode numbers to new directories

11 years agoVarious cleanups
Eric Biggers [Mon, 20 Aug 2012 17:21:38 +0000 (12:21 -0500)]
Various cleanups

11 years agoAdd list.h to git
Eric Biggers [Mon, 20 Aug 2012 07:42:10 +0000 (02:42 -0500)]
Add list.h to git

11 years agoFixes
Eric Biggers [Mon, 20 Aug 2012 07:41:15 +0000 (02:41 -0500)]
Fixes

11 years agocalculate_sha1sum_of_staging_file
Eric Biggers [Mon, 20 Aug 2012 07:05:55 +0000 (02:05 -0500)]
calculate_sha1sum_of_staging_file

11 years agopre-resolve streams (IN PROGRESS)
Eric Biggers [Mon, 20 Aug 2012 06:05:57 +0000 (01:05 -0500)]
pre-resolve streams (IN PROGRESS)

11 years agolink_group_set_stream_hash(), staging_list
Eric Biggers [Mon, 20 Aug 2012 03:49:08 +0000 (22:49 -0500)]
link_group_set_stream_hash(), staging_list

11 years ago--hardlink fix
Eric Biggers [Mon, 20 Aug 2012 02:45:41 +0000 (21:45 -0500)]
--hardlink fix

11 years agoExtract WIM hard links correctly
Eric Biggers [Mon, 20 Aug 2012 00:39:51 +0000 (19:39 -0500)]
Extract WIM hard links correctly

11 years agoget rid of make_output_dir() by extracting root dentry
Eric Biggers [Sun, 19 Aug 2012 23:24:34 +0000 (18:24 -0500)]
get rid of make_output_dir() by extracting root dentry

11 years agoHard link fix
Eric Biggers [Sun, 19 Aug 2012 22:32:15 +0000 (17:32 -0500)]
Hard link fix

I'm noticing weird things in the Windows 7 install.wim file where WIM dentries
are marked as being in the same hard link set, but the dentries have differences
such as different file streams or different file permissions.  I'm working
around the problem by splitting these offending dentries into their own hard
link groups.

11 years agoremove WIMStruct->output_dir
Eric Biggers [Sun, 19 Aug 2012 22:08:25 +0000 (17:08 -0500)]
remove WIMStruct->output_dir

11 years agowimfs_fallocate(), xattr stubs
Eric Biggers [Sun, 19 Aug 2012 21:47:09 +0000 (16:47 -0500)]
wimfs_fallocate(), xattr stubs

11 years agowimfs_write(), dentry_to_stbuf()
Eric Biggers [Sun, 19 Aug 2012 21:35:08 +0000 (16:35 -0500)]
wimfs_write(), dentry_to_stbuf()

11 years agouse_ino mount option
Eric Biggers [Sun, 19 Aug 2012 18:07:37 +0000 (13:07 -0500)]
use_ino mount option

11 years agoVarious fixes
Eric Biggers [Sun, 19 Aug 2012 17:11:44 +0000 (12:11 -0500)]
Various fixes

11 years agohardlink fixes
Eric Biggers [Sun, 19 Aug 2012 07:32:33 +0000 (02:32 -0500)]
hardlink fixes

11 years agosymlink fixes
Eric Biggers [Sun, 19 Aug 2012 07:14:21 +0000 (02:14 -0500)]
symlink fixes

11 years agoclone_dentry(): Set name fields to NULL
Eric Biggers [Sun, 19 Aug 2012 07:00:20 +0000 (02:00 -0500)]
clone_dentry(): Set name fields to NULL

11 years agowimfs_link(), wimfs_symlink(), symlink fixes
Eric Biggers [Sun, 19 Aug 2012 06:55:03 +0000 (01:55 -0500)]
wimfs_link(), wimfs_symlink(), symlink fixes

11 years agodentry_to_stbuf() fix
Eric Biggers [Sun, 19 Aug 2012 05:02:46 +0000 (00:02 -0500)]
dentry_to_stbuf() fix

11 years agofd table fix
Eric Biggers [Sun, 19 Aug 2012 04:50:22 +0000 (23:50 -0500)]
fd table fix

11 years agohardlink fixes
Eric Biggers [Sun, 19 Aug 2012 04:32:58 +0000 (23:32 -0500)]
hardlink fixes

11 years agocompiles (IN PROGRESS)
Eric Biggers [Sun, 19 Aug 2012 03:08:17 +0000 (22:08 -0500)]
compiles (IN PROGRESS)

11 years agohardlinks (IN PROGRESS)
Eric Biggers [Sun, 19 Aug 2012 01:58:51 +0000 (20:58 -0500)]
hardlinks (IN PROGRESS)

11 years agomount changes (IN PROGRESS)
Eric Biggers [Sat, 18 Aug 2012 23:01:13 +0000 (18:01 -0500)]
mount changes (IN PROGRESS)

11 years agoSymbolic links (IN PROGRESS)
Eric Biggers [Sat, 18 Aug 2012 19:52:05 +0000 (14:52 -0500)]
Symbolic links (IN PROGRESS)

11 years agoImplement readlink() on WIM filesystem
Eric Biggers [Sat, 18 Aug 2012 06:31:23 +0000 (01:31 -0500)]
Implement readlink() on WIM filesystem

11 years agoAlignment between dentry and ADS entries...
Eric Biggers [Sat, 18 Aug 2012 05:51:03 +0000 (00:51 -0500)]
Alignment between dentry and ADS entries...

11 years agodentry_hash() function to get hash of default data stream
Eric Biggers [Sat, 18 Aug 2012 05:27:32 +0000 (00:27 -0500)]
dentry_hash() function to get hash of default data stream

11 years agorecalculate_dentry_size(): Do not include ADS entries size
Eric Biggers [Sat, 18 Aug 2012 05:21:02 +0000 (00:21 -0500)]
recalculate_dentry_size(): Do not include ADS entries size

11 years agoAlignment of ADS entries
Eric Biggers [Sat, 18 Aug 2012 05:16:42 +0000 (00:16 -0500)]
Alignment of ADS entries

11 years agoAlternate stream entries fixes
Eric Biggers [Sat, 18 Aug 2012 04:59:17 +0000 (23:59 -0500)]
Alternate stream entries fixes

11 years ago--with-ntfs-3g fixes
Eric Biggers [Sat, 18 Aug 2012 01:11:42 +0000 (20:11 -0500)]
--with-ntfs-3g fixes

11 years agoSome preparations for supporting NTFS capture and apply.
Eric Biggers [Sat, 18 Aug 2012 00:46:24 +0000 (19:46 -0500)]
Some preparations for supporting NTFS capture and apply.

- Restore support for reading and writing alternate data streams (this was in
  early versions of wimlib but had been removed for not actually being used...)
- Remove the --disable-security-data option.  I don't think anyone would really
  want this; instead we just copy the existing security data by default.  New
  files will be created without security data except when capturing from NTFS
  (not yet implemented).
- Read and write the reparse tag field.
- Remove --verify, --config, --norpfix from imagex commands.  I'm still not
  planning to do anything with these, so remove them to simplify the commands.
  Who knows, maybe I'll add these back later though...
- wimlib_set_link_type(), wimlib_set_verbose(), wimlib_set_output_dir() removed.
  You now pass flags or the output directory to the relevant functions such as
  wimlib_extract_image().
- --enable-ntfs-3g configure option
- --ntfs options on `imagex capture' and `imagex apply' (Actual operations not
  yet implemented!)

11 years agowimlib_set_output_dir(): Fix comment
Eric Biggers [Fri, 17 Aug 2012 18:39:49 +0000 (13:39 -0500)]
wimlib_set_output_dir(): Fix comment

11 years agoprint named file attribute flags in wimlib_print_dentry()
Eric Biggers [Fri, 17 Aug 2012 16:06:05 +0000 (11:06 -0500)]
print named file attribute flags in wimlib_print_dentry()

11 years agotypo
Eric Biggers [Tue, 14 Aug 2012 15:32:41 +0000 (10:32 -0500)]
typo

11 years agoread_security_data() fix
Eric Biggers [Tue, 14 Aug 2012 04:46:52 +0000 (23:46 -0500)]
read_security_data() fix

11 years agoTest suite
Eric Biggers [Tue, 14 Aug 2012 00:20:28 +0000 (19:20 -0500)]
Test suite

This commit introduces a primitive test suite for wimlib.  It consists of a
shell script that runs some tests on the 'imagex' program.  Run it with `make
check'; only works with in-tree builds.

As a result of writing the test suite I also fixed two issues:
  mount.c: Allow opening empty files in read-only filesystem
  mount.c: Implement utimens() for WIM filesystem

11 years agoVarious minor changes and fixes.
Eric Biggers [Mon, 13 Aug 2012 20:54:21 +0000 (15:54 -0500)]
Various minor changes and fixes.

- Automatic newline when calling DEBUG() or ERROR()
- Use ERROR_WITH_ERRNO instead of "%m" conversion specifier
- Security data cannot be NULL anymore; just allocate one with zero entries.
- Cleaned up failure case code in some functions, also documented whether the
  WIMs are valid after wimlib_add_image(), wimlib_delete_image(), and
  wimlib_export_image() fails or not.

11 years agoUse WIM_LINK_TYPE_NONE as default, as documented
Eric Biggers [Mon, 13 Aug 2012 02:41:12 +0000 (21:41 -0500)]
Use WIM_LINK_TYPE_NONE as default, as documented

11 years agoFix some compiler warnings
Eric Biggers [Mon, 13 Aug 2012 02:38:52 +0000 (21:38 -0500)]
Fix some compiler warnings

11 years agoutil.h: gcc printf format attribute
Eric Biggers [Mon, 13 Aug 2012 02:17:21 +0000 (21:17 -0500)]
util.h: gcc printf format attribute

11 years agomkwinpeimg: fix quoting
Eric Biggers [Mon, 13 Aug 2012 02:04:37 +0000 (21:04 -0500)]
mkwinpeimg: fix quoting

11 years agoClean up file headers
Eric Biggers [Sun, 12 Aug 2012 23:12:05 +0000 (18:12 -0500)]
Clean up file headers

- Separate copyright information from file summaries
- Say to visit http://gnu.org/licenses instead of writing a letter.

11 years agoMore build system cleanups
Eric Biggers [Fri, 29 Jun 2012 23:43:39 +0000 (19:43 -0400)]
More build system cleanups

11 years agoBuild system / directory cleanups
Eric Biggers [Fri, 29 Jun 2012 03:41:24 +0000 (23:41 -0400)]
Build system / directory cleanups

- Move to non-recursive Make

- Clean up git repository by removing automatically generated files and
  providing `bootstrap' script

- Move auxiliary build files to build-aux directory

11 years agoUpdated README
Eric Biggers [Tue, 29 May 2012 16:01:57 +0000 (11:01 -0500)]
Updated README

11 years agoSHA1 minor fixes
Eric Biggers [Sat, 26 May 2012 18:53:45 +0000 (13:53 -0500)]
SHA1 minor fixes

11 years agoUse public domain SHA1 code
Eric Biggers [Sat, 26 May 2012 18:49:31 +0000 (13:49 -0500)]
Use public domain SHA1 code

I believe that technically I shouldn't have been using the coreutils SHA1 code
in wimlib because the coreutils code is GPLv3 while wimlib is LGPLv2.1+.  So I
replaced it with public domain code.

This only applies to building SHA1 support into wimlib.  I would recommend using
an external libcrypto if possible.

11 years agoNEWS
Eric Biggers [Fri, 25 May 2012 20:03:52 +0000 (15:03 -0500)]
NEWS

11 years agoVersion 0.7.2 v0.7.2
Eric Biggers [Fri, 25 May 2012 19:46:15 +0000 (14:46 -0500)]
Version 0.7.2

11 years agoCall delete_staging_dir() only on read-write mount
Eric Biggers [Tue, 22 May 2012 22:26:34 +0000 (17:26 -0500)]
Call delete_staging_dir() only on read-write mount

11 years agoMake a printf() into a DEBUG()
Eric Biggers [Tue, 22 May 2012 22:03:11 +0000 (17:03 -0500)]
Make a printf() into a DEBUG()

11 years agoInclude 'wimlib_internal.h', not 'wimlib.h'
Eric Biggers [Tue, 22 May 2012 21:41:07 +0000 (16:41 -0500)]
Include 'wimlib_internal.h', not 'wimlib.h'

11 years agoFix libcrypto flag in rpm/
Eric Biggers [Tue, 22 May 2012 21:40:47 +0000 (16:40 -0500)]
Fix libcrypto flag in rpm/

11 years agoFix --without-libcrypto flag
Eric Biggers [Sun, 20 May 2012 17:58:56 +0000 (12:58 -0500)]
Fix --without-libcrypto flag

11 years agoFix version number in README
Eric Biggers [Sun, 20 May 2012 17:57:02 +0000 (12:57 -0500)]
Fix version number in README

11 years agoUpdate news and remove md5sum from PKGBUILD.in v0.7.1
Eric Biggers [Sun, 20 May 2012 16:50:47 +0000 (11:50 -0500)]
Update news and remove md5sum from PKGBUILD.in

11 years agoVersion 0.7.1
Eric Biggers [Sun, 20 May 2012 16:44:18 +0000 (11:44 -0500)]
Version 0.7.1

11 years agoGet rid of huffman.c and huffman.h
Eric Biggers [Sun, 20 May 2012 16:38:07 +0000 (11:38 -0500)]
Get rid of huffman.c and huffman.h

Moved functions to {comp,decomp}.{c,h}

Also, don't declare read_huffsym() always inline anymore.

11 years agoPrint newline after security data
Eric Biggers [Sun, 20 May 2012 16:29:19 +0000 (11:29 -0500)]
Print newline after security data

11 years agoDelete staging directory on non-commit unmounts
Eric Biggers [Sun, 20 May 2012 16:23:56 +0000 (11:23 -0500)]
Delete staging directory on non-commit unmounts

11 years agoAllow writing to empty files in mounted WIM
Eric Biggers [Sun, 20 May 2012 16:20:19 +0000 (11:20 -0500)]
Allow writing to empty files in mounted WIM

11 years agoEmpty file fix
Eric Biggers [Sun, 20 May 2012 15:53:02 +0000 (10:53 -0500)]
Empty file fix

imagex.exe expects empty files to have a zeroed-out hash (despite the fact this
isn't actually the hash of the empty file) and no lookup table entry.  This
patch makes this the case for the WIMs that wimlib writes.

11 years agoFix dereference of NULL pointer
Eric Biggers [Sun, 20 May 2012 15:28:10 +0000 (10:28 -0500)]
Fix dereference of NULL pointer

11 years agoSupport for copying security data
Eric Biggers [Sun, 20 May 2012 15:08:20 +0000 (10:08 -0500)]
Support for copying security data

Previous versions of wimlib had preliminary support for copying security data,
before it was removed.  This version reintroduces this support, enabled by
default but configurable by the configure script.

Also various documentation fixes.

Allow reading WIMs with security data total length = 0 (it defaults to 8 if it
says 0)