Merge pull request #4217 from lioncash/prototype

key_manager: Make use of canonical deleted operator=
master
David 2020-07-01 16:13:14 +07:00 committed by GitHub
commit 15a04fb704
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 15 additions and 12 deletions

@ -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)};