Commit graph

109 commits

Author SHA1 Message Date
Alex Barney
01ca9e0412 Introduce UniqueRef<T> and use it in IFileSystem 2021-11-03 23:08:50 -07:00
Alex Barney
5f85c0b8e2 Use using statements to dispose Fs.Path variables 2021-11-03 23:08:50 -07:00
Alex Barney
689549fed7 Remove old path code 2021-08-05 12:59:57 -07:00
Alex Barney
aad87ec845 Update the FsSystem namespace to use Fs.Path 2021-08-05 11:59:05 -07:00
Alex Barney
2f58e2fd5a Update ConcatenationFileSystem 2021-07-26 10:20:00 -07:00
Alex Barney
b86b57a4d3 Update SubdirectoryFileSystem and InMemoryFileSystem 2021-07-26 10:19:59 -07:00
Alex Barney
77aef9166f Update tests to use the updated fsa interfaces 2021-07-26 10:19:59 -07:00
Alex Barney
ba0c7405fa Reduce the number of crypto tests
Runs each crypto test vector in a single test instead of each having its own test.
The tests to run each test vector individually are still available if desired.
2021-07-14 00:08:33 -07:00
Alex Barney
8a5ecb18f8 Move new path code to the proper namespace 2021-07-13 19:44:14 -07:00
Alex Barney
79a4c62b2e Add version 12 implementations of path utility classes 2021-07-13 19:44:14 -07:00
Alex Barney
ec6eff156c Add missing "Unexpected" FS results 2021-07-13 19:44:14 -07:00
Alex Barney
8406bea563 Implement CharacterEncoding 2021-07-13 19:44:14 -07:00
Alex Barney
20dcbf8664 Fix a permissions bug when creating system save data 2021-06-29 19:27:49 -07:00
Alex Barney
22df2808fa Add a SaveDataIterator test when using a filter 2021-06-01 11:18:51 -07:00
Alex Barney
b346280bc9 Make SaveDataManagement functions public and add tests 2021-06-01 10:38:17 -07:00
Alex Barney
3056c5c296 Implement extra data functions in SaveDataFileSystemService 2021-06-01 10:38:17 -07:00
Alex Barney
7294206116 Update ISaveDataFileSystemCreator.Create
Update method parameters and rewrite the method to use SaveDataSharedFileStorage.

