]> wimlib.net Git - wimlib/commit
Capture and apply extended attributes on Windows
authorEric Biggers <ebiggers3@gmail.com>
Sun, 21 Jan 2018 21:47:09 +0000 (13:47 -0800)
committerEric Biggers <ebiggers3@gmail.com>
Sun, 21 Jan 2018 21:47:09 +0000 (13:47 -0800)
commit3770d244330395ed3325d8832d5eebb43ebfe980
treeaf8d317d8b4e77416466b84feac4d056dd8f9dfd
parenteb13fe4fcbe425559aac0bed96ad1a3b02d5fe3c
Capture and apply extended attributes on Windows

DISM recently started supporting capturing and applying xattrs on
Windows (though, it is broken when applying multiple xattrs per file).
Make wimlib support the same, using the same on-disk format.  Unlike
DISM it is on by default, not controlled by an option, since there
doesn't seem to be a good reason to make it an option.

Also deprecate the tagged item wimlib was using to store xattrs on Linux
and switch over to the format used by WIMGAPI to store xattrs on
Windows, so that new WIM images use the same xattr format on both
platforms.  One caveat is that on Linux XATTR_SIZE_MAX is 65536 whereas
in the new WIM tagged item format we can only store up to 65535 bytes.
That is unlikely to matter though.

As future work, the NTFS-3G capture and apply backends should be updated
to support xattrs too.
16 files changed:
doc/man1/wimapply.1
doc/man1/wimcapture.1
doc/man1/wimmount.1
include/wimlib/apply.h
include/wimlib/tagged_items.h
include/wimlib/win32_common.h
include/wimlib/xattr.h
src/extract.c
src/test_support.c
src/unix_apply.c
src/unix_capture.c
src/win32_apply.c
src/win32_capture.c
tests/wims/README
tests/wims/linux_xattrs_old.wim [new file with mode: 0644]
tests/wlfuzz.c