Index: chrome/browser/chromeos/cros/cryptohome_library.cc |
diff --git a/chrome/browser/chromeos/cros/cryptohome_library.cc b/chrome/browser/chromeos/cros/cryptohome_library.cc |
deleted file mode 100644 |
index 20c92b3760dcbc128a2f7b7db40e9b418957b627..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/cros/cryptohome_library.cc |
+++ /dev/null |
@@ -1,208 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/chromeos/cros/cryptohome_library.h" |
- |
-#include <map> |
- |
-#include "base/bind.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/string_util.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "chromeos/dbus/cryptohome_client.h" |
-#include "chromeos/dbus/dbus_thread_manager.h" |
- |
-namespace chromeos { |
- |
-namespace { |
- |
-const char kStubSystemSalt[] = "stub_system_salt"; |
- |
-// Does nothing. Used as a Cryptohome::VoidMethodCallback. |
-void DoNothing(DBusMethodCallStatus call_status) {} |
- |
-} // namespace |
- |
-// This class handles the interaction with the ChromeOS cryptohome library APIs. |
-class CryptohomeLibraryImpl : public CryptohomeLibrary { |
- public: |
- CryptohomeLibraryImpl() : weak_ptr_factory_(this) { |
- } |
- |
- virtual ~CryptohomeLibraryImpl() { |
- } |
- |
- virtual bool TpmIsEnabled() OVERRIDE { |
- bool result = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()->CallTpmIsEnabledAndBlock( |
- &result); |
- return result; |
- } |
- |
- virtual bool TpmIsOwned() OVERRIDE { |
- bool result = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()->CallTpmIsOwnedAndBlock( |
- &result); |
- return result; |
- } |
- |
- virtual bool TpmIsBeingOwned() OVERRIDE { |
- bool result = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- CallTpmIsBeingOwnedAndBlock(&result); |
- return result; |
- } |
- |
- virtual void TpmCanAttemptOwnership() OVERRIDE { |
- DBusThreadManager::Get()->GetCryptohomeClient()->TpmCanAttemptOwnership( |
- base::Bind(&DoNothing)); |
- } |
- |
- virtual void TpmClearStoredPassword() OVERRIDE { |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- CallTpmClearStoredPasswordAndBlock(); |
- } |
- |
- virtual bool InstallAttributesGet( |
- const std::string& name, std::string* value) OVERRIDE { |
- std::vector<uint8> buf; |
- bool success = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- InstallAttributesGet(name, &buf, &success); |
- if (success) { |
- // Cryptohome returns 'buf' with a terminating '\0' character. |
- DCHECK(!buf.empty()); |
- DCHECK_EQ(buf.back(), 0); |
- value->assign(reinterpret_cast<char*>(buf.data()), buf.size() - 1); |
- } |
- return success; |
- } |
- |
- virtual bool InstallAttributesSet( |
- const std::string& name, const std::string& value) OVERRIDE { |
- std::vector<uint8> buf(value.c_str(), value.c_str() + value.size() + 1); |
- bool success = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- InstallAttributesSet(name, buf, &success); |
- return success; |
- } |
- |
- virtual bool InstallAttributesFinalize() OVERRIDE { |
- bool success = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- InstallAttributesFinalize(&success); |
- return success; |
- } |
- |
- virtual bool InstallAttributesIsInvalid() OVERRIDE { |
- bool result = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- InstallAttributesIsInvalid(&result); |
- return result; |
- } |
- |
- virtual bool InstallAttributesIsFirstInstall() OVERRIDE { |
- bool result = false; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- InstallAttributesIsFirstInstall(&result); |
- return result; |
- } |
- |
- virtual std::string GetSystemSalt() OVERRIDE { |
- LoadSystemSalt(); // no-op if it's already loaded. |
- return StringToLowerASCII(base::HexEncode( |
- reinterpret_cast<const void*>(system_salt_.data()), |
- system_salt_.size())); |
- } |
- |
- private: |
- void LoadSystemSalt() { |
- if (!system_salt_.empty()) |
- return; |
- DBusThreadManager::Get()->GetCryptohomeClient()-> |
- GetSystemSalt(&system_salt_); |
- CHECK(!system_salt_.empty()); |
- CHECK_EQ(system_salt_.size() % 2, 0U); |
- } |
- |
- base::WeakPtrFactory<CryptohomeLibraryImpl> weak_ptr_factory_; |
- std::vector<uint8> system_salt_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CryptohomeLibraryImpl); |
-}; |
- |
-class CryptohomeLibraryStubImpl : public CryptohomeLibrary { |
- public: |
- CryptohomeLibraryStubImpl() |
- : locked_(false) {} |
- virtual ~CryptohomeLibraryStubImpl() {} |
- |
- virtual bool TpmIsEnabled() OVERRIDE { |
- return true; |
- } |
- |
- virtual bool TpmIsOwned() OVERRIDE { |
- return true; |
- } |
- |
- virtual bool TpmIsBeingOwned() OVERRIDE { |
- return true; |
- } |
- |
- virtual void TpmCanAttemptOwnership() OVERRIDE {} |
- |
- virtual void TpmClearStoredPassword() OVERRIDE {} |
- |
- virtual bool InstallAttributesGet( |
- const std::string& name, std::string* value) OVERRIDE { |
- if (install_attrs_.find(name) != install_attrs_.end()) { |
- *value = install_attrs_[name]; |
- return true; |
- } |
- return false; |
- } |
- |
- virtual bool InstallAttributesSet( |
- const std::string& name, const std::string& value) OVERRIDE { |
- install_attrs_[name] = value; |
- return true; |
- } |
- |
- virtual bool InstallAttributesFinalize() OVERRIDE { |
- locked_ = true; |
- return true; |
- } |
- |
- virtual bool InstallAttributesIsInvalid() OVERRIDE { |
- return false; |
- } |
- |
- virtual bool InstallAttributesIsFirstInstall() OVERRIDE { |
- return !locked_; |
- } |
- |
- virtual std::string GetSystemSalt() OVERRIDE { |
- return kStubSystemSalt; |
- } |
- |
- private: |
- std::map<std::string, std::string> install_attrs_; |
- bool locked_; |
- DISALLOW_COPY_AND_ASSIGN(CryptohomeLibraryStubImpl); |
-}; |
- |
-CryptohomeLibrary::CryptohomeLibrary() {} |
-CryptohomeLibrary::~CryptohomeLibrary() {} |
- |
-// static |
-CryptohomeLibrary* CryptohomeLibrary::GetImpl(bool stub) { |
- CryptohomeLibrary* impl; |
- if (stub) |
- impl = new CryptohomeLibraryStubImpl(); |
- else |
- impl = new CryptohomeLibraryImpl(); |
- return impl; |
-} |
- |
-} // namespace chromeos |