wimlib
11 months agoDocument xattr support xattr_streams
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
Document xattr support

11 months agounix_apply.c: support extracting xattrs
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
unix_apply.c: support extracting xattrs

11 months agounix_apply.c: separate creation, data extraction, and metadata passes
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
unix_apply.c: separate creation, data extraction, and metadata passes

This will be needed to support applying extended attributes.  To make
the xattr support more scalable, each file's xattrs will be stored in a
dedicated stream rather than directly in the metadata resource.
Therefore, a file's xattrs might come up for extraction before the
file's contents; so we must create the files first.  We also can't apply
metadata, e.g.  the file mode, before setting xattrs, since the file
mode might indicate the file is readonly, which prevents setting xattrs.
So we must apply metadata last.

Symlinks with xattrs will have to be treated specially as they cannot be
created first.

11 months agounix_capture.c: support capturing xattrs
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
unix_capture.c: support capturing xattrs

11 months agoAdd an error code to represent an invalid xattr stream
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
Add an error code to represent an invalid xattr stream

11 months agoImplement basic handling of xattr streams
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
Implement basic handling of xattr streams

Add a new stream type to represent a list of Linux-style extended
attributes, and add a new per-file tagged item type to represent the
hash of the xattr stream.

11 months agotagged_item updates
Eric Biggers [Mon, 26 Dec 2016 21:14:41 +0000 (15:14 -0600)]
tagged_item updates

- expose tagged_item functions in new header tagged_items.h
- make object_id functions inline functions in object_id.h
- add a new function inode_set_tagged_data() which removes existing
  items, and use it for inode_set_object_id()

11 months agoinode.c: make inode_add_stream_with_data() return the new stream
Eric Biggers [Mon, 26 Dec 2016 21:14:40 +0000 (15:14 -0600)]
inode.c: make inode_add_stream_with_data() return the new stream

11 months agoImprove random number generation
Eric Biggers [Tue, 27 Dec 2016 02:27:29 +0000 (20:27 -0600)]
Improve random number generation

wimlib used rand() to generate random numbers, e.g. for GUIDs.  This was
neither cryptographically secure nor thread-safe.  Use getrandom(),
/dev/urandom, or RtlGenRandom() instead.

11 months agoConstify some data
Eric Biggers [Sun, 18 Dec 2016 09:19:26 +0000 (01:19 -0800)]
Constify some data

11 months agojoin.c: clean up verify_swm_set()
Eric Biggers [Sat, 17 Dec 2016 03:47:44 +0000 (19:47 -0800)]
join.c: clean up verify_swm_set()

UBSAN complained when the parts_to_swms array had 0 length.  Clean this
up by sorting the parts first, making the verification simpler.  Also
don't bother checking compression_type and chunk_size anymore; checking
guid should be sufficient, and it doesn't really matter if the
compression formats are different since now everything will be written
out correctly anyway.

11 months agoutil.c: check for calloc multiplication overflow
Eric Biggers [Sat, 17 Dec 2016 03:47:44 +0000 (19:47 -0800)]
util.c: check for calloc multiplication overflow

11 months agolcpit_matchfinder.c: update link to libdivsufsort
Eric Biggers [Sat, 17 Dec 2016 03:47:44 +0000 (19:47 -0800)]
lcpit_matchfinder.c: update link to libdivsufsort

11 months agowlfuzz: don't generate reserved short names with extension
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
wlfuzz: don't generate reserved short names with extension

11 months agowlfuzz: updates for sparse files
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
wlfuzz: updates for sparse files

11 months agowin32-test-imagex-capture_and_apply: sparse file tests
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
win32-test-imagex-capture_and_apply: sparse file tests

11 months agoExtract sparse files as sparse
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
Extract sparse files as sparse

When extracting a stream belonging to an inode with
FILE_ATTRIBUTE_SPARSE_FILE set, before writing any data, mark the
extracted stream as sparse if needed and skip preallocating space.
Then, skip writing zero regions.  This makes it so that sparse files are
still sparse after extraction.

11 months agounix_apply.c: preallocate space for regular files
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
unix_apply.c: preallocate space for regular files

11 months agounix_capture.c: mark regular files as sparse when appropriate
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
unix_capture.c: mark regular files as sparse when appropriate

