Alex Barney
2793648d37
Remove deprecated classes
2021-11-04 13:02:25 -07:00
Alex Barney
0a8fb8a5c0
Update package1 and package2 readers to use SharedRef<T>
2021-11-03 23:08:50 -07:00
Alex Barney
2370f76c62
Bump version to 0.14.0
2021-11-03 23:08:50 -07:00
Alex Barney
257bdf0c46
Fix usages of SharedRef/UniqueRef
2021-11-03 23:08:50 -07:00
Alex Barney
f9f31056ef
Use "in" instead of "ref" where appropriate in SharedRef<T>
2021-11-03 23:08:50 -07:00
Alex Barney
770cd222f1
Update Xci.HasPartition for the new path handling
2021-11-03 23:08:50 -07:00
Alex Barney
e14a20b4fa
Use SharedRef in the bcat IPC interfaces
2021-11-03 23:08:50 -07:00
Alex Barney
f07e515048
Fix a new SubStorage bug and add NonCopyable attributes
2021-11-03 23:08:50 -07:00
Alex Barney
1f14a1c360
Fix some usages of SharedRef
2021-11-03 23:08:50 -07:00
Alex Barney
a23d01e934
Move code to use SharedRef instead of ReferenceCountedDisposable
2021-11-03 23:08:50 -07:00
Alex Barney
c28128c7dd
Add SharedRef<T> and WeakRef<T>
2021-11-03 23:08:50 -07:00
Alex Barney
6082c10efa
Fix bug in FileSystemServiceObjectAdapter.DoCreateDirectory
2021-11-03 23:08:50 -07:00
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
39f727bc0d
Address new warnings from Resharper 2021.2
2021-08-06 23:14:58 -07:00
Alex Barney
b244318e3a
Add XML docs to Path
2021-08-06 18:51:55 -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
6ba10074a3
Update the FsSrv namespace to use Fs.Path
2021-08-02 18:31:32 -07:00
Alex Barney
9a97e5ef3e
Update lr client and LocationResolverSet
2021-08-02 18:30:00 -07:00
Alex Barney
6db134cae4
Update SaveDataFileSystemServiceImpl to use Path
2021-07-29 11:36:17 -07:00
Alex Barney
2f58e2fd5a
Update ConcatenationFileSystem
2021-07-26 10:20:00 -07:00
Alex Barney
8bb6b0e824
Update FsSystem.Utility
2021-07-26 10:19:59 -07:00
Alex Barney
b86b57a4d3
Update SubdirectoryFileSystem and InMemoryFileSystem
2021-07-26 10:19:59 -07:00
Alex Barney
4efe313281
Update file system accessor classes
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
4ceb925cde
Update MultiCommitManager
2021-07-26 10:19:59 -07:00
Alex Barney
4934b1cbef
Update FileSystemInterfaceAdapter
2021-07-26 10:19:58 -07:00
Alex Barney
8e162cc3c8
Update FileSystemServiceObjectAdapter
2021-07-26 10:19:58 -07:00
Alex Barney
7d3ceb5315
Update IFileSystem for nnsdk 12.x
2021-07-16 13:58:49 -07:00
Alex Barney
b7897c8553
Rename IFilesystem params
2021-07-16 00:14:02 -07:00
Alex Barney
8a5ecb18f8
Move new path code to the proper namespace
2021-07-13 19:44:14 -07:00
Alex Barney
a7f5c7c041
Implement nn::fs::Path
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
f444a999ba
Add misc helper functions and fix null assertion text
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
76e5a20e1d
Handle old, pre-release cnmt files
2021-07-10 17:08:30 -07:00
Alex Barney
7cbbf023ff
Add new key sources for key generation 12
2021-07-06 17:28: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
496858c7a7
Fix incorrect assert in BucketTree.NodeBuffer.Allocate
2021-06-22 19:45:58 -07:00
Alex Barney
b3dc972881
Allow FS access log to be used without a backing FS server
...
Reduces the hactoolnet build size by ~260 KB due to fssrv code no longer being used
2021-06-15 01:55:19 -07:00
Alex Barney
44fd3eb0a4
Update package metadata and readme
...
Changes the description of the project to better reflect what it does
2021-06-15 00:07:50 -07:00
Alex Barney
c59e72606f
Add CreateApplicationCacheStorage
2021-06-08 19:13:47 -07:00
Alex Barney
3018eeb8e8
Fix accidentally disposing an ISaveDataInfoReader
2021-06-01 17:39:53 -07:00
Alex Barney
f4d6d6b3c8
Add some docs and fix a permissions logic error
2021-06-01 10:38:17 -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
e99d05cc84
Make sure extra data is initialized in DirectorySaveDataFileSystem
2021-06-01 10:38:17 -07:00
Alex Barney
a1477cc9f9
Use a lock file for directory save data
2021-06-01 10:38:17 -07:00
Alex Barney
ccb8c078aa
Write extra data when creating directory save data
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
d1a49b989a
Add SaveDataSharedFileStorage
2021-06-01 10:38:17 -07:00
Alex Barney
9f3e6db545
Auto-format SaveDataManagement
2021-06-01 10:38:17 -07:00
Alex Barney
5c6f78e751
Implement all defined methods in SaveDataManagement
2021-06-01 10:38:17 -07:00
Alex Barney
7122052565
Add more methods to SaveDataManagement
...
Skeleton most of the remaining methods in SaveDataManagement.
Implement the methods directly reading and writing save data extra data.
Add PosixTime.cs
FS shim macros now call nn::fs::detail::LogResultErrorMessage before aborting instead of nn::fs::detail::LogErrorMessage
2021-06-01 10:38:17 -07:00
Alex Barney
86be94e9b5
Fill out cache storage functions in SaveDataFileSystemService
2021-06-01 10:38:17 -07:00
Alex Barney
f67d51cb37
Add save data extra data functions to SaveDataFileSystemServiceImpl
...
Adds ReadSaveDataFileSystemExtraData and WriteSaveDataFileSystemExtraData
Auto-format SaveDataFileSystemServiceImpl
Use SdkRecursiveMutexType instead of SdkRecursiveMutex in SaveDataExtraDataAccessorCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
7aae39c358
Use save data caches in SaveDataFileSystemServiceImpl
2021-06-01 10:38:17 -07:00
Alex Barney
ed8ef13bfd
Add SaveDataResultConvertFileSystem
2021-06-01 10:38:17 -07:00
Alex Barney
6f6201cb6d
Add SaveDataFileSystemCacheRegisterBase
2021-06-01 10:38:17 -07:00
Alex Barney
f1caabf82b
Add SaveDataFileSystemCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
d06731f464
Add SaveDataExtraDataAccessorCacheManager
2021-06-01 10:38:17 -07:00
Alex Barney
44229f5986
Rename some save data results
2021-06-01 10:38:17 -07:00
Alex Barney
25b94292b3
Modify ISaveDataFileSystemCreator
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
3bf8826a5b
Fill out SaveDataFileSystemServiceImpl.Configuration
2021-06-01 10:38:17 -07:00
Alex Barney
433e7bb98e
Fix access control debug mask
2021-04-25 15:42:48 -07:00
Alex Barney
b03e7aa7e9
Fix MetaLoader KernelCapabilityOffset bug
2021-04-25 15:42:48 -07:00
Alex Barney
52c0903f61
Add Ncm.ProgramLocation
2021-04-25 15:42:48 -07:00
Alex Barney
1744e0a562
Actually implement IDisposable on DirectoryHandle
2021-04-19 12:27:07 -07:00
Alex Barney
17b8bc5b62
Make fssrv interface adapters public
2021-04-19 12:01:16 -07:00
Alex Barney
4d3a1418f6
Use more accurate Sf IFile and IStorage function signatures
2021-04-19 11:16:38 -07:00
Alex Barney
880916e117
Make FileHandle and DirectoryHandle implement IDisposable
2021-04-19 11:16:38 -07:00
Alex Barney
646055de5a
Update version to 0.13.0
2021-04-18 19:34:37 -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
4ea2896b72
Improve LocalFileSystem
...
- Add case-sensitive mode.
- Avoid TargetLocked results by waiting and retrying a few times.
- Allow getting either windows or unix timestamps.
- Try a finite number of times if an entry has been deleted before returning TargetLocked.
2021-04-01 01:26:23 -07:00
Alex Barney
8848959831
Add most FS results
2021-03-28 23:13:06 -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
7269c0a215
Add new assert system
...
Mostly imitates nnsdk's assert system. The assert handler object is global because passing around a HorizonClient object just to do asserts would be annoying
2021-03-27 21:28:13 -07:00
Alex Barney
12fe47c91c
Rename "Detail" namespaces to "Impl"
2021-03-19 16:57:11 -07:00
Alex Barney
0ab26fdd69
Rename FsSrv.Creators to FsSrv.FsCreator
2021-03-19 16:57:11 -07:00
Alex Barney
d8b8e3088e
Use SkipParamInit for handling unwritten out values
...
Use this function in all places out values that set in the original code because of errors. Unmanaged values will stay uninitialized while managed values will be zeroed.
2021-03-19 16:57:11 -07:00
Alex Barney
d2c327377d
Remove "--removefeature:EventSource" compile option
2021-03-12 01:34:14 -07:00
Alex Barney
e2f1d74ae5
Remove some old logging classes
2021-03-12 01:34:14 -07:00
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