Commit graph

822 commits

Author SHA1 Message Date
Alex Barney
e140419323 Handle more possible dir save extra data states 2022-02-05 16:12:29 -07:00
Alex Barney
b27bc7e665 Support reading compressed NCAs 2022-02-03 18:40:47 -07:00
Alex Barney
1597f05b27 Actually assign _entryCount field in BucketTree 2022-02-03 18:38:27 -07:00
Alex Barney
49759d3d10 Add GameCardService 2022-02-01 00:11:02 -07:00
Alex Barney
2fb3d88261 Ensure SdCardService and MmcService are updated for 13.1.0 2022-01-29 19:41:19 -07:00
Alex Barney
91e1e65aff Add IHash256Generator interfaces
- FsSystem.IHash256Generator
- FsSystem.IHash256GeneratorFactory
- FsSystem.IHash256GeneratorFactorySelector
2022-01-27 15:06:03 -07:00
Alex Barney
e969554639 Ensure more FS classes are updated for 13.1.0
- FsSrv.Impl.IResultConvertDirectory
- FsSrv.Impl.IResultConvertFile
- FsSrv.Impl.IResultConvertFileSystem
- FsSrv.Impl.SaveDataExtraDataAccessorCacheManager
- FsSrv.Impl.SaveDataExtraDataResultConvertAccessor
- FsSrv.Impl.SaveDataResultConvert
- FsSrv.Impl.SaveDataResultConvertDirectory
- FsSrv.Impl.SaveDataResultConvertFile
- FsSrv.Impl.SaveDataResultConvertFileSystem
- FsSrv.Impl.StorageInterfaceAdapter
- FsSystem.ISaveDataCommitTimeStampGetter
- FsSystem.ISaveDataExtraDataAccessor
- FsSystem.ISaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheManager
- FsSystem.SaveDataFileSystemCacheRegisterBase
2022-01-27 15:05:58 -07:00
Alex Barney
32ffda1d3f Ensure more FS classes are updated for 13.1.0
- Add some PooledBuffer global functions

- FsSrv.SaveDataInfoFilter
- FsSrv.SaveDataInfoFilterReader
- FsSrv.StatusReportService
- FsSrv.StatusReportServiceImpl
- FsSrv.TimeService
- FsSrv.TimeServiceImpl
- FsSystem.DefaultAsynchronousAccessSplitter
- FsSystem.IAsynchronousAccessSplitter
- FsSystem.StorageFile
2022-01-26 20:06:59 -07:00
Alex Barney
2c2fed445f Ensure more FS classes are updated for 13.1.0
- FsSystem.ForwardingDirectory
- FsSystem.ForwardingFile
- FsSystem.ForwardingFileSystem
- FsSystem.StorageLayoutTypeSetDirectory
- FsSystem.StorageLayoutTypeSetFile
- FsSystem.StorageLayoutTypeSetFileSystem
- FsSystem.StorageLayoutTypeSetStorage
- Fs.MemoryStorage
- Fs.ReadOnlyFile
- Fs.ReadOnlyFileSystem
2022-01-25 17:02:44 -07:00
Alex Barney
a7ffae3a14 Add UnionStorage 2022-01-24 15:34:14 -07:00
Alex Barney
0ba0a9ad9c Fixup ApplicationSaveDataManagement and update to 13.1.0 2022-01-24 15:02:32 -07:00
Alex Barney
dea3b3a8b0 Add some save data transfer client classes
- Fs.ISaveDataChunkIterator
- Fs.ISaveDataChunkExporter
- Fs.ISaveDataChunkImporter
- Fs.ISaveDataDivisionExporter
- Fs.ISaveDataDivisionImporter
- Fs.SaveDataTransferManagerVersion2
- Fs.SaveDataTransferProhibiterForCloudBackUp
- Fs.Impl.SaveDataChunkIterator
- Fs.Impl.SaveDataChunkExporter
- Fs.Impl.SaveDataChunkImporter
- Fs.Impl.SaveDataExporterVersion2
- Fs.Impl.SaveDataImporterVersion2
- Fs.Shim.SaveDataTransferVersion2Shim
2022-01-24 13:39:39 -07:00
Alex Barney
ebc6e1b23d Update FileSystemProxyImpl to 13.1.0 2022-01-19 15:28:14 -07:00
Alex Barney
ed6a34d857 Add DebugConfigurationService 2022-01-19 13:17:10 -07:00
Alex Barney
37b8249a8b Ensure more FS classes are updated for 13.1.0
- DeviceEventSimulationStorage
- MultiCommitManager
- DirectorySaveDataFileSystem
- SubdirectoryFileSystem
- FsSystem.Utility
2022-01-19 12:24:28 -07:00
Alex Barney
795bcf0960 Add/skeleton SignedSystemPartition/SdmmcControl 2022-01-19 01:36:23 -07:00
Alex Barney
c389f471d4 Ensure all complete shim classes are updated for 13.1.0
- ProgramIndexMapInfo
- ProgramRegistry
- SystemSaveData
2022-01-18 21:38:06 -07:00
Alex Barney
74ed435dee Ensure all of Shim.SaveDataManagement is updated for 13.1.0 2022-01-18 20:45:48 -07:00
Alex Barney
dc2a1cfaef Ensure more shim classes are updated for 13.1.0
- PosixTime
- RightsId
- SaveData
2022-01-18 18:04:06 -07:00
Alex Barney
0b9af17dfd Ensure shim classes are updated to 13.1.0
- Fs.Impl.DirectoryServiceObjectAdapter
- Fs.Impl.FileServiceObjectAdapter
- Fs.Impl.FileSystemServiceObjectAdapter
- Fs.Impl.StorageServiceObjectAdapter