11 months agoresource: pass blob and offset to consume_chunk
Eric Biggers [Thu, 15 Dec 2016 04:49:55 +0000 (20:49 -0800)]
resource: pass blob and offset to consume_chunk

This makes it so that users don't need to keep track of the current blob
and offset themselves.

12 months agoImproved handling of Data Deduplication reparse points
Eric Biggers [Sat, 3 Dec 2016 06:48:23 +0000 (22:48 -0800)]
Improved handling of Data Deduplication reparse points

12 months agov1.11.0-BETA1
Eric Biggers [Mon, 28 Nov 2016 03:38:50 +0000 (19:38 -0800)]
v1.11.0-BETA1

12 months agoexamples: C++ and Windows compatibility
Eric Biggers [Mon, 28 Nov 2016 03:19:41 +0000 (19:19 -0800)]
examples: C++ and Windows compatibility

12 months agoInclude import library and header in Windows releases
Eric Biggers [Sun, 27 Nov 2016 23:37:21 +0000 (15:37 -0800)]
Include import library and header in Windows releases

12 months agowimlib.h: define bool for old MSVC versions
Eric Biggers [Sun, 27 Nov 2016 23:24:38 +0000 (15:24 -0800)]
wimlib.h: define bool for old MSVC versions

It's also unnecessary to define bool in C++ mode.

12 months agowimlib.h: include <stdint.h> instead of <inttypes.h>
Eric Biggers [Sun, 27 Nov 2016 23:24:37 +0000 (15:24 -0800)]
wimlib.h: include <stdint.h> instead of <inttypes.h>

We only need stdint.h, and old (VS pre-2013) MSVC versions don't have
inttypes.h.

12 months agowimlib.h: test _WIN32 instead of __WIN32__
Eric Biggers [Sun, 27 Nov 2016 23:24:37 +0000 (15:24 -0800)]
wimlib.h: test _WIN32 instead of __WIN32__

MSVC defines _WIN32 but not __WIN32__.  MinGW defines both.

12 months agowimlib.h: define timespec for MSVC compatibility
Eric Biggers [Sun, 27 Nov 2016 23:24:36 +0000 (15:24 -0800)]
wimlib.h: define timespec for MSVC compatibility

12 months agowlfuzz: note Windows restrictions on short names
Eric Biggers [Sun, 27 Nov 2016 23:24:36 +0000 (15:24 -0800)]
wlfuzz: note Windows restrictions on short names

12 months agowlfuzz: allow short name associated with long name ending with dot or space
Eric Biggers [Sun, 27 Nov 2016 23:24:35 +0000 (15:24 -0800)]
wlfuzz: allow short name associated with long name ending with dot or space

12 months agontfs-3g_apply.c: add message about another known libntfs-3g bug
Eric Biggers [Sun, 27 Nov 2016 23:24:34 +0000 (15:24 -0800)]
ntfs-3g_apply.c: add message about another known libntfs-3g bug

12 months agoREADME.WINDOWS: document building with release script
Eric Biggers [Thu, 17 Nov 2016 07:03:04 +0000 (23:03 -0800)]
README.WINDOWS: document building with release script

12 months agointegrity.c: add casts when converting endianness in-place
Eric Biggers [Thu, 17 Nov 2016 05:32:13 +0000 (21:32 -0800)]
integrity.c: add casts when converting endianness in-place

This fixes some 'sparse' warnings.  No change in behavior.

12 months agoregistry.c: be explicit with le16 => bool conversion
Eric Biggers [Thu, 17 Nov 2016 05:32:12 +0000 (21:32 -0800)]
registry.c: be explicit with le16 => bool conversion

This fixes some 'sparse' warnings.  No change in behavior.

12 months agocompiler.h: define STATIC_ASSERT() to no-op when checking with sparse
Eric Biggers [Thu, 17 Nov 2016 05:32:11 +0000 (21:32 -0800)]
compiler.h: define STATIC_ASSERT() to no-op when checking with sparse

The expression used in STATIC_ASSERT() was not compatible with 'sparse'.

12 months agoextract.c: don't use ifdef within macro argument
Eric Biggers [Thu, 17 Nov 2016 05:32:10 +0000 (21:32 -0800)]
extract.c: don't use ifdef within macro argument