SaveDataFileSystemCreator now requires a FileSystemServer at construction time, so DefaultFsServerObjects must be created after FileSystemServer construction but before FileSystemServer initialization.
2021-06-01 10:38:17 -07:00
Alex Barney
fc731076ef Remove SaveDataInfoFilter layout tests
SaveDataInfoFilter is an internal struct so there's no need to test the struct's size and layout
2021-06-01 10:38:17 -07:00
Alex Barney
649c72e5e6 Add extra data handling to DirectorySaveDataFileSystem 2021-06-01 10:38:17 -07:00
Alex Barney
52c0903f61 Add Ncm.ProgramLocation 2021-04-25 15:42:48 -07:00
Alex Barney
a730c17bc5 Add Loader.MetaLoader 2021-04-16 14:55:30 -07:00
Alex Barney
bb2c870f27 Update DirectorySaveDataFileSystem to 11.0.0 2021-04-15 16:30:12 -07:00
Alex Barney
0c255e0f49 Update common path handling code
- Updates path handling code to system version 11.0.0.
- Changes InMemoryFileSystem to normalize all incoming paths.
2021-03-28 16:03:05 -07:00
Alex Barney
a5d41f5b1f Update build scripts and build dependencies 2021-03-19 16:57:11 -07:00
Alex Barney
6641109d94 Update FS shims for new Horizon and access log code
Makes all current FS shims more accurate, including using rewritten access log and system tick handling code.
2021-03-12 01:34:14 -07:00
Alex Barney
684fcd460f Swap in the new fsa code except for some access log calls 2021-03-12 01:34:14 -07:00
Alex Barney
61654298d2 Implement or skeleton some mounting code 2021-03-12 01:34:14 -07:00
Alex Barney
e50078d939 Move initialization code out of FileSystemServer 2021-02-07 00:26:20 -07:00
Alex Barney
e3c14dfa4f Add FileSystemProxyServiceObject for the FileSystemClient
Moves all the Get*ServiceObject functions to their own file.
Adds InitializeDfcFileSystemProxyServiceObject.
2021-02-06 00:29:47 -07:00
Alex Barney
f2f68958a8 Pull in some results from Atmosphere 2021-01-19 21:30:02 -07:00
Alex Barney
4bf7060ec7
Update ReSharper var style and warnings (#172)
ReSharper 2020.Something modified the var style again so that arrays of built-in types also count as built-in types, meaning the type should always be explicit.
2021-01-19 19:49:58 -07:00
Alex Barney
4efd95f94c Add BufferedStorage with some supporting classes 2021-01-18 23:48:37 -07:00
Alex Barney
e82d3e039b Update build and test packages 2020-11-17 22:41:54 -06:00
Alex Barney
25f8115600 Move to .NET 5.0 2020-11-17 22:41:54 -06:00
Alex Barney
882e6bc937 Separate fssrv save code to SaveDataFileSystemService 2020-11-01 23:54:00 -07:00
Alex Barney
5dc7c57851 Fully implement LR client and LocationResolverSet 2020-10-14 15:11:35 -07:00
Alex Barney
b5dabe78f5 Replace hex string converter and move StringUtils 2020-10-10 20:17:07 -07:00
Alex Barney
770406e9c2 Remove the old Keyset class 2020-10-05 12:25:39 -07:00
Alex Barney
333ef8729f Fix RSA regression from 5f755bc7 and add a test 2020-10-02 01:33:44 -07:00
Alex Barney
f7030aef4f Add a new KeySet class 2020-10-01 18:06:32 -07:00
Alex Barney
49711b12db Tweaks and cleanup for PR #164
- Fully span-ify CalculateCmac and update callers.
- Modify CalculateCmac signature to match Nintendo's.
- Avoid doing stackalloc based on an input length parameter.
- Use ReadOnlySpan instead of Span where appropriate.
- Standardize XML comments to use triple slashes.
- Make use of the entire rented buffer when copying.

Unrelated to the PR
- Slip in a missed enum to string conversion in hactoolnet for CoreRT reflection-free mode.
2020-09-05 21:10:39 -07:00
Xpl0itR
265147b678
Changes to CryptoOld
- Remove AES functions and replace references with functions from the Crypto.Aes class
- Edit and move the AES-CMAC function into the Crypto.Aes class
- Move BigInteger functions to the Utilities class
- Reduce duplication between the RSA functions
- Edit and move the Rsa parameter recovery function into the Crypto.Rsa class
2020-09-02 19:09:27 +01:00
Alex Barney
4552a2d94f Add permission checks to DeleteSaveDataFileSystem 2020-08-26 17:10:12 -07:00
Alex Barney
1f25b87d20 Add RegisterProgramIndexMapInfo shim and tests 2020-08-26 17:10:12 -07:00
Alex Barney
6496a2c1bc Honor permissions in OpenFileSystemWithId. Add basic AC test 2020-08-26 17:10:12 -07:00
Alex Barney
071b608f5f Tweak how the Horizon class and service manager work
- Store IServiceObjects in the service manager that return the usable objects instead of storing the objects directly
- Register FS services in the service manager instead of giving them special treatment
- Give each created HorizonClient its own "process ID"
2020-08-26 17:10:12 -07:00
Alex Barney
a005b40022 Build updates
Use the version in the .csproj if there is no local git repository.
Always use Windows line endings in codegen output.
Update build dependency versions. We're still using GitVersion 5.1.3 because of https://github.com/nuke-build/nuke/issues/509.
2020-08-15 23:34:48 -07:00
Alex Barney
81340027fc Rename FsService to FsSrv 2020-08-07 18:32:01 -07:00
Alex Barney
730167785e Add a few save data management tests 2020-08-07 10:02:50 -07:00
Alex Barney
c1b9eb8903 Change ref to in where possible in SaveDataIndexer and kvdb 2020-08-07 10:02:50 -07:00