- Fs.Shim.Application
- Fs.Shim.BcatSaveData
- Fs.Shim.Bis
- Fs.Shim.Code
- Fs.Shim.Content
- Fs.Shim.ContentStorage
- Fs.Shim.CustomStorage
- Fs.Shim.LoaderApi
2022-01-16 18:43:12 -07:00
Alex Barney
330bc2b483 Ensure Host shim is updated for 13.1.0 2022-01-16 01:04:24 -07:00
Alex Barney
f315cee9af Remove a workaround for CS8350 by using fixed arrays 2022-01-15 13:50:15 -07:00
Alex Barney
7f1035374d Ensure SaveDataSharedFileStorage classes are updated for 13.1.0
- SaveDataOpenTypeSetFileStorage
- SaveDataSharedFileStorage
- SaveDataFileStorageHolder
2022-01-15 13:28:24 -07:00
Alex Barney
d116903892 Add some "unchecked" blocks
Try to identify places where integer overflow is expected and mark them as "unchecked"
2022-01-15 12:39:06 -07:00
Alex Barney
085511660d Fixup save data indexer classes and update them for 13.1.0
- SaveDataIndexer
- SaveDataIndexerLite
- SaveDataIndexerLiteInfoReader
- SaveDataIndexerManager
- SaveDataIndexerAccessor
2022-01-15 03:02:21 -07:00
Alex Barney
ecb85269eb Fixup program-registry-related classes
- IProgramRegistry
- ProgramRegistryImpl
- ProgramIndexRegistryService
- ProgramRegistryServiceImpl
2022-01-13 18:44:58 -07:00
Alex Barney
814ae34642 Fixup ProgramIndexMapInfoManager 2022-01-12 16:29:42 -07:00
Alex Barney
9803634284 Fixup AccessControl and update for 13.1.0 2022-01-12 15:42:42 -07:00
Alex Barney
8ba258034b Fixup ProgramRegistryManager and ProgramInfo 2022-01-12 01:36:54 -07:00
Alex Barney
04a2e51cfa Ensure LocationResolverSet is updated for 13.1.0 2022-01-12 01:32:47 -07:00
Alex Barney
6cae86eb9c Disable another warning on fixed array structs 2022-01-06 11:12:07 -07:00
Alex Barney
d412c15387 Add Utf8StringUtil and update MountUtility for 13.1.0 2022-01-05 14:05:10 -07:00
Alex Barney
123fc0655d Update Fs.Path for 13.1.0 2022-01-05 12:04:09 -07:00
Alex Barney
1f8277202f Update DirectoryPathParser, PathUtility and WindowsPath for 13.1.0 2022-01-05 00:21:45 -07:00
Alex Barney
61b29e57a3 Update PathFormatter and PathNormalizer for 13.1.0 2022-01-04 22:17:35 -07:00
Alex Barney
e1fd31c1ff Update layout of Loader and Kvdb structs 2022-01-02 22:58:11 -07:00
Alex Barney
b0e679d000 Update struct layout of Ns structs 2022-01-02 16:52:57 -07:00
Alex Barney
b7e8ea8249 Update struct layout of most remaining Fs structs 2022-01-02 14:14:37 -07:00
Alex Barney
9a358a4e30 Remove unnecessary DebuggerDisplayAttributes 2021-12-30 20:49:36 -07:00
Alex Barney
ec38f80066 Update layout of Boot and some Fs structs
Boot:
- EncryptedKeyBlob
- KeyBlob
- Package1MarikoOemHeader
- Package1MetaData
- Package1Stage1Footer
- Package1Pk11Header
- Package2Header
- Package2Meta

