Commit graph

793 commits

Author SHA1 Message Date
Alex Barney
d28c38a9d0 Add MemoryResourceBufferHoldStorage 2022-03-08 17:20:41 -07:00
Alex Barney
3e64f9ef03 Skeleton NcaFileSystemDriver 2022-03-07 14:08:05 -07:00
Alex Barney
00819731ae Add AesCtrCounterExtendedStorage 2022-03-04 21:01:35 -07:00
Alex Barney
e8d54159e3 Add AesCtrStorage 2022-03-04 17:35:03 -07:00
Alex Barney
c9352fcb5a Make AES crypto return the number of bytes written 2022-03-03 16:16:08 -07:00
Alex Barney
b9e2e0863b Add NcaReader and some related NCA classes 2022-03-02 11:13:37 -07:00
Alex Barney
cd2b8edfa8 Skeleton AesXtsStorage 2022-03-02 11:09:17 -07:00
Alex Barney
800d14f40b Add more assertion options 2022-03-02 11:08:30 -07:00
Alex Barney
c62de98f63 hactoolnet: Tweak NCA processing
- Ignore the relevant --section#(dir) option if the equivalent --exefs(dir) or --romfs(dir) option is set
- Display a warning instead of completely erroring when trying to extract a section that doesn't exist
- Fix an off-by-one error that resulted in section 3 not being extracted. In practice this hasn't mattered much up to this point because no official NCAs contain a section 3.
2022-04-08 18:18:00 -07:00
Alex Barney
98b6d7a346 Fix Nca exception message when a section doesn't exist 2022-04-08 18:10:51 -07:00
Alex Barney
fe6f4422dd Support reading the initial data/key area of xci files 2022-04-05 18:23:46 -07:00
Alex Barney
1271a7e62d Add key sources for 14.0.0 2022-04-02 00:54:49 -07:00
Alex Barney
7a51c5f002 Update version to 0.16.1 2022-04-01 19:41:03 -07:00
Alex Barney
7d807c1cd0 Fix FileSystemAccessor log strings
The code used to generate the strings turned "\n" into a literal "\n" instead of a new line
2022-04-01 19:12:51 -07:00
Alex Barney
9cad4b287b PartitionFileSystemCore: Fix opening directories 2022-04-01 18:29:39 -07:00
Alex Barney
0a96e8d623 Fix EnsureApplicationSaveData failing if the temp save already exists 2022-04-01 17:32:38 -07:00
Alex Barney
4e23465982 Misc code accuracy fixes 2022-02-24 16:26:23 -07:00
Alex Barney
a2c64797a9 Add U8Span properties for all nacp string fields 2022-02-20 22:58:01 -07:00
Alex Barney
d6bfecb63f Add nacp U8Span properties for convenience
Adds U8Span properties for the fields in ApplicationControlProperty that contain strings. Makes it easier to know what these fields contain.
2022-02-19 19:48:03 -07:00
Alex Barney
19dc9ebe9f Fix checking the FS access control content owner info size 2022-02-09 14:09:06 -07:00
Alex Barney
266ece82f2 Update version to 0.16.0 2022-02-05 16:13:31 -07:00
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