Recognize tagged metadata items and use for UNIX data
authorEric Biggers <ebiggers3@gmail.com>
Fri, 23 May 2014 01:39:31 +0000 (20:39 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Fri, 23 May 2014 05:04:43 +0000 (00:04 -0500)
commit27b30056e4520e9b5b9d0846f438311746345f83
tree7c23712665af7f3e5faccc7782e3755c0a481127
parent941a5957f1fb7dd990d04dee47c3a86bc1572d8f
Recognize tagged metadata items and use for UNIX data

This is undocumented, but the Microsoft implementation seems to allow
variable-length, tagged metadata items to be appended to WIM dentries.
Currently it uses them for Object IDs, which DISM (Windows 8.1) will
backup and restore by default.

This commit adds support for these items, so they can be read and written
unmodified.

In addition, for our UNIX data extension, instead of storing the UNIX
data in the reserved fields of the dentry or in alternate data streams,
store it in a custom tagged item with a randomly chosen tag.  This is
perhaps the best choice compatibility-wise.
12 files changed:
Makefile.am
NEWS
include/wimlib/inode.h
include/wimlib/unix_data.h
src/dentry.c
src/extract.c
src/inode.c
src/iterate_dir.c
src/mount_image.c
src/tagged_items.c [new file with mode: 0644]
src/unix_apply.c
src/unix_capture.c