Fs:
- ApplicationInfo
- CodeVerificationData
- DirectoryEntry
- EncryptionSeed
- FileSystemProxyErrorInfo
- StorageErrorInfo
- FileTimeStamp
- FileTimeStampRaw
- ProgramIndexMapInfo
- QueryRangeInfo
- RightsId
2021-12-30 17:12:29 -07:00
Alex Barney
57750b896d Update layout of Arp, Bcat, and some Fs structs
Stop using LayoutKind.Explicit and the Size parameter of StructLayout
2021-12-29 15:47:20 -07:00
Alex Barney
5380902376 Rename some save enum/struct fields 2021-12-29 10:13:42 -07:00
Alex Barney
5013e7d2ec Use fixed array structs instead of Data* structs 2021-12-29 10:06:02 -07:00
Alex Barney
53e5029ef4 Remove StructLayout and fix naming in KeySet 2021-12-28 22:53:09 -07:00
Alex Barney
7c3b8df564 Remove unnecessary StructLayoutAttributes in FixedArrays 2021-12-28 22:47:37 -07:00
Alex Barney
f0df8c2d9b Remove Do* methods from IStorage 2021-12-28 17:00:37 -07:00
Alex Barney
f1d704b8f8 Mark the versions of IFileSystem interfaces 2021-12-27 18:12:43 -07:00
Alex Barney
3940ca9d76 Ensure UserFileSystemForDebug/Private are updated to 13.1.0 2021-12-25 01:26:52 -07:00
Alex Barney
ac378020dc Ensure UserDirectory and UserFileSystem are updated to 13.1.0 2021-12-24 16:43:34 -07:00
Alex Barney
5670f2fd48 Add summary docs to ReadOnlySpan<byte> strings 2021-12-24 16:25:06 -07:00
Alex Barney
52d502a793 Update UserFile functions for 13.1.0 2021-12-24 13:29:35 -07:00
Alex Barney
221e2fa608 Add Fs.Range 2021-12-23 15:56:50 -07:00
Alex Barney
03ba6b01aa Update Registrar from 12.1.0 to 13.1.0 2021-12-22 18:59:01 -07:00
Alex Barney
cf7062788f Fixup some mounted-FS-related classes and update them to 13.1.0
- FileSystemAccessor
- FileAccessor
- DirectoryAccessor
- MountTable
- UserMountTable
- FileDataCacheAccessor
- IFileDataCache
- GlobalFileDataCacheAccessorReadableScopedPointer
- FileDataCache shim functions
- PathBasedFileDataCache shim functions
2021-12-22 16:43:04 -07:00
Alex Barney
375b5b9220 Update ConcatenationFileSystem from 12.1.0 to 13.1.0 2021-12-21 19:47:42 -07:00
Alex Barney
feef0ff63f Fixup ConcatenationFileSystem
- Experiment with using Catch/Handle/Rethrow for logging Results
- Try adding a new Ret function for logging results
- Misc tweaks
2021-12-21 17:45:27 -07:00
Alex Barney
c9a2056844 Update BufferedStorage for 13.1.0 2021-12-21 12:34:42 -07:00
Alex Barney
d2d73827ba Fixup BufferedStorage 2021-12-21 12:26:42 -07:00
Alex Barney
f1105da2cc Update FileSystemBufferManager for 13.1.0 2021-12-21 12:45:09 -07:00
Alex Barney
a17605b292 Fixup FileSystemBufferManager 2021-12-20 15:12:34 -07:00
Alex Barney
2a658e2733 Update FileSystemInterfaceAdapter for 13.1.0 2021-12-19 14:36:32 -07:00
Alex Barney
c4783f4589 Update FileStorage for 13.1.0 2021-12-19 14:07:20 -07:00
Alex Barney
634ab59742 Add BlockCacheManager and skeleton CompressedStorage 2021-12-15 01:17:56 -07:00
Alex Barney
527d81a3b2 Add default constructors to some mutex types 2021-12-14 23:03:11 -07:00
Alex Barney
e0b482f44b Add a description of the LibHac.Tools namespace 2022-01-07 00:33:47 -07:00
Alex Barney
14fcdc9d67 Move Npdm, LayeredFileSystem 2022-01-07 00:33:47 -07:00
Alex Barney
a289059ecf Move InMemoryFileSystem, PathParser, PathTools 2022-01-07 00:33:47 -07:00
Alex Barney
d0a1d98885 Move PartitionFileSystemBuilder, ConcatenationStorage 2022-01-07 00:33:47 -07:00
Alex Barney
c5f904710a Move IntegrityVerificationStorage 2022-01-07 00:33:47 -07:00
Alex Barney
27bf4a1003 Move DirectoryEntryEx 2022-01-07 00:33:47 -07:00
Alex Barney
00a5b07da0 Remove use of PathTools constants 2022-01-07 00:33:47 -07:00
Alex Barney
865f271fe7 Move StreamFile, StreamStorage, StorageExtensions, FileReader 2022-01-07 00:33:47 -07:00
Alex Barney
c6a09d1dfa Move StorageStream, NullFile, NullStorage 2022-01-07 00:33:47 -07:00
Alex Barney
de2d6746fe Move FileSystemExtensions, Messages 2022-01-07 00:33:47 -07:00
Alex Barney
5acff2acab Move CachedStorage, SectorStorage and derivatives 2022-01-07 00:33:47 -07:00
Alex Barney
ae35a1b916 Fix or suppress some ReSharper warnings 2022-01-07 00:33:47 -07:00
Alex Barney
0846b86249 Move AesXtsFileSystem 2022-01-07 00:33:47 -07:00
Alex Barney
f73d206901 Move ResultNameResolver 2022-01-07 00:33:47 -07:00
Alex Barney
8e5f400048 Move CryptoOld 2022-01-07 00:33:47 -07:00
Alex Barney
2bd1c05ed5 Move some files to LibHac.Common 2022-01-07 00:33:47 -07:00
Alex Barney
50dab0c7c9 Move InternalsVisibleToAttribute to the .csproj 2022-01-07 00:33:47 -07:00
Alex Barney
bba1030143 Move Lz4 2022-01-07 00:33:47 -07:00
Alex Barney
56b0695d0a Move Calibration 2022-01-07 00:33:47 -07:00
Alex Barney
34faf2b468 Move RomFs 2022-01-07 00:33:47 -07:00
Alex Barney
aa153980be Move NcaUtils 2022-01-07 00:33:47 -07:00
Alex Barney
7681429c97 Move NxFileStream, Delta 2022-01-07 00:33:47 -07:00
Alex Barney
3c6d082ad4 Make sure modifiers are all in a consistent order 2022-01-07 00:33:47 -07:00
Alex Barney
e3d55f6793 Move Keys 2022-01-07 00:33:47 -07:00
Alex Barney
2d86d63fc6 Move FsSystem/Save 2022-01-07 00:33:47 -07:00
Alex Barney
fef8e16a85 Move FileSystemClientUtils 2022-01-07 00:33:47 -07:00
Alex Barney
a88b3058e9 Move Ticket, SwitchFs, Cnmt, Nro, Xci again 2022-01-07 00:33:47 -07:00
Alex Barney
da930dfa81 Move Xci 2022-01-07 00:33:47 -07:00
Alex Barney
3e17692a25 Update version to v0.15.0 and .NET 6.0 2021-12-18 17:53:51 -07:00
Alex Barney
592343212f Add new key sources for key generation 13 2021-12-18 13:49:43 -07:00
Alex Barney
2f8e68e35f Fix LocalFileSystem on Linux 2021-12-18 13:24:10 -07:00
Alex Barney
8ccd4e11c0 Include the pdb file in the .nupkg
Works around jbevain/cecil#610

