| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromeos/dbus/cryptohome_client.h" | 5 #include "chromeos/dbus/cryptohome_client.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "chromeos/cryptohome/async_method_caller.h" | 9 #include "chromeos/cryptohome/async_method_caller.h" |
| 10 #include "chromeos/dbus/blocking_method_caller.h" | 10 #include "chromeos/dbus/blocking_method_caller.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 return false; | 126 return false; |
| 127 dbus::MessageReader reader(response.get()); | 127 dbus::MessageReader reader(response.get()); |
| 128 uint8* bytes = NULL; | 128 uint8* bytes = NULL; |
| 129 size_t length = 0; | 129 size_t length = 0; |
| 130 if (!reader.PopArrayOfBytes(&bytes, &length)) | 130 if (!reader.PopArrayOfBytes(&bytes, &length)) |
| 131 return false; | 131 return false; |
| 132 salt->assign(bytes, bytes + length); | 132 salt->assign(bytes, bytes + length); |
| 133 return true; | 133 return true; |
| 134 } | 134 } |
| 135 | 135 |
| 136 // CryptohomeClient override, |
| 137 virtual void GetSanitizedUsername( |
| 138 const std::string& username, |
| 139 const StringDBusMethodCallback& callback) OVERRIDE { |
| 140 INITIALIZE_METHOD_CALL(method_call, |
| 141 cryptohome::kCryptohomeGetSanitizedUsername); |
| 142 dbus::MessageWriter writer(&method_call); |
| 143 writer.AppendString(username); |
| 144 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 145 base::Bind(&CryptohomeClientImpl::OnStringMethod, |
| 146 weak_ptr_factory_.GetWeakPtr(), |
| 147 callback)); |
| 148 } |
| 149 |
| 136 // CryptohomeClient override. | 150 // CryptohomeClient override. |
| 137 virtual void AsyncMount(const std::string& username, | 151 virtual void AsyncMount(const std::string& username, |
| 138 const std::string& key, | 152 const std::string& key, |
| 139 int flags, | 153 int flags, |
| 140 const AsyncMethodCallback& callback) OVERRIDE { | 154 const AsyncMethodCallback& callback) OVERRIDE { |
| 141 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount); | 155 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount); |
| 142 dbus::MessageWriter writer(&method_call); | 156 dbus::MessageWriter writer(&method_call); |
| 143 writer.AppendString(username); | 157 writer.AppendString(username); |
| 144 writer.AppendString(key); | 158 writer.AppendString(key); |
| 145 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); | 159 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); |
| (...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 | 617 |
| 604 // CryptohomeClient override. | 618 // CryptohomeClient override. |
| 605 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { | 619 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { |
| 606 const char kStubSystemSalt[] = "stub_system_salt"; | 620 const char kStubSystemSalt[] = "stub_system_salt"; |
| 607 salt->assign(kStubSystemSalt, | 621 salt->assign(kStubSystemSalt, |
| 608 kStubSystemSalt + arraysize(kStubSystemSalt)); | 622 kStubSystemSalt + arraysize(kStubSystemSalt)); |
| 609 return true; | 623 return true; |
| 610 } | 624 } |
| 611 | 625 |
| 612 // CryptohomeClient override. | 626 // CryptohomeClient override. |
| 627 virtual void GetSanitizedUsername( |
| 628 const std::string& username, |
| 629 const StringDBusMethodCallback& callback) OVERRIDE { |
| 630 const char kStubSanitizedUsername[] = |
| 631 "0123456789ABCDEF0123456789ABCDEF01234567"; |
| 632 MessageLoop::current()->PostTask( |
| 633 FROM_HERE, |
| 634 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, kStubSanitizedUsername)); |
| 635 } |
| 636 |
| 637 // CryptohomeClient override. |
| 613 virtual void AsyncMount(const std::string& username, | 638 virtual void AsyncMount(const std::string& username, |
| 614 const std::string& key, | 639 const std::string& key, |
| 615 int flags, | 640 int flags, |
| 616 const AsyncMethodCallback& callback) OVERRIDE { | 641 const AsyncMethodCallback& callback) OVERRIDE { |
| 617 ReturnAsyncMethodResult(callback, false); | 642 ReturnAsyncMethodResult(callback, false); |
| 618 } | 643 } |
| 619 | 644 |
| 620 // CryptohomeClient override. | 645 // CryptohomeClient override. |
| 621 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE { | 646 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE { |
| 622 ReturnAsyncMethodResult(callback, false); | 647 ReturnAsyncMethodResult(callback, false); |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 // static | 860 // static |
| 836 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, | 861 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, |
| 837 dbus::Bus* bus) { | 862 dbus::Bus* bus) { |
| 838 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 863 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
| 839 return new CryptohomeClientImpl(bus); | 864 return new CryptohomeClientImpl(bus); |
| 840 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 865 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
| 841 return new CryptohomeClientStubImpl(); | 866 return new CryptohomeClientStubImpl(); |
| 842 } | 867 } |
| 843 | 868 |
| 844 } // namespace chromeos | 869 } // namespace chromeos |
| OLD | NEW |