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
John Starks
3aa597fc55
Open pipe client with anonymous security
...
This ensures that the pipe server cannot impersonate or even identify
the user that has connected to the pipe. This is a good default to
prevent malicious squatting on a named pipe name.
Signed-off-by: John Starks <jostarks@microsoft.com >
2016-01-31 14:03:47 -08:00
John Starks
99eef7be8d
Ensure DialPipe times eventually by default
...
Signed-off-by: John Starks <jostarks@microsoft.com >
2016-01-31 14:00:21 -08:00
John Starks
3191792462
Fix errors to better match net package
...
Signed-off-by: John Starks <jostarks@microsoft.com >
2016-01-31 13:47:08 -08:00
John Starks
b0d265e6c2
Ensure win32PipeListener.Close() correctly aborts Listen() calls
...
Signed-off-by: John Starks <jostarks@microsoft.com >
2016-01-31 13:46:55 -08:00
John Starks
f001f808a9
Add file and pipe Windows wrappers
...
This includes Reader, Writer, and Closer interfaces on top of
Windows file handles in a way that does not block the system thread
while the IO is outstanding.
This also includes net.Listener and net.Conn for named pipes.
2016-01-30 18:11:47 -08:00