diff options
author | jkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 10:59:08 +0000 |
---|---|---|
committer | jkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 10:59:08 +0000 |
commit | 6ced4e79b6b816022957ca3dbad7712b49aa2f36 (patch) | |
tree | 1ab8d3426c1f5f902745b37d20382a4befdd97f0 /chrome/browser/chromeos | |
parent | 087b8c8ecf6630ab31d30913148e0e613a0ab881 (diff) | |
download | chromium_src-6ced4e79b6b816022957ca3dbad7712b49aa2f36.zip chromium_src-6ced4e79b6b816022957ca3dbad7712b49aa2f36.tar.gz chromium_src-6ced4e79b6b816022957ca3dbad7712b49aa2f36.tar.bz2 |
Provide backend methods for device enrollment UI
BUG=chromium-os:13277
TEST=Existing unit tests
Review URL: http://codereview.chromium.org/6794022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81088 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/login/signed_settings.cc | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/signed_settings.h | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/signed_settings_unittest.cc | 7 |
3 files changed, 14 insertions, 9 deletions
diff --git a/chrome/browser/chromeos/login/signed_settings.cc b/chrome/browser/chromeos/login/signed_settings.cc index 8eec528..6e90a93 100644 --- a/chrome/browser/chromeos/login/signed_settings.cc +++ b/chrome/browser/chromeos/login/signed_settings.cc @@ -30,7 +30,7 @@ SignedSettings::~SignedSettings() {} SignedSettings::ReturnCode SignedSettings::MapKeyOpCode( OwnerManager::KeyOpCode return_code) { return (return_code == OwnerManager::KEY_UNAVAILABLE ? - KEY_UNAVAILABLE : OPERATION_FAILED); + KEY_UNAVAILABLE : BAD_SIGNATURE); } void SignedSettings::OnBoolComplete(void* delegate, bool success) { @@ -543,10 +543,14 @@ void RetrievePolicyOp::ProcessPolicy(const char* out, const unsigned int len) { d_->OnSettingsOpCompleted(NOT_FOUND, policy_); return; } - if (!policy_.has_policy_data() || !policy_.has_policy_data_signature()) { + if (!policy_.has_policy_data()) { d_->OnSettingsOpCompleted(OPERATION_FAILED, em::PolicyFetchResponse()); return; } + if (!policy_.has_policy_data_signature()) { + d_->OnSettingsOpCompleted(BAD_SIGNATURE, em::PolicyFetchResponse()); + return; + } std::vector<uint8> sig; const char* sig_ptr = policy_.policy_data_signature().c_str(); sig.assign(sig_ptr, sig_ptr + policy_.policy_data_signature().length()); diff --git a/chrome/browser/chromeos/login/signed_settings.h b/chrome/browser/chromeos/login/signed_settings.h index 01092e5..1a374d2 100644 --- a/chrome/browser/chromeos/login/signed_settings.h +++ b/chrome/browser/chromeos/login/signed_settings.h @@ -7,6 +7,7 @@ #pragma once #include <string> +#include <vector> #include "base/memory/ref_counted.h" #include "chrome/browser/chromeos/login/owner_manager.h" @@ -42,9 +43,10 @@ class SignedSettings : public base::RefCountedThreadSafe<SignedSettings>, public: enum ReturnCode { SUCCESS, - NOT_FOUND, // Email address or property name not found. - KEY_UNAVAILABLE, // Owner key not yet configured. - OPERATION_FAILED // Signature op or IPC to signed settings daemon failed. + NOT_FOUND, // Email address or property name not found. + KEY_UNAVAILABLE, // Owner key not yet configured. + OPERATION_FAILED, // IPC to signed settings daemon failed. + BAD_SIGNATURE // Signature verification failed. }; template <class T> diff --git a/chrome/browser/chromeos/login/signed_settings_unittest.cc b/chrome/browser/chromeos/login/signed_settings_unittest.cc index e477388..6570cac 100644 --- a/chrome/browser/chromeos/login/signed_settings_unittest.cc +++ b/chrome/browser/chromeos/login/signed_settings_unittest.cc @@ -490,8 +490,7 @@ TEST_F(SignedSettingsTest, StorePolicyFailed) { TEST_F(SignedSettingsTest, StorePolicyNoPolicyData) { NormalDelegate<bool> d(false); - d.expect_failure( - SignedSettings::MapKeyOpCode(OwnerManager::OPERATION_FAILED)); + d.expect_failure(SignedSettings::OPERATION_FAILED); std::string serialized; em::PolicyFetchResponse fake_policy = BuildProto(std::string(), @@ -573,7 +572,7 @@ TEST_F(SignedSettingsTest, RetrieveUnsignedPolicy) { std::string(), &serialized); ProtoDelegate d(policy); - d.expect_failure(SignedSettings::OPERATION_FAILED); + d.expect_failure(SignedSettings::BAD_SIGNATURE); scoped_refptr<SignedSettings> s(SignedSettings::CreateRetrievePolicyOp(&d)); MockLoginLibrary* lib = MockLoginLib(); @@ -594,7 +593,7 @@ TEST_F(SignedSettingsTest, RetrieveMalsignedPolicy) { fake_value_, &signed_serialized); ProtoDelegate d(signed_policy); - d.expect_failure(SignedSettings::OPERATION_FAILED); + d.expect_failure(SignedSettings::BAD_SIGNATURE); scoped_refptr<SignedSettings> s(SignedSettings::CreateRetrievePolicyOp(&d)); MockLoginLibrary* lib = MockLoginLib(); |