This was nonstandard and 'sparse' complained about it.

12 months agoAdd script to run 'sparse' static analyzer
Eric Biggers [Thu, 17 Nov 2016 05:32:10 +0000 (21:32 -0800)]
Add script to run 'sparse' static analyzer

12 months agoMakefile.am: include nasm_lt.sh in release tarball
Eric Biggers [Tue, 15 Nov 2016 01:45:11 +0000 (17:45 -0800)]
Makefile.am: include nasm_lt.sh in release tarball

Configuring with --enable-ssse3-sha1 did not work from a release tarball
because build-aux/nasm_lt.sh was missing.  Add it.

14 months agomkwinpeimg: use case insensitive mode when updating boot.wim
Eric Biggers [Sat, 8 Oct 2016 02:59:14 +0000 (19:59 -0700)]
mkwinpeimg: use case insensitive mode when updating boot.wim

It was reported that some Windows PE images have a system directory
called "windows" rather than "Windows".  Use case insensitive mode to
ensure added files go to the right place.

14 months agoutil.c: for aligned_malloc, store original pointer directly
Eric Biggers [Thu, 15 Sep 2016 03:46:10 +0000 (20:46 -0700)]
util.c: for aligned_malloc, store original pointer directly

14 months agowim.c: langinfo.h no longer needs to be included
Eric Biggers [Thu, 15 Sep 2016 03:32:11 +0000 (20:32 -0700)]
wim.c: langinfo.h no longer needs to be included

15 months agov1.10.0 v1.10.0
Eric Biggers [Sat, 20 Aug 2016 03:13:27 +0000 (20:13 -0700)]
v1.10.0

15 months agoregistry: avoid negating INT32_MIN
Eric Biggers [Fri, 19 Aug 2016 07:25:44 +0000 (00:25 -0700)]
registry: avoid negating INT32_MIN

15 months agowimexport: allow exporting to archive directly on block device
Eric Biggers [Tue, 16 Aug 2016 06:55:52 +0000 (23:55 -0700)]
wimexport: allow exporting to archive directly on block device

15 months agowimapply.1: fix documentation for valid Windows filenames
Eric Biggers [Tue, 16 Aug 2016 06:55:51 +0000 (23:55 -0700)]
wimapply.1: fix documentation for valid Windows filenames

* "must end with space or period" is not a restriction for NT APIs
* control characters are forbidden

15 months agowin32_apply.c: detect case-sensitive filename support
Eric Biggers [Tue, 16 Aug 2016 06:55:50 +0000 (23:55 -0700)]
win32_apply.c: detect case-sensitive filename support

16 months agontfs-3g_apply.c: open $Secure
Eric Biggers [Fri, 29 Jul 2016 21:43:57 +0000 (14:43 -0700)]
ntfs-3g_apply.c: open $Secure

16 months agontfs-3g_capture.c: update $Secure handling
Eric Biggers [Wed, 27 Jul 2016 16:30:01 +0000 (09:30 -0700)]
ntfs-3g_capture.c: update $Secure handling

16 months agolibattr is no longer needed
Eric Biggers [Wed, 27 Jul 2016 00:10:05 +0000 (17:10 -0700)]
libattr is no longer needed

