summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-23 00:56:52 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-23 00:56:52 +0000
commitc67916d5bf56772d08aff56799f832bc93baa50e (patch)
tree14a7079212c779cb869c7007b83983442c364339 /chrome/browser/policy
parentf233e423e687c8579d153926c5bacf309d472d83 (diff)
downloadchromium_src-c67916d5bf56772d08aff56799f832bc93baa50e.zip
chromium_src-c67916d5bf56772d08aff56799f832bc93baa50e.tar.gz
chromium_src-c67916d5bf56772d08aff56799f832bc93baa50e.tar.bz2
Revert 184157
Speculative fix for DeviceLocalAccountTest.PolicyDownload failing on CrOS > Extend the CloudPolicyValidator to support ExternalPolicyData. > > The CloudPolicyValidator verifies that policy downloaded from the cloud server > is valid and checks its signature. This CL specializes the template to parse > ExternalPolicyData protobufs, which are used for extensions policy. > > BUG=163318 > > > Review URL: https://chromiumcodereview.appspot.com/12334013 TBR=joaodasilva@chromium.org Review URL: https://codereview.chromium.org/12321095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184240 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy')
-rw-r--r--chrome/browser/policy/cloud_policy_validator.cc21
-rw-r--r--chrome/browser/policy/cloud_policy_validator.h17
-rw-r--r--chrome/browser/policy/message_util.cc2
3 files changed, 3 insertions, 37 deletions
diff --git a/chrome/browser/policy/cloud_policy_validator.cc b/chrome/browser/policy/cloud_policy_validator.cc
index 6cedc2e..d16f3cd 100644
--- a/chrome/browser/policy/cloud_policy_validator.cc
+++ b/chrome/browser/policy/cloud_policy_validator.cc
@@ -10,7 +10,6 @@
#include "base/stl_util.h"
#include "chrome/browser/policy/cloud_policy_constants.h"
#include "chrome/browser/policy/proto/chrome_device_policy.pb.h"
-#include "chrome/browser/policy/proto/chrome_extension_policy.pb.h"
#include "chrome/browser/policy/proto/cloud_policy.pb.h"
#include "chrome/browser/policy/proto/device_management_backend.pb.h"
#include "content/public/browser/browser_thread.h"
@@ -77,12 +76,6 @@ void CloudPolicyValidatorBase::ValidatePolicyType(
policy_type_ = policy_type;
}
-void CloudPolicyValidatorBase::ValidateSettingsEntityId(
- const std::string& settings_entity_id) {
- validation_flags_ |= VALIDATE_ENTITY_ID;
- settings_entity_id_ = settings_entity_id;
-}
-
void CloudPolicyValidatorBase::ValidatePayload() {
validation_flags_ |= VALIDATE_PAYLOAD;
}
@@ -185,7 +178,6 @@ void CloudPolicyValidatorBase::RunChecks() {
{ VALIDATE_SIGNATURE, &CloudPolicyValidatorBase::CheckSignature },
{ VALIDATE_INITIAL_KEY, &CloudPolicyValidatorBase::CheckInitialKey },
{ VALIDATE_POLICY_TYPE, &CloudPolicyValidatorBase::CheckPolicyType },
- { VALIDATE_ENTITY_ID, &CloudPolicyValidatorBase::CheckEntityId },
{ VALIDATE_TOKEN, &CloudPolicyValidatorBase::CheckToken },
{ VALIDATE_USERNAME, &CloudPolicyValidatorBase::CheckUsername },
{ VALIDATE_DOMAIN, &CloudPolicyValidatorBase::CheckDomain },
@@ -246,18 +238,6 @@ CloudPolicyValidatorBase::Status CloudPolicyValidatorBase::CheckPolicyType() {
return VALIDATION_OK;
}
-CloudPolicyValidatorBase::Status CloudPolicyValidatorBase::CheckEntityId() {
- if (!policy_data_->has_settings_entity_id() ||
- policy_data_->settings_entity_id() != settings_entity_id_) {
- LOG(ERROR) << "Wrong settings_entity_id "
- << policy_data_->settings_entity_id() << ", expected "
- << settings_entity_id_;
- return VALIDATION_WRONG_SETTINGS_ENTITY_ID;
- }
-
- return VALIDATION_OK;
-}
-
CloudPolicyValidatorBase::Status CloudPolicyValidatorBase::CheckTimestamp() {
if (!policy_data_->has_timestamp()) {
if (timestamp_option_ == TIMESTAMP_NOT_REQUIRED) {
@@ -395,6 +375,5 @@ void CloudPolicyValidator<PayloadProto>::StartValidation(
template class CloudPolicyValidator<em::ChromeDeviceSettingsProto>;
template class CloudPolicyValidator<em::CloudPolicySettings>;
-template class CloudPolicyValidator<em::ExternalPolicyData>;
} // namespace policy
diff --git a/chrome/browser/policy/cloud_policy_validator.h b/chrome/browser/policy/cloud_policy_validator.h
index 6aeb4f1..3daf4d7 100644
--- a/chrome/browser/policy/cloud_policy_validator.h
+++ b/chrome/browser/policy/cloud_policy_validator.h
@@ -27,7 +27,6 @@ class MessageLite;
namespace enterprise_management {
class ChromeDeviceSettingsProto;
class CloudPolicySettings;
-class ExternalPolicyData;
class PolicyData;
class PolicyFetchResponse;
}
@@ -53,8 +52,6 @@ class CloudPolicyValidatorBase {
VALIDATION_PAYLOAD_PARSE_ERROR,
// Unexpected policy type.
VALIDATION_WRONG_POLICY_TYPE,
- // Unexpected settings entity id.
- VALIDATION_WRONG_SETTINGS_ENTITY_ID,
// Time stamp from the future.
VALIDATION_BAD_TIMESTAMP,
// Token doesn't match.
@@ -121,9 +118,6 @@ class CloudPolicyValidatorBase {
// Validates the policy type.
void ValidatePolicyType(const std::string& policy_type);
- // Validates the settings_entity_id value.
- void ValidateSettingsEntityId(const std::string& settings_entity_id);
-
// Validates that the payload can be decoded successfully.
void ValidatePayload();
@@ -176,10 +170,9 @@ class CloudPolicyValidatorBase {
VALIDATE_DOMAIN = 1 << 2,
VALIDATE_TOKEN = 1 << 3,
VALIDATE_POLICY_TYPE = 1 << 4,
- VALIDATE_ENTITY_ID = 1 << 5,
- VALIDATE_PAYLOAD = 1 << 6,
- VALIDATE_SIGNATURE = 1 << 7,
- VALIDATE_INITIAL_KEY = 1 << 8,
+ VALIDATE_PAYLOAD = 1 << 5,
+ VALIDATE_SIGNATURE = 1 << 6,
+ VALIDATE_INITIAL_KEY = 1 << 7,
};
// Reports completion to the |completion_callback_|.
@@ -195,7 +188,6 @@ class CloudPolicyValidatorBase {
Status CheckDomain();
Status CheckToken();
Status CheckPolicyType();
- Status CheckEntityId();
Status CheckPayload();
Status CheckSignature();
Status CheckInitialKey();
@@ -219,7 +211,6 @@ class CloudPolicyValidatorBase {
std::string domain_;
std::string token_;
std::string policy_type_;
- std::string settings_entity_id_;
std::string key_;
bool allow_key_rotation_;
@@ -264,8 +255,6 @@ typedef CloudPolicyValidator<enterprise_management::ChromeDeviceSettingsProto>
DeviceCloudPolicyValidator;
typedef CloudPolicyValidator<enterprise_management::CloudPolicySettings>
UserCloudPolicyValidator;
-typedef CloudPolicyValidator<enterprise_management::ExternalPolicyData>
- ComponentCloudPolicyValidator;
} // namespace policy
diff --git a/chrome/browser/policy/message_util.cc b/chrome/browser/policy/message_util.cc
index 66e46ae..e4ca37a 100644
--- a/chrome/browser/policy/message_util.cc
+++ b/chrome/browser/policy/message_util.cc
@@ -59,8 +59,6 @@ int GetIDSForValidationStatus(CloudPolicyValidatorBase::Status status) {
return IDS_POLICY_VALIDATION_PAYLOAD_PARSE_ERROR;
case CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE:
return IDS_POLICY_VALIDATION_WRONG_POLICY_TYPE;
- case CloudPolicyValidatorBase::VALIDATION_WRONG_SETTINGS_ENTITY_ID:
- return IDS_POLICY_VALIDATION_WRONG_SETTINGS_ENTITY_ID;
case CloudPolicyValidatorBase::VALIDATION_BAD_TIMESTAMP:
return IDS_POLICY_VALIDATION_BAD_TIMESTAMP;
case CloudPolicyValidatorBase::VALIDATION_WRONG_TOKEN: