mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #4217 from lioncash/prototype
key_manager: Make use of canonical deleted operator=
This commit is contained in:
		
						commit
						15a04fb704
					
				@ -223,13 +223,16 @@ bool operator<(const KeyIndex<KeyType>& lhs, const KeyIndex<KeyType>& rhs) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class KeyManager {
 | 
					class KeyManager {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    static KeyManager& instance() {
 | 
					    static KeyManager& Instance() {
 | 
				
			||||||
        static KeyManager instance;
 | 
					        static KeyManager instance;
 | 
				
			||||||
        return instance;
 | 
					        return instance;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    KeyManager(KeyManager const&) = delete;
 | 
					    KeyManager(const KeyManager&) = delete;
 | 
				
			||||||
    void operator=(KeyManager const&) = delete;
 | 
					    KeyManager& operator=(const KeyManager&) = delete;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    KeyManager(KeyManager&&) = delete;
 | 
				
			||||||
 | 
					    KeyManager& operator=(KeyManager&&) = delete;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const;
 | 
					    bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const;
 | 
				
			||||||
    bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const;
 | 
					    bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const;
 | 
				
			||||||
 | 
				
			|||||||
@ -79,7 +79,7 @@ VirtualDir BISFactory::OpenPartition(BisPartitionId id) const {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VirtualFile BISFactory::OpenPartitionStorage(BisPartitionId id) const {
 | 
					VirtualFile BISFactory::OpenPartitionStorage(BisPartitionId id) const {
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    auto& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
    Core::Crypto::PartitionDataManager pdm{
 | 
					    Core::Crypto::PartitionDataManager pdm{
 | 
				
			||||||
        Core::System::GetInstance().GetFilesystem()->OpenDirectory(
 | 
					        Core::System::GetInstance().GetFilesystem()->OpenDirectory(
 | 
				
			||||||
            FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), Mode::Read)};
 | 
					            FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), Mode::Read)};
 | 
				
			||||||
 | 
				
			|||||||
@ -140,6 +140,6 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    u64 update_normal_partition_end;
 | 
					    u64 update_normal_partition_end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
} // namespace FileSys
 | 
					} // namespace FileSys
 | 
				
			||||||
 | 
				
			|||||||
@ -158,7 +158,7 @@ private:
 | 
				
			|||||||
    bool encrypted = false;
 | 
					    bool encrypted = false;
 | 
				
			||||||
    bool is_update = false;
 | 
					    bool is_update = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace FileSys
 | 
					} // namespace FileSys
 | 
				
			||||||
 | 
				
			|||||||
@ -88,7 +88,7 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
    // A single instance of KeyManager to be used by GetEntry()
 | 
					    // A single instance of KeyManager to be used by GetEntry()
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PlaceholderCache {
 | 
					class PlaceholderCache {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@
 | 
				
			|||||||
namespace FileSys {
 | 
					namespace FileSys {
 | 
				
			||||||
namespace {
 | 
					namespace {
 | 
				
			||||||
void SetTicketKeys(const std::vector<VirtualFile>& files) {
 | 
					void SetTicketKeys(const std::vector<VirtualFile>& files) {
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    auto& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (const auto& ticket_file : files) {
 | 
					    for (const auto& ticket_file : files) {
 | 
				
			||||||
        if (ticket_file == nullptr) {
 | 
					        if (ticket_file == nullptr) {
 | 
				
			||||||
 | 
				
			|||||||
@ -73,7 +73,7 @@ private:
 | 
				
			|||||||
    std::map<u64, std::map<std::pair<TitleType, ContentRecordType>, std::shared_ptr<NCA>>> ncas;
 | 
					    std::map<u64, std::map<std::pair<TitleType, ContentRecordType>, std::shared_ptr<NCA>>> ncas;
 | 
				
			||||||
    std::vector<VirtualFile> ticket_files;
 | 
					    std::vector<VirtualFile> ticket_files;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    VirtualFile romfs;
 | 
					    VirtualFile romfs;
 | 
				
			||||||
    VirtualDir exefs;
 | 
					    VirtualDir exefs;
 | 
				
			||||||
 | 
				
			|||||||
@ -62,6 +62,6 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    VirtualFile dec_file;
 | 
					    VirtualFile dec_file;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
} // namespace FileSys
 | 
					} // namespace FileSys
 | 
				
			||||||
 | 
				
			|||||||
@ -302,7 +302,7 @@ private:
 | 
				
			|||||||
        rb.Push<u64>(write_size);
 | 
					        rb.Push<u64>(write_size);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
					void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
				
			||||||
 | 
				
			|||||||
@ -2226,7 +2226,7 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) {
 | 
				
			|||||||
                         "title.keys_autogenerated");
 | 
					                         "title.keys_autogenerated");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance();
 | 
					    Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance();
 | 
				
			||||||
    if (keys.BaseDeriveNecessary()) {
 | 
					    if (keys.BaseDeriveNecessary()) {
 | 
				
			||||||
        Core::Crypto::PartitionDataManager pdm{vfs->OpenDirectory(
 | 
					        Core::Crypto::PartitionDataManager pdm{vfs->OpenDirectory(
 | 
				
			||||||
            FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), FileSys::Mode::Read)};
 | 
					            FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), FileSys::Mode::Read)};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user