Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5782)

Unified Diff: chrome/browser/policy/cloud/cloud_policy_validator.cc

Issue 19733003: Implement cloud policy invalidations using the invalidation service framework. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/cloud/cloud_policy_validator.cc
diff --git a/chrome/browser/policy/cloud/cloud_policy_validator.cc b/chrome/browser/policy/cloud/cloud_policy_validator.cc
index c6e6dedc9fcbdbe62ac82129f0573f51a6c7b29a..585c182ab95c0cd33eb387dd6238026656fa475e 100644
--- a/chrome/browser/policy/cloud/cloud_policy_validator.cc
+++ b/chrome/browser/policy/cloud/cloud_policy_validator.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/policy/cloud/cloud_policy_validator.h"
#include "base/bind_helpers.h"
+#include "base/hash.h"
#include "base/message_loop/message_loop.h"
#include "base/stl_util.h"
#include "chrome/browser/policy/cloud/cloud_policy_constants.h"
@@ -95,6 +96,10 @@ void CloudPolicyValidatorBase::ValidateInitialKey() {
validation_flags_ |= VALIDATE_INITIAL_KEY;
}
+void CloudPolicyValidatorBase::ValidateHashValue() {
+ validation_flags_ |= VALIDATE_HASH_VALUE;
+}
+
void CloudPolicyValidatorBase::ValidateAgainstCurrentPolicy(
const em::PolicyData* policy_data,
ValidateTimestampOption timestamp_option,
@@ -118,6 +123,7 @@ CloudPolicyValidatorBase::CloudPolicyValidatorBase(
: status_(VALIDATION_OK),
policy_(policy_response.Pass()),
payload_(payload),
+ hash_value_(0),
validation_flags_(0),
timestamp_not_before_(0),
timestamp_not_after_(0),
@@ -197,6 +203,7 @@ void CloudPolicyValidatorBase::RunChecks() {
{ VALIDATE_DOMAIN, &CloudPolicyValidatorBase::CheckDomain },
{ VALIDATE_TIMESTAMP, &CloudPolicyValidatorBase::CheckTimestamp },
{ VALIDATE_PAYLOAD, &CloudPolicyValidatorBase::CheckPayload },
+ { VALIDATE_HASH_VALUE, &CloudPolicyValidatorBase::CheckHashValue },
};
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kCheckFunctions); ++i) {
@@ -352,6 +359,11 @@ CloudPolicyValidatorBase::Status CloudPolicyValidatorBase::CheckPayload() {
return VALIDATION_OK;
}
+CloudPolicyValidatorBase::Status CloudPolicyValidatorBase::CheckHashValue() {
+ hash_value_ = base::Hash(policy_data_->policy_value());
Joao da Silva 2013/07/23 20:44:47 This isn't a validation of the policy (it can't fa
Steve Condie 2013/07/24 01:42:04 I agree the way you suggested is cleaner. The only
+ return VALIDATION_OK;
+}
+
// static
bool CloudPolicyValidatorBase::VerifySignature(const std::string& data,
const std::string& key,

Powered by Google App Engine
This is Rietveld 408576698