Using InlineIL.Fody messes up the pdb checksum which makes nuget.org consider the .snupkg to be invalid. Workaround this by including the pdb in the main .nupkg
2021-12-16 18:28:43 -07:00
Alex Barney
9451553fde AesXtsFile: Don't take the input file until the end of the constructor
An exception in the constructor would make it so the file wasn't disposed correctly
2021-12-14 01:43:29 -07:00
Alex Barney
2540f071ea LocalFileSystem: Allow deleting read-only files and directories 2021-12-14 01:43:29 -07:00
Alex Barney
6910049070 Fix bugs when copying directories
- CopyDirectoryRecursively would try to create directories on the source FS instead of the destination FS.
- Don't output file name twice in CopyDirectoryRecursively .
2021-12-14 01:43:29 -07:00
Alex Barney
a76b0ef075 hactoolnet: Fix error when extracting an nca's exefs 2021-12-11 01:37:19 -07:00
Alex Barney
f80af38c64 Add Language enum 2021-12-10 18:16:39 -07:00
Alex Barney
b5ccde1a29 Support NCAs with sparse partitions 2021-12-04 15:49:31 -07:00
Alex Barney
921fbab17a Improve IndirectStorage allocations
Make sure rented arrays are returned and remove delegate allocations by using lambda functions
2021-12-04 15:49:31 -07:00
Alex Barney
40925034e1 Update IndirectStorage and SparseStorage for 13.0 2021-12-04 15:49:31 -07:00
Alex Barney
f180bfeef9 Update BucketTree for 13.0 2021-12-04 15:49:31 -07:00
Alex Barney
771f2cdb26 Add ValueSubStorage 2021-12-04 15:49:31 -07:00
Alex Barney
280fe14b5f Consolidate the 2 separate Buffer types 2021-12-04 15:49:31 -07:00
Alex Barney
f526860599 Modify a few result names 2021-12-04 15:49:31 -07:00
Alex Barney
01ecd31110 hactoolnet: Add disablekeywarns option 2021-11-17 12:00:12 -07:00
Alex Barney
80e7466840 Add parameterless constructor to Fs.Path
We can finally initialize Fs.Path correctly thanks to C# 10 allowing parameterless constructors on structs
2021-11-14 18:36:53 -07:00
Alex Barney
34dda02c38 Use file-scoped namespaces 2021-11-14 18:36:53 -07:00
Alex Barney
6fe89a2966 Properly catch exceptions in LocalFileSystem.CleanDirectoryRecursively 2021-11-04 13:25:00 -07:00
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