Alex Barney
6e55d8c362
Fill out FS access log code
2021-03-12 01:34:14 -07:00
Alex Barney
39977d8e90
Add the logger from nn::diag
2021-03-12 01:34:14 -07:00
Alex Barney
7950a91dd0
Add ReaderWriterLock
2021-03-12 01:34:14 -07:00
Alex Barney
6360a18fbf
Add padding options to U8StringBuilder
2021-03-12 01:34:14 -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
0dc433d8a2
Implement UserFileSystem and mount registration
2021-03-12 01:34:14 -07:00
Alex Barney
a11e84cc81
Implement or skeleton fsa file system code
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
596a8bef7c
Rewrite file system accessors
2021-03-12 01:34:14 -07:00
Alex Barney
270e61a501
Add properties to FileSystemServerImpl and StorageService
2021-02-07 00:53:40 -07:00
Alex Barney
e50078d939
Move initialization code out of FileSystemServer
2021-02-07 00:26:20 -07:00
Alex Barney
a94bb81c54
Add FsSrv.Impl.FileSystemProxyServiceObject
2021-02-06 22:04:00 -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
58e94e99a9
Pass in a FileSystemServer to more classes
2021-02-05 15:18:08 -07:00
Alex Barney
dadc019439
Use globals in more places
...
Adds globals for FileSystemProxyImpl, ProgramRegistryImpl, AccessControl and StorageDeviceManagerFactory
2021-02-02 21:11:51 -07:00
Alex Barney
e9918fa5aa
Add AccessFailureManagementService
2021-01-31 01:23:38 -07:00
Alex Barney
e9f518ddc1
Convert tabs to spaces because spaces are better. Fight me.
...
No idea how this one file got formatted with tabs.
2021-01-30 02:31:17 -07:00
Alex Barney
3463c977dd
Implement the rest of TimeServiceImpl
2021-01-30 02:14:12 -07:00
Alex Barney
d0e608775e
Flesh out FileSystemProxy functions a bit more including 11.0.0 ones
2021-01-30 01:54:43 -07:00
Alex Barney
2f9fbdb818
Add StatusReportService
2021-01-29 17:41:12 -07:00
Alex Barney
e5291eb06a
Fix IFatFileSystemCreator
2021-01-29 01:03:23 -07:00
Alex Barney
119809a965
Add Mmc and SD card portions of Fssrv.Storage
2021-01-29 01:03:06 -07:00
Alex Barney
b315e14da0
Add IDeviceEventSimulator and implement some of the Os namespace
2021-01-28 23:24:24 -07:00
Alex Barney
981b902606
Move Results to their correct namespaces
2021-01-19 21:30:02 -07:00
Alex Barney
65f8ab671f
Mark abstract results as such
2021-01-19 21:30:02 -07:00
Alex Barney
9eeed9c225
Allow defining abstract Results
2021-01-19 21:30:02 -07:00
Alex Barney
7b38708c11
Add missing IFileSystemProxy methods
2021-01-19 21:30:02 -07:00
Alex Barney
e9ffc5a5e6
Move IFileSystemProxy to the Sf namespace
2021-01-19 21:30:02 -07:00
Alex Barney
5367d7c5cd
Add save data transfer sf interfaces
2021-01-19 21:30:02 -07:00
Alex Barney
f2f68958a8
Pull in some results from Atmosphere
2021-01-19 21:30:02 -07:00
Alex Barney
6b8b1515c2
Compress result name data
2021-01-19 21:30:02 -07:00
Alex Barney
2c7291b9ae
Update CoreRT/Native AOT version
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
32a3750a92
Add FileSystemBufferManager
2021-01-18 23:48:37 -07:00
Alex Barney
8e1eb0d057
Add FileSystemBuddyHeap
2021-01-18 23:48:37 -07:00
Alex Barney
454f38f1bb
Rename Assert.AssertTrue to Assert.True
2021-01-18 23:48:37 -07:00
Alex Barney
acce155341
Move some functions from Utilities to LibHac.Util.*
2021-01-18 23:48:37 -07:00
Alex Barney
7fcb0054e4
Support NCA0 sections using IVFC hashes
2020-11-25 23:40:43 -06:00
Alex Barney
369784ff12
Use SkipInit for initializing path string types
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
57c0a5065c
Rename FsSrv.Sf file system and storage interfaces
2020-11-10 22:03:54 -07:00
Alex Barney
0efaafd101
Add more NcaFileSystemService functions
2020-11-10 15:07:28 -07:00
Alex Barney
6b6a31dcea
Add BaseStorageService
2020-11-05 01:15:21 -07:00
Alex Barney
c29fed67c1
Add TimeService
2020-11-05 01:14:53 -07:00
Alex Barney
9826178fb6
Add AccessLogService
2020-11-04 00:46:39 -07:00
Alex Barney
a3220cc8df
Fix method signatures in IFileSystemProxy
2020-11-02 17:05:13 -07:00
Alex Barney
882e6bc937
Separate fssrv save code to SaveDataFileSystemService
2020-11-01 23:54:00 -07:00
Alex Barney
3837ed7eea
Add more FS IPC interfaces with adapters
2020-10-14 15:19:15 -07:00
Alex Barney
5dc7c57851
Fully implement LR client and LocationResolverSet
2020-10-14 15:11:35 -07:00
Alex Barney
4113bc2d36
Rename FileSystemProxy to FileSystemProxyImpl
2020-10-14 14:57:19 -07:00
Alex Barney
2bd7bb7892
Use BaseFileSystemService in FileSystemProxy
2020-10-14 14:50:51 -07:00
Alex Barney
be55aa7e9c
Add BaseFileSystemService
2020-10-14 14:48:34 -07:00
Alex Barney
9f81b933e8
KeySet.DeriveKeys now derives both sets automatically
2020-10-13 21:34:08 -07:00
Alex Barney
9bb2c3a843
Support more key parser situations
...
Support comments, ignoring lines that are too long, properly reading the last line in a file. Probably some bug fixes too.
2020-10-13 20:55:48 -07:00
Alex Barney
b6499a6c12
Rename IsEmpty to IsZeros
...
Renames the IsEmpty() functions that check if an array is all zeros. This helps avoid confusion because Span has an IsEmpty property that returns true if the span's length is 0.
The change actually revealed a tiny bug in KeyDerivation where the property was accidentally used instead of the function.
2020-10-11 23:47:26 -07:00
Alex Barney
c39895080b
hactoolnet: Always read both prod and dev key sets
2020-10-11 22:25:02 -07:00
Alex Barney
8f011387a0
Improve key parser performance a bit
2020-10-11 01:26:43 -07:00
Alex Barney
b5dabe78f5
Replace hex string converter and move StringUtils
2020-10-10 20:17:07 -07:00
Alex Barney
a9632c8d00
Rewrite the key file parser
2020-10-10 17:19:40 -07:00
Alex Barney
fa79db2285
Split ExternalKeyReader
2020-10-07 17:54:29 -07:00
Alex Barney
bac541947f
Embed key sources in the library
...
Embedded keys are generated at build-time from the IncludedKeys.txt file under the build directory.
A separate codegen build project was created because generating the embedded keys requires the same LibHac that is being built.
_buildCodeGen.csproj is located under CodeGen because NUKE doesn't like having two build projects in the same directory.
2020-10-06 22:18:34 -07:00
Alex Barney
770406e9c2
Remove the old Keyset class
2020-10-05 12:25:39 -07:00
Alex Barney
e3bb1f1fac
Allow reading dev keys from key files
2020-10-05 01:26:54 -07:00
Alex Barney
7a7cded4f2
Add RSA keys
2020-10-04 20:18:30 -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
61ce892697
Rewrite the Package1 class, updating it to handle newer package1s
2020-09-28 01:18:15 -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
Xpl0itR
49a8ffd3e2
Expose bufferSize as a variable in CopyTo and CopyToStream
2020-08-30 10:32:52 +01:00
Xpl0itR
771663786d
Use LibHac's RentedArray<T> struct
2020-08-30 10:32:52 +01:00
Alex Barney
d138a52d06
Add some docs for EmulatedBisFileSystemCreator
2020-08-29 21:53:45 -07:00
Alex Barney
30f306f637
Add additional documentation to the access control classes
2020-08-26 17:10:12 -07: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
3184e6ca7e
Add IFileSystemProxyForLoader and IProgramRegistry interfaces
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
deaf111ac3
Add functions to ProgramRegistryService
...
Adds RegisterProgramIndexMapInfo and GetProgramIndexForAccessLog to both FileSystemProxy and ProgramRegistryService
2020-08-26 17:10:12 -07:00
Alex Barney
0b050d2189
Add ProgramIndexMapInfoManager
2020-08-26 17:10:12 -07:00
Alex Barney
004e46cacc
Add the program registry
2020-08-26 17:10:12 -07:00
Alex Barney
76d21263da
Add AccessControl
2020-08-26 17:10:12 -07:00
Alex Barney
3a3c4822be
hactoolnet: Remove use of enum reflection
2020-08-19 11:07:28 -07:00
Alex Barney
2242fc6371
Miscellaneous code style cleanup
2020-08-18 21:47:46 -07:00
Alex Barney
71824f06dc
Fixes in Nca and U8Span
2020-08-17 19:23:30 -07:00
Alex Barney
f2f2111729
hactoolnet: Add functions to convert some enums to strings
2020-08-17 19:23:30 -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
30273bf3ef
Avoid false positives in detection of unencrypted NCAs
2020-08-15 17:13:28 -07:00
Alex Barney
a07e17c369
Make file option struct constructors public.
2020-08-14 23:40:03 -07:00
Alex Barney
f20337d774
Add support for NCA0 files.
...
Any operation that is supported with other NCAs is supported NCA0s. This includes reading both encrypted and decrypted NCA0s, and encrypting and decrypting NCA0s.
2020-08-14 22:09:11 -07:00
Alex Barney
6bab1d9273
Support extracting INI binaries embedded in the kernel
2020-08-12 14:27:58 -07:00
Alex Barney
8491ec2117
Add Package2StorageReader and InitialProcessBinaryReader
2020-08-12 14:27:58 -07:00
Alex Barney
81340027fc
Rename FsService to FsSrv
2020-08-07 18:32:01 -07:00
Alex Barney
24ba7c6b5b
Set the next version to 0.12.0
2020-08-07 10:22:14 -07:00
Alex Barney
9e57cc174e
Add documentation for SaveDataIndexer and related classes
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
Alex Barney
d575415b0e
Remove the old KeyValueDatabase
2020-08-07 10:02:50 -07:00
Alex Barney
a551360da0
Use FlatMapKeyValueStore in SaveDataIndexer
...
FS 10.0 tweaks how the SaveDataIndexerManager is accessed. SaveDataFileSystemServiceImpl's configuration now includes an ISaveDataIndexerManager instead of using global state.
FS 10.0 uses the new nn::fssrv::storage namespace for abstracting the interface to nn::gc and nn::sdmmc. A tiny bit of the namespace has been added so we can create mock SD card handles for SaveDataIndexerManager.
ReferenceCountedDisposable<T> is now being used for returning ISaveDataInfoReader objects from IFileSystemProxy. I've tried coming up with a pattern to cleanly return a ReferenceCountedDisposable<T>, but the lack of features like RAII or move semantics makes this difficult without either lots of allocations or lots of boilerplate code.
2020-08-07 10:02:50 -07:00