Alex Barney
3d7ff652e0
Add CommonMountNames
2019-12-07 16:12:49 -06:00
Alex Barney
ac70990fa0
Add Slice functions to U8Strings
2019-12-07 16:12:49 -06:00
Alex Barney
a6161e693c
Add MountContent shims
2019-12-07 16:12:49 -06:00
Alex Barney
c6a261eeee
Rename LocalAccessLogMode to AccessLogTarget
2019-12-07 16:12:49 -06:00
Alex Barney
57586d75fd
Target netstandard2.1 and netcoreapp3.0 ( #99 )
...
.NET Core 2.1 introduced some runtime changes to support Span<T> and ByReference. Along with this comes the ability to do things like reinterpret memory as a different type. In .NET Framework the garbage collector couldn't track these references. These features proved useful enough that support for .NET Framework was dropped.
* Target netstandard2.1 and netcoreapp3.0
* Build: Zip native builds. Put version in zip filename
* Always build native exe on AppVeyor
2019-11-29 13:11:04 -06:00
Alex Barney
fdc3a11692
Bump version to 0.7.0
2019-11-26 20:49:55 -06:00
Alex Barney
e18481b3b7
Use Sha256Generator throughout the library
2019-11-26 18:13:30 -06:00
Alex Barney
1efcf3327c
Add SHA-256 benchmark with the option to display cycles per byte
2019-11-26 18:13:30 -06:00
Alex Barney
1aa5c9438e
Add Sha256Generator
2019-11-26 18:13:30 -06:00
Alex Barney
f9232b9f12
Add ICipherWithIv interface
2019-11-25 11:39:57 -06:00
Alex Barney
99522b748e
Add optimized functions for decrypting a single AES block
2019-11-25 11:39:57 -06:00
Alex Barney
abce62dd4f
Avoid running into problems from a GC hole in runtimes that don't support fast span.
...
Support for .NET Framework probably needs to be removed soon. Having runtime support for CreateSpan has turned out to be rather useful.
2019-11-23 21:05:37 -06:00
Alex Barney
2f6b75a8eb
Remove use of Enum.TryParse
2019-11-23 20:06:19 -06:00
Alex Barney
3395ebff44
Improve AES key expansion performance
2019-11-23 20:05:05 -06:00
Alex Barney
e02e719ea5
Add crypto benchmarks
2019-11-23 18:56:31 -06:00
Alex Barney
ff23a9179c
Add some NACP enums
2019-11-22 19:53:55 -06:00
Alex Barney
a7c733f96c
Slightly change some BlitSpan methods
2019-11-22 19:53:55 -06:00
Alex Barney
be2c4d3959
Add SourceLink package
2019-11-22 19:53:55 -06:00
Alex Barney
5d2de68976
Slight renamings
2019-11-22 19:53:55 -06:00
Alex Barney
5b6ca9c160
Add BlitStruct<T> and BlitSpan<T>
2019-11-22 19:53:55 -06:00
Alex Barney
bfaf95026a
Add EnsureApplicationSaveData and dependencies
...
- CreateBcatSaveData
- CreateDeviceSaveData
- CreateTemporaryStorage
- ApplicationControlProperty struct
2019-11-22 19:53:55 -06:00
Alex Barney
df8dab542a
Allow setting system save owner to 0 for now
2019-11-22 19:53:55 -06:00
Alex Barney
db6269df5c
Interleave AES instructions to improve performance
2019-11-22 13:59:47 -05:00
Alex Barney
191b3d41f6
Ensure crypto works when the input and output buffers are the same
2019-11-22 13:59:47 -05:00
Alex Barney
d0caf6ca4f
Use new crypto in Keyset class
2019-11-22 13:59:47 -05:00
Alex Barney
2f4453404f
Rename Crypto namespace
2019-11-22 13:59:47 -05:00
Alex Barney
488bd8e682
Rename Aes class
2019-11-22 13:59:47 -05:00
Alex Barney
4b2c4d9553
Refactor non-NI AES code
2019-11-22 13:59:47 -05:00
Alex Barney
2752a7c3db
Avoid allocations when doing encryption with AES-NI
2019-11-22 13:59:47 -05:00
Alex Barney
df646fb503
Add functions to encrypt/decrypt entire buffers
2019-11-22 13:59:47 -05:00
Alex Barney
8b47be19c2
Add XTS mode and remove duplicate code
2019-11-22 13:59:47 -05:00
Alex Barney
df27d2a83b
Use AES-NI instructions
2019-11-22 13:59:47 -05:00
Alex Barney
f99bc3e0fe
Give a better error in LocalFileSystem when trying to initialize it with a file
2019-11-11 12:03:22 -06:00
Alex Barney
fcf46b1822
Reduce memory used by parsing CLI arguments and keys
...
These actions are usually only performed once per program run, but the objects they used were stored as static properties where they couldn't be cleared from memory. Free up a small bit of memory by only storing them locally.
Reduces memory used by ~150 KB and reduces object count by over 1500
2019-11-03 12:25:09 -07:00
Alex Barney
cccb811293
Add Result methods for debugging ( #90 )
...
- Allow setting a callback function for when Result.Log is called.
- Allow setting a function that returns a name for a Result value.
- Print Result name in error messages
2019-10-25 22:13:09 -05:00
Alex Barney
172817a7d5
Make EmulatedSdFileSystemCreator config easier
...
Also make unintentionally internal classes public and enforce var style
2019-10-24 15:28:36 -05:00
Alex Barney
f3b5cad94b
Merge pull request #89 from Thealexbarney/saveIndex
...
Add a save indexer with related functions
Adds IFileSystemProxy commands:
- DeleteSaveDataFileSystem
- DeleteSaveDataFileSystemBySaveDataSpaceId
- DeleteSaveDataFileSystemBySaveDataAttribute
- CreateSaveDataFileSystem
- CreateSaveDataFileSystemWithHashSalt
- CreateSaveDataFileSystemBySystemSaveDataId
- OpenSaveDataFileSystem
- OpenReadOnlySaveDataFileSystem
- OpenSaveDataInfoReader
- OpenSaveDataInfoReaderBySaveDataSpaceId
- OpenSaveDataInfoReaderWithFilter
- FindSaveDataWithFilter
2019-10-24 10:37:56 -05:00
Alex Barney
901b72a186
Make internally-used FileSystemProxy methods private
2019-10-23 17:45:28 -05:00
Alex Barney
436de21c86
Add ISaveDataIndexer.GetCount
2019-10-23 17:30:08 -05:00
Alex Barney
bf8b975fa6
Implement more OpenSaveDataInfoReader commands
2019-10-23 17:12:24 -05:00
Alex Barney
04b123f16e
Adjust opened SaveDataInfoReaders if the collection is modified
2019-10-23 15:44:00 -05:00
Alex Barney
f0aac13fab
Add some SaveDataInfoReader functions
2019-10-22 17:52:55 -05:00
Alex Barney
3af543e4e1
Do error handling in CreateSaveDataFileSystemImpl
2019-10-21 20:38:59 -05:00
Alex Barney
e74bda1a68
Implement DeleteSaveDataFileSystem
2019-10-21 00:29:54 -05:00
roblabla
d2cf1ecb1f
hactoolnet: Add Title Name to NCA output
...
When displaying an NCA containing an NPDM in the code partition, display the
title name.
2019-10-19 10:41:28 -05:00
Alex Barney
92049bf9b7
Add main parts of CreateSaveDataFileSystem
2019-10-18 18:57:45 -05:00
Alex Barney
fef6d19900
Rearrange some FS client functions
2019-10-17 15:52:29 -05:00
Alex Barney
ee9bee3efb
Make IFileSystem implement IDisposable
2019-10-17 14:52:44 -05:00
Alex Barney
d330d11de2
Add SaveDataIndexer
2019-10-17 10:52:35 -05:00
Alex Barney
c7f2f28a81
Fix CleanDirectoryRecursivelyGeneric
2019-10-16 20:28:46 -05:00
Alex Barney
dee7c93285
Use plain structs for kvdb
2019-10-15 12:33:15 -05:00
Alex Barney
be907ce4bb
Target .NET Core 3.0 ( #85 )
...
* Target .NET Core 3.0
* Update build and test project packages
* Update AppVeyor build image
2019-10-14 21:10:53 -05:00
Alex Barney
9b9e83f1dc
Increment GitVersion. Renaming
2019-10-14 17:26:47 -05:00
Alex Barney
102adb4a11
Update version to 0.6.0
2019-10-14 12:28:23 -05:00
Alex Barney
49ec3d6427
Add a path normalizer that behaves like the one in FS
2019-10-14 12:10:56 -05:00
Alex Barney
e05a37bb38
Ensure failed directory savedata commits can be recovered
2019-10-14 12:10:56 -05:00
Alex Barney
576049ce88
Add OperateRange to IFile and IStorage. Reorder methods
2019-10-11 21:20:20 -05:00
Alex Barney
8390e10ae0
Make FileBase abstract methods protected
2019-10-11 20:32:47 -05:00
Alex Barney
8f4c310b7e
Add FileSystemBase
2019-10-11 19:11:36 -05:00
Alex Barney
162fb4e389
Move IStorage classes to the new StorageBase
2019-10-11 14:48:31 -05:00
Alex Barney
bfc343e801
Add some validation to StorageBase
2019-10-11 12:53:29 -05:00
Alex Barney
54950c9b68
Handle more errors in LocalFileSystem
2019-10-10 19:01:46 -05:00
Alex Barney
089b5b4f63
Add EmulatedGameCardFsCreator
2019-10-08 20:39:07 -05:00
Alex Barney
f4aaa3b453
Merge from master
2019-10-08 16:29:05 -05:00
Alex Barney
6ed1f1297d
Make GameCardHandle.Value public
2019-10-08 11:29:33 -05:00
Alex Barney
b517085e92
Add DefaultFsServerObjects for creating a default server instance
2019-10-07 19:01:53 -05:00
Alex Barney
51a13068df
Add an emulated gamecard and storage creator
2019-10-07 18:39:06 -05:00
Alex Barney
9934f477d5
Add remaining GetRightsId methods and U8StringBuilder
2019-10-04 17:17:25 -05:00
Alex Barney
fdd7eebb4b
Add external key methods to FS client/server
2019-10-02 17:57:10 -05:00
roblabla
a68d8c16d8
Add developer fixed key modulus
2019-10-02 13:53:40 -05:00
Alex Barney
d291500b28
Add ExternalKeySet. Use C# 8.0
2019-10-02 13:45:58 -05:00
Alex Barney
d7f3e94577
Add a basic SaveDataFileSystemCreator
2019-10-01 16:32:20 -05:00
Alex Barney
5011a57d3e
Add an option to control which types of access events are logged
2019-09-30 16:15:31 -05:00
Alex Barney
22bbf07c2b
Add a function for handling possible access log output
2019-09-29 11:54:34 -05:00
Alex Barney
838bb18a09
Add some savedata client functions
2019-09-27 23:36:43 -05:00
Alex Barney
00eb988793
Move FileSystemManager into FileSystemClient
2019-09-25 17:50:07 -05:00
Alex Barney
955fff8efc
Add FileHandleStorage and a new SubStorage class
2019-09-25 17:16:59 -05:00
Alex Barney
c89bc1c706
Make FileSystemProxy implement IFileSystemProxy
2019-09-23 18:37:23 -05:00
Alex Barney
fd40b2fd77
Remove the old FileBase class
2019-09-23 00:36:47 -05:00
Alex Barney
6a449b7da1
Remove IFile.Mode and create a new FileBase class
2019-09-21 23:38:47 -05:00
Alex Barney
22940f20e5
Move custom storage client code together
2019-09-21 13:59:35 -05:00
Alex Barney
0fe3031701
Move common items to the Fs class
2019-09-21 13:05:45 -05:00
Alex Barney
0e01aa3984
Rename FS namespaces
2019-09-21 12:29:10 -05:00
Alex Barney
a7befc5612
Add AccessPermissions enum
2019-09-20 22:51:42 -05:00
Alex Barney
115d798905
Add more methods to IFileSystemProxy
2019-09-20 00:40:14 -05:00
Alex Barney
5ca698eda1
More IFileSystemProxy functions
2019-09-18 18:07:08 -05:00
Alex Barney
7e2dd22079
Add more methods to IFileSystemProxy
2019-09-18 16:29:27 -05:00
Alex Barney
7222c7d469
Add a few more method definitions to IFileSystemProxy
2019-09-16 22:05:22 -05:00
Alex Barney
4bbfa057d2
Add U8String class and some FileSystemClient functions
2019-09-16 16:42:32 -05:00
Alex Barney
2f49021405
Begin filling out FileSystemClient functions
2019-09-15 08:11:54 -05:00
Alex Barney
734d86d336
Change IDirectory to match the interface in FS
2019-09-14 18:35:25 -05:00
Alex Barney
104312bf06
Log result codes in access log
2019-09-08 15:16:37 -05:00
Alex Barney
9e9fd19f63
Return Result from IFileSystem methods
2019-09-08 14:28:42 -05:00
Alex Barney
69e7735666
Change IFile and IStorage classes to return Result
2019-09-03 12:35:34 -05:00
Alex Barney
d073bdfa54
Change IFile and IStorage interfaces
2019-09-01 18:35:59 -05:00
Alex Barney
6823aa7cb8
Add placeholder FileSystemClient functions
2019-09-01 18:17:35 -05:00
Alex Barney
f0ce5a9946
Change names of some enum members
2019-08-31 19:17:28 -05:00
Alex Barney
dfff3b1ccf
Create FileSystemClient
2019-08-31 10:15:49 -05:00
Alex Barney
d6165d1097
Add OpenSaveDataFileSystemBySystemSaveDataId
2019-08-29 18:54:51 -05:00
Alex Barney
d610d2262b
Add a Result.Log() method to aid in debugging
2019-08-27 12:27:07 -05:00