summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authorjkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 10:59:08 +0000
committerjkummerow@chromium.org <jkummerow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 10:59:08 +0000
commit6ced4e79b6b816022957ca3dbad7712b49aa2f36 (patch)
tree1ab8d3426c1f5f902745b37d20382a4befdd97f0 /chrome/browser/chromeos
parent087b8c8ecf6630ab31d30913148e0e613a0ab881 (diff)
downloadchromium_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.cc8
-rw-r--r--chrome/browser/chromeos/login/signed_settings.h8
-rw-r--r--chrome/browser/chromeos/login/signed_settings_unittest.cc7
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();