wimlib only uses the extended attributes interface on Linux, where it
appears it is now safe to assume the functions are present in libc (see:
http://lists.nongnu.org/archive/html/acl-devel/2012-04/msg00001.html).

Note: the setfattr program from the "attr" package is still required to
run the NTFS-3G test script.

16 months agoSync AVL tree code from project
Eric Biggers [Tue, 26 Jul 2016 16:16:43 +0000 (09:16 -0700)]
Sync AVL tree code from project

16 months agoavl_tree: remove now-unused support for "unlinked" marker
Eric Biggers [Tue, 26 Jul 2016 02:57:20 +0000 (19:57 -0700)]
avl_tree: remove now-unused support for "unlinked" marker

16 months agoUnify case-sensitive and case-insensitive filename indices
Eric Biggers [Tue, 26 Jul 2016 02:14:42 +0000 (19:14 -0700)]
Unify case-sensitive and case-insensitive filename indices

16 months agoavl_tree: add avl_tree_prev_in_order()
Eric Biggers [Tue, 26 Jul 2016 02:14:21 +0000 (19:14 -0700)]
avl_tree: add avl_tree_prev_in_order()

16 months agoAdd program to report NTFS volume fragmentation
Eric Biggers [Mon, 25 Jul 2016 02:01:09 +0000 (19:01 -0700)]
Add program to report NTFS volume fragmentation

16 months agontfs-3g_apply.c: note version in which ntfs_attr_pwrite() was fixed
Eric Biggers [Mon, 25 Jul 2016 00:22:09 +0000 (17:22 -0700)]
ntfs-3g_apply.c: note version in which ntfs_attr_pwrite() was fixed

16 months agolzx_compress: make lzx_cost_for_probability() more robust
Eric Biggers [Sun, 24 Jul 2016 21:13:17 +0000 (14:13 -0700)]
lzx_compress: make lzx_cost_for_probability() more robust

16 months agolzms_common.c: support x32 ABI in find_next_opcode_sse4_2()
Eric Biggers [Tue, 19 Jul 2016 16:00:17 +0000 (09:00 -0700)]
lzms_common.c: support x32 ABI in find_next_opcode_sse4_2()

16 months agoavl_tree: replace 'AVL_INLINE' with 'forceinline'
Eric Biggers [Tue, 19 Jul 2016 16:00:17 +0000 (09:00 -0700)]
avl_tree: replace 'AVL_INLINE' with 'forceinline'

16 months agoREADME.WINDOWS: describe 64-bit build by default
Eric Biggers [Tue, 19 Jul 2016 16:00:16 +0000 (09:00 -0700)]
README.WINDOWS: describe 64-bit build by default

16 months agoREADME.WINDOWS: update build instructions for v1.10.0
Eric Biggers [Tue, 19 Jul 2016 16:00:15 +0000 (09:00 -0700)]
README.WINDOWS: update build instructions for v1.10.0

17 months agoconfigure.ac: Do not check for <sys/param.h>
Eric Biggers [Sat, 9 Jul 2016 17:13:23 +0000 (12:13 -0500)]
configure.ac: Do not check for <sys/param.h>

This header is conditionally included by <ntfs-3g/endians.h>.  It defines
too much stuff on certain platforms, e.g. an ALIGN() macro on FreeBSD,
and it appears redundant with other methods of determining the
endianness.

17 months agontfs-3g_capture.c: include <ntfs-3g/compat.h> to get ENODATA definition
Eric Biggers [Sat, 9 Jul 2016 17:12:14 +0000 (12:12 -0500)]
ntfs-3g_capture.c: include <ntfs-3g/compat.h> to get ENODATA definition

Some platforms, e.g. FreeBSD, do not define ENODATA.  On such platforms,
libntfs-3g uses ENOENT instead, and <ntfs-3g/compat.h> defines ENODATA as
ENOENT.

17 months agoUpdate NEWS
Eric Biggers [Sat, 9 Jul 2016 15:01:27 +0000 (10:01 -0500)]
Update NEWS

17 months agoStop force-inlining everything marked 'inline'
Eric Biggers [Sat, 9 Jul 2016 15:01:26 +0000 (10:01 -0500)]
Stop force-inlining everything marked 'inline'

Instead, replace 'inline' with 'forceinline' in selected places.

17 months agobitops: rename bit scan functions
Eric Biggers [Sat, 9 Jul 2016 15:01:25 +0000 (10:01 -0500)]
bitops: rename bit scan functions

Our bit scan functions use 0-based indices and do not allow zero inputs.
Rename them to 'bsr' and 'bsf' to match the x86 instructions and avoid
confusion with another common convention for 'fls' and 'ffs'.

17 months agoxpress_decompress: tweak comment about end-of-block symbol
Eric Biggers [Sat, 9 Jul 2016 15:01:24 +0000 (10:01 -0500)]
xpress_decompress: tweak comment about end-of-block symbol

17 months agodecompress_common: move temp space for building decode table to heap
Eric Biggers [Sat, 9 Jul 2016 15:01:23 +0000 (10:01 -0500)]
decompress_common: move temp space for building decode table to heap

17 months agoxpress_decompress: allocate decode table on heap instead of stack
Eric Biggers [Sat, 9 Jul 2016 15:01:22 +0000 (10:01 -0500)]
xpress_decompress: allocate decode table on heap instead of stack

17 months agodecompress_common: introduce fast path for lz_copy()
Eric Biggers [Sat, 9 Jul 2016 15:01:22 +0000 (10:01 -0500)]
decompress_common: introduce fast path for lz_copy()

17 months agodecompress_common: switch to subtables for Huffman decoding
Eric Biggers [Sat, 9 Jul 2016 15:01:21 +0000 (10:01 -0500)]
decompress_common: switch to subtables for Huffman decoding

17 months agolzx_common: add constant for maximum number of extra offset bits
Eric Biggers [Sat, 9 Jul 2016 15:01:20 +0000 (10:01 -0500)]
lzx_common: add constant for maximum number of extra offset bits

17 months agolzx_common: add constants for minimum aligned offset slot
Eric Biggers [Sat, 9 Jul 2016 15:01:19 +0000 (10:01 -0500)]
lzx_common: add constants for minimum aligned offset slot

17 months agolzx_decompress: optimize use of extra offset bits array
Eric Biggers [Sat, 9 Jul 2016 15:01:18 +0000 (10:01 -0500)]
lzx_decompress: optimize use of extra offset bits array

17 months agolzx_common: make lzx_offset_slot_base hold unadjusted offsets
Eric Biggers [Sat, 9 Jul 2016 15:01:17 +0000 (10:01 -0500)]
lzx_common: make lzx_offset_slot_base hold unadjusted offsets

17 months agolzx_decompress: decompressor cleanup
Eric Biggers [Sat, 9 Jul 2016 15:01:16 +0000 (10:01 -0500)]
lzx_decompress: decompressor cleanup

17 months agov1.10.0-BETA
Eric Biggers [Sat, 2 Jul 2016 14:05:19 +0000 (09:05 -0500)]
v1.10.0-BETA

17 months agoAdd program to run compression benchmarks
Eric Biggers [Sat, 2 Jul 2016 03:50:30 +0000 (22:50 -0500)]
Add program to run compression benchmarks

17 months agoLZX compressor improvements
Eric Biggers [Sat, 2 Jul 2016 03:31:17 +0000 (22:31 -0500)]
LZX compressor improvements

- Improved block splitting algorithm
- Consider gap matches
- Improved default cost initialization
- Other improvements and cleanups

17 months agoIntroduce ilog2_ceil()
Eric Biggers [Wed, 22 Jun 2016 01:02:00 +0000 (20:02 -0500)]
Introduce ilog2_ceil()

17 months agoRename WORDSIZE to WORDBYTES and introduce WORDBITS
Eric Biggers [Wed, 22 Jun 2016 01:01:59 +0000 (20:01 -0500)]
Rename WORDSIZE to WORDBYTES and introduce WORDBITS

17 months agobt_matchfinder: remove unnecessary max_len parameter to skip routine
Eric Biggers [Wed, 22 Jun 2016 01:01:58 +0000 (20:01 -0500)]
bt_matchfinder: remove unnecessary max_len parameter to skip routine

17 months agolz_extend: simplify lz_extend() slightly
Eric Biggers [Wed, 22 Jun 2016 01:01:57 +0000 (20:01 -0500)]
lz_extend: simplify lz_extend() slightly

Unrolling the first four word copies does not seem give noticably better
performance anymore, and on a recent Intel processor actually appears to
decrease the performance slightly.

17 months agowlfuzz: generate a wider range of filenames
Eric Biggers [Sat, 25 Jun 2016 00:41:28 +0000 (19:41 -0500)]
wlfuzz: generate a wider range of filenames

17 months agoREADME: note that a newer version of libntfs-3g is recommended
Eric Biggers [Sat, 25 Jun 2016 00:41:26 +0000 (19:41 -0500)]
README: note that a newer version of libntfs-3g is recommended

17 months agontfs-3g_apply.c: inform user about yet another possible NTFS-3G bug
Eric Biggers [Sat, 25 Jun 2016 00:41:26 +0000 (19:41 -0500)]
ntfs-3g_apply.c: inform user about yet another possible NTFS-3G bug

17 months agontfs-3g_apply.c: do not fix up security descriptors anymore
Eric Biggers [Sat, 25 Jun 2016 00:41:25 +0000 (19:41 -0500)]
ntfs-3g_apply.c: do not fix up security descriptors anymore

17 months agounix_capture.c: add error messages for invalid UTF-8
Eric Biggers [Sat, 25 Jun 2016 00:41:24 +0000 (19:41 -0500)]
unix_capture.c: add error messages for invalid UTF-8

17 months agoCharacter encoding and string conversion updates
Eric Biggers [Sat, 25 Jun 2016 00:41:23 +0000 (19:41 -0500)]
Character encoding and string conversion updates

- Allow unpaired surrogates when translating between "UTF-8" and
  "UTF-16LE".  This allows Windows-style filenames to be processed
  losslessly on UNIX-like systems, even if they are not valid UTF-16LE.

- Implement UTF-8 and UTF-16LE codecs ourselves and drop the iconv
  requirement.  This was necessary to allow surrogate codepoints, but it
  also provides better performance and actually results in *fewer* lines
  of code and a slightly smaller binary.

- Drop support for multibyte encodings other than UTF-8 on UNIX-like
  systems.  It is probably not worth the effort to support such
  encodings.  Interestingly, the support was entirely broken before
  v1.9.1, yet no one ever complained...

17 months agodentry.c: ignore filenames with embedded null characters
Eric Biggers [Sat, 11 Jun 2016 18:28:18 +0000 (13:28 -0500)]
dentry.c: ignore filenames with embedded null characters

17 months agowimlib.h: update git links for gitlist => gitweb replacement
Eric Biggers [Sat, 11 Jun 2016 18:28:17 +0000 (13:28 -0500)]
wimlib.h: update git links for gitlist => gitweb replacement

18 months agov1.9.2 v1.9.2
Eric Biggers [Wed, 1 Jun 2016 02:08:42 +0000 (21:08 -0500)]
v1.9.2

18 months agoUpdate libxml to 2.9.4 for Windows binaries
Eric Biggers [Wed, 1 Jun 2016 02:07:03 +0000 (21:07 -0500)]
Update libxml to 2.9.4 for Windows binaries

19 months agoDo not use read() and write() from MSVCRT
Eric Biggers [Sun, 15 May 2016 18:15:05 +0000 (13:15 -0500)]
Do not use read() and write() from MSVCRT

19 months agomake-windows-release: allow extra configure args on command line
Eric Biggers [Sun, 15 May 2016 03:39:17 +0000 (22:39 -0500)]
make-windows-release: allow extra configure args on command line

This is useful for testing with --enable-test-support.

19 months agowin32_apply.c: WRITE_DAC is no longer needed when creating directory
Eric Biggers [Sun, 15 May 2016 03:13:53 +0000 (22:13 -0500)]
win32_apply.c: WRITE_DAC is no longer needed when creating directory

19 months ago.gitignore: ignore wlfuzz binary
Eric Biggers [Sun, 15 May 2016 02:32:49 +0000 (21:32 -0500)]
.gitignore: ignore wlfuzz binary

19 months agowin32_apply.c: better workaround for access denied bug when creating ADS
Eric Biggers [Sun, 15 May 2016 02:18:00 +0000 (21:18 -0500)]
win32_apply.c: better workaround for access denied bug when creating ADS

Removing directory DACLs was not really a good idea, since this state can
too easily remain after extraction.  Instead, since the unexpected
STATUS_ACCESS_DENIED error only occurs when creating an empty named data
stream, we can avoid the error by requesting no permissions on the
handle.  It happens that no permissions are needed anyway.

19 months agoimagex: don't define mount_options and unmount_options if unneeded
Eric Biggers [Sun, 15 May 2016 01:18:11 +0000 (20:18 -0500)]
imagex: don't define mount_options and unmount_options if unneeded

19 months agov1.9.2-BETA2
Eric Biggers [Tue, 10 May 2016 02:32:09 +0000 (21:32 -0500)]
v1.9.2-BETA2

19 months agoCOPYING: adjust word choice
Eric Biggers [Thu, 5 May 2016 05:24:02 +0000 (00:24 -0500)]
COPYING: adjust word choice