Separates out Security Descriptor (SDDL), Extended Attribute (EA) and Reparse tag encoding
code into individual functions so that those functions can be reused in other code (like
CimFS layer writing)
Signed-off-by: Amit Barve <ambarve@microsoft.com>
We also get pre-defined constants instead of carrying our own copies.
However, this changes the public API winio.FileBasicInfo from using
syscall.Filetime to using windows.Filetime, as visible in
backuptar/tar.go.
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
Since Go 1.6, archive/tar has gained public support for custom PAX
Records, so there's no need to maintain a fork of this library anymore.
We do end up with a fork of the PAX timestamp parsing/formatting
functions, but they are much less likely to change.
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
This removes the MSWINDOWS.* time fields and uses PAX times directly. I
didn't previously realize that PAX times could be negative, which
eliminates the need to store Windows times in a different format.
This also uses the LIBARCHIVE.creationtime field for creation times to
match OS X behavior.