Commit Graph
55 Commits
Author SHA1 Message Date
John Starks d1317d5733 Reduce decompression of directory metadata 2016-05-11 16:33:31 -07:00
John Starks 3b8b3c98b2 Merge pull request #18 from Microsoft/wim_multi
Fix multiple calls to img.Open
2016-04-18 15:16:11 -07:00
John Starks 24c009df14 Fix multiple calls to img.Open 2016-04-18 12:51:10 -07:00
John Starks 862b655792 Merge pull request #17 from Microsoft/fix_symlink
Backuptar: replace slash with backslash on link target
2016-04-11 18:00:29 -07:00
John Starks 6606cf93e2 Handle long paths correctly in reparse points 2016-04-11 17:20:42 -07:00
John Starks 93ca0b892a Backuptar: replace slash with backslash on link target 2016-04-11 15:45:43 -07:00
John Starks 9f57cbbcbc Merge pull request #16 from Microsoft/fixing_wim
Fix various WIM bugs
2016-04-06 17:10:02 -07:00
John Starks a7636ef88a WIM: Parse XML data
This parses the XML data so that callers do not have to.
2016-04-06 17:09:08 -07:00
John Starks 9ef8a67999 Add .gitignore 2016-04-06 13:59:58 -07:00
John Starks d18f2f3f56 Add validate tool to scan all directories in a WIM 2016-04-06 13:58:23 -07:00
John Starks 2748a384c0 WIM: Don't use syscall package
This allows the WIM code to build on other OSes.
2016-04-06 13:57:09 -07:00
John Starks 3cedae2e26 WIM: Fix handling of reparse points
Reparse point data is not always in the first stream, sometimes it is in
the file data itself. Remove ReparseStream and always put it in the file
data.
2016-04-06 13:56:25 -07:00
John Starks bad3e111b5 LZX: Fix unaligned block failure
This fixes the case where an unaligned block lands on a 16-bit boundary.
2016-04-06 13:45:37 -07:00
John Starks 9e60d867bd Merge pull request #15 from Microsoft/wim_support
Add WIM parser
2016-04-05 12:21:21 -07:00
John Starks 0e1e9fec26 Add WIM parser
This new code supports parsing WIM files. Currently, only WIM files that
were created with no compression or LZX compression are supported. Xpress
compression is not.
2016-04-04 13:51:45 -07:00
John Starks 9e2895e5f6 Merge pull request #14 from Microsoft/tar_changes
Backup-related improvements
2016-03-30 12:52:49 -07:00
John Starks 346aee8003 Add backuptar.BasicInfoHeader helper function
This is useful for creating tar headers for things that don't have backup
streams, such as links.
2016-03-30 12:38:06 -07:00
John Starks 3b18fb5af2 Add OpenForBackup function
This works with RunWithPrivileges to allow opening files as an
administrator without access checks.
2016-03-30 12:38:05 -07:00
John Starks 2245090e75 Add GetFileID function 2016-03-30 12:38:04 -07:00
John Starks 424d62c72e Use existing PAX headers for time
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.
2016-03-30 12:38:03 -07:00
John Starks 8f9387ea7e Merge pull request #13 from Microsoft/TimerResolutionFix
Fixed error in #12
2016-03-15 17:33:20 -07:00
Darren Stahl 4191cdca28 Fixed error in #12
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-15 15:51:39 -07:00
John Starks dc33d951c5 Merge pull request #12 from Microsoft/TimerResolution
Fixes performance regression in GO 1.6
2016-03-15 15:38:50 -07:00
Darren Stahl 3e4c0f5aa3 Fixes performance regression in GO 1.6
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-15 15:25:25 -07:00
John Starks 8f29b1bf99 Merge pull request #11 from Microsoft/test_pipe_eof
Support CloseWrite() by using pipe message mode
2016-03-15 15:11:27 -07:00
John Starks b12bd3ac52 Let clients set pipe buffer sizes 2016-03-15 11:59:27 -07:00
John Starks 36f4e701c4 Add support for CloseWrite() to pipes
This change adds support for message mode pipes and uses them to support
CloseWrite() to better match TCP and UNIX sockets. Message mode pipes
support writing and (optionally) reading data in message-sized chunks.
This is useful for us because when in this mode a zero-sized message can
be read. We use this zero-sized message to signal that no more writes will
arrive. This is not standard practice in Windows, but it is a reasonable
compromise.
2016-03-15 11:58:02 -07:00
John Starks 0c1e4a09ec Add tests that check for EOF on pipe close 2016-03-14 16:33:35 -07:00
John Starks f778f05015 Merge pull request #10 from Microsoft/priv_fix
Fix RunWithPrivilege when the process token already has the privilege
2016-03-05 18:57:29 -08:00
John Starks cd7216c8af Fix RunWithPrivilege when the process token already has the privilege 2016-03-05 18:49:41 -08:00
John Starks c40bf24f40 Merge pull request #9 from Microsoft/add_tar
Use forked archive/tar to encode Windows metadata properly
2016-02-23 12:49:43 -08:00
John Starks b1cf780eb5 Use tar fork to encode Windows metadata correctly 2016-02-23 12:48:28 -08:00
John Starks 71ac47a42e Add tar.Headers.Winheaders for Windows metadata 2016-02-23 12:48:26 -08:00
John Starks 752c574975 Add archive/tar from go 1.6
github.com/golang/go bfccf7b3e198587372f755d4ebace292a06ea2e5
2016-02-23 12:48:25 -08:00
John Starks db2d8862e6 Merge pull request #8 from Microsoft/backup
Fix encoding of Win32 file times
2016-02-23 12:10:00 -08:00
John Starks 0186d1e4dd Fix encoding of Win32 file times 2016-02-22 14:04:34 -08:00
John Starks a7276e8bc4 Merge pull request #7 from Microsoft/backup
Interfaces on top of BackupRead, BackupWrite
2016-02-18 20:42:46 -08:00
John Starks 0cd1930b37 Add experimental code to convert backup streams to tar streams
This code is experimental because it currently writes Windows metadata to
tar.Header.Xattrs, which is actually for POSIX extended attributes.
2016-02-18 20:41:01 -08:00
John Starks f011a81ddc Add interface to BackupRead/BackupWrite 2016-02-18 20:40:32 -08:00
John Starks 606856475f Merge pull request #6 from Microsoft/privilege
Add functions for running with privileges
2016-02-18 20:37:48 -08:00
John Starks 6a0656b357 Add functions for running with privileges 2016-02-18 20:36:50 -08:00
John Starks da7011968c Merge pull request #5 from Microsoft/fileinfo
Add functions to get/set FILE_BASIC_INFO
2016-02-18 20:35:20 -08:00
John Starks 1ac2c4761f Add functions to get/set FILE_BASIC_INFO 2016-02-18 20:33:57 -08:00
John Starks 94a8d2823f Merge pull request #4 from Microsoft/mksyscall
Use mksyscall_windows.go from go source in go generate
2016-02-16 18:21:30 -08:00
John Starks a920ad0a26 Use mksyscall_windows.go from go source in go generate 2016-02-16 18:20:22 -08:00
John Starks eb176a9831 Merge pull request #3 from Microsoft/fix_386
Fix build on windows/386
2016-02-04 10:50:47 -08:00
John Starks 5292a3509e Fix build on windows/386
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-02-04 10:49:26 -08:00
John Starks 2b085935f0 Update README.md 2016-01-31 17:48:08 -08:00
John Starks 89bdf52a5b Add routine for looking up account names
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-01-31 16:08:10 -08:00
John Starks fe517a5118 Misc. cleanup
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-01-31 14:18:04 -08:00