Browse Source
Merge pull request #4217 from lioncash/prototype
key_manager: Make use of canonical deleted operator=
pull/15/merge
David
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with
15 additions and
12 deletions
-
src/core/crypto/key_manager.h
-
src/core/file_sys/bis_factory.cpp
-
src/core/file_sys/card_image.h
-
src/core/file_sys/content_archive.h
-
src/core/file_sys/registered_cache.h
-
src/core/file_sys/submission_package.cpp
-
src/core/file_sys/submission_package.h
-
src/core/file_sys/xts_archive.h
-
src/core/hle/service/es/es.cpp
-
src/yuzu/main.cpp
|
|
|
@ -223,13 +223,16 @@ bool operator<(const KeyIndex<KeyType>& lhs, const KeyIndex<KeyType>& rhs) { |
|
|
|
|
|
|
|
class KeyManager { |
|
|
|
public: |
|
|
|
static KeyManager& instance() { |
|
|
|
static KeyManager& Instance() { |
|
|
|
static KeyManager instance; |
|
|
|
return instance; |
|
|
|
} |
|
|
|
|
|
|
|
KeyManager(KeyManager const&) = delete; |
|
|
|
void operator=(KeyManager const&) = delete; |
|
|
|
KeyManager(const KeyManager&) = 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(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 { |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
auto& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
Core::Crypto::PartitionDataManager pdm{ |
|
|
|
Core::System::GetInstance().GetFilesystem()->OpenDirectory( |
|
|
|
FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), Mode::Read)}; |
|
|
|
|
|
|
|
@ -140,6 +140,6 @@ private: |
|
|
|
|
|
|
|
u64 update_normal_partition_end; |
|
|
|
|
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
}; |
|
|
|
} // namespace FileSys |
|
|
|
@ -158,7 +158,7 @@ private: |
|
|
|
bool encrypted = false; |
|
|
|
bool is_update = false; |
|
|
|
|
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
}; |
|
|
|
|
|
|
|
} // namespace FileSys |
|
|
|
@ -88,7 +88,7 @@ public: |
|
|
|
|
|
|
|
protected: |
|
|
|
// 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 { |
|
|
|
|
|
|
|
@ -21,7 +21,7 @@ |
|
|
|
namespace FileSys { |
|
|
|
namespace { |
|
|
|
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) { |
|
|
|
if (ticket_file == nullptr) { |
|
|
|
|
|
|
|
@ -73,7 +73,7 @@ private: |
|
|
|
std::map<u64, std::map<std::pair<TitleType, ContentRecordType>, std::shared_ptr<NCA>>> ncas; |
|
|
|
std::vector<VirtualFile> ticket_files; |
|
|
|
|
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
|
|
|
|
VirtualFile romfs; |
|
|
|
VirtualDir exefs; |
|
|
|
|
|
|
|
@ -62,6 +62,6 @@ private: |
|
|
|
|
|
|
|
VirtualFile dec_file; |
|
|
|
|
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
}; |
|
|
|
} // namespace FileSys |
|
|
|
@ -302,7 +302,7 @@ private: |
|
|
|
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) { |
|
|
|
|
|
|
|
@ -2226,7 +2226,7 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) { |
|
|
|
"title.keys_autogenerated"); |
|
|
|
} |
|
|
|
|
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); |
|
|
|
Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); |
|
|
|
if (keys.BaseDeriveNecessary()) { |
|
|
|
Core::Crypto::PartitionDataManager pdm{vfs->OpenDirectory( |
|
|
|
FileUtil::GetUserPath(FileUtil::UserPath::SysDataDir), FileSys::Mode::Read)}; |
|
|
|
|