mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	crypto/key_manager: Remove dependency on the global system accessor
We can supply the content provider as an argument instead of hardcoding a global accessor in the implementation.
This commit is contained in:
		
							parent
							
								
									1a9774f824
								
							
						
					
					
						commit
						e0dd440b1f
					
				| @ -23,7 +23,6 @@ | |||||||
| #include "common/hex_util.h" | #include "common/hex_util.h" | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "common/string_util.h" | #include "common/string_util.h" | ||||||
| #include "core/core.h" |  | ||||||
| #include "core/crypto/aes_util.h" | #include "core/crypto/aes_util.h" | ||||||
| #include "core/crypto/key_manager.h" | #include "core/crypto/key_manager.h" | ||||||
| #include "core/crypto/partition_data_manager.h" | #include "core/crypto/partition_data_manager.h" | ||||||
| @ -1022,10 +1021,10 @@ void KeyManager::DeriveBase() { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void KeyManager::DeriveETicket(PartitionDataManager& data) { | void KeyManager::DeriveETicket(PartitionDataManager& data, | ||||||
|  |                                const FileSys::ContentProvider& provider) { | ||||||
|     // ETicket keys
 |     // ETicket keys
 | ||||||
|     const auto es = Core::System::GetInstance().GetContentProvider().GetEntry( |     const auto es = provider.GetEntry(0x0100000000000033, FileSys::ContentRecordType::Program); | ||||||
|         0x0100000000000033, FileSys::ContentRecordType::Program); |  | ||||||
| 
 | 
 | ||||||
|     if (es == nullptr) { |     if (es == nullptr) { | ||||||
|         return; |         return; | ||||||
|  | |||||||
| @ -20,6 +20,10 @@ namespace Common::FS { | |||||||
| class IOFile; | class IOFile; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | namespace FileSys { | ||||||
|  | class ContentProvider; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| namespace Loader { | namespace Loader { | ||||||
| enum class ResultStatus : u16; | enum class ResultStatus : u16; | ||||||
| } | } | ||||||
| @ -252,7 +256,7 @@ public: | |||||||
| 
 | 
 | ||||||
|     bool BaseDeriveNecessary() const; |     bool BaseDeriveNecessary() const; | ||||||
|     void DeriveBase(); |     void DeriveBase(); | ||||||
|     void DeriveETicket(PartitionDataManager& data); |     void DeriveETicket(PartitionDataManager& data, const FileSys::ContentProvider& provider); | ||||||
|     void PopulateTickets(); |     void PopulateTickets(); | ||||||
|     void SynthesizeTickets(); |     void SynthesizeTickets(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -2592,8 +2592,10 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) { | |||||||
| 
 | 
 | ||||||
|         const auto function = [this, &keys, &pdm] { |         const auto function = [this, &keys, &pdm] { | ||||||
|             keys.PopulateFromPartitionData(pdm); |             keys.PopulateFromPartitionData(pdm); | ||||||
|             Core::System::GetInstance().GetFileSystemController().CreateFactories(*vfs); | 
 | ||||||
|             keys.DeriveETicket(pdm); |             auto& system = Core::System::GetInstance(); | ||||||
|  |             system.GetFileSystemController().CreateFactories(*vfs); | ||||||
|  |             keys.DeriveETicket(pdm, system.GetContentProvider()); | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         QString errors; |         QString errors; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lioncash
						Lioncash