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 "components/policy/core/common/cloud/cloud_policy_validator.h" | 5 #include "components/policy/core/common/cloud/cloud_policy_validator.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 }; | 46 }; |
47 | 47 |
48 } // namespace | 48 } // namespace |
49 | 49 |
50 CloudPolicyValidatorBase::~CloudPolicyValidatorBase() {} | 50 CloudPolicyValidatorBase::~CloudPolicyValidatorBase() {} |
51 | 51 |
52 void CloudPolicyValidatorBase::ValidateTimestamp( | 52 void CloudPolicyValidatorBase::ValidateTimestamp( |
53 base::Time not_before, | 53 base::Time not_before, |
54 ValidateTimestampOption timestamp_option) { | 54 ValidateTimestampOption timestamp_option) { |
55 validation_flags_ |= VALIDATE_TIMESTAMP; | 55 validation_flags_ |= VALIDATE_TIMESTAMP; |
56 timestamp_not_before_ = | 56 timestamp_not_before_ = not_before.ToJavaTime(); |
57 (not_before - base::Time::UnixEpoch()).InMilliseconds(); | |
58 timestamp_option_ = timestamp_option; | 57 timestamp_option_ = timestamp_option; |
59 } | 58 } |
60 | 59 |
61 void CloudPolicyValidatorBase::ValidateUsername( | 60 void CloudPolicyValidatorBase::ValidateUsername( |
62 const std::string& expected_user, | 61 const std::string& expected_user, |
63 bool canonicalize) { | 62 bool canonicalize) { |
64 validation_flags_ |= VALIDATE_USERNAME; | 63 validation_flags_ |= VALIDATE_USERNAME; |
65 user_ = expected_user; | 64 user_ = expected_user; |
66 canonicalize_user_ = canonicalize; | 65 canonicalize_user_ = canonicalize; |
67 } | 66 } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 | 138 |
140 void CloudPolicyValidatorBase::ValidateAgainstCurrentPolicy( | 139 void CloudPolicyValidatorBase::ValidateAgainstCurrentPolicy( |
141 const em::PolicyData* policy_data, | 140 const em::PolicyData* policy_data, |
142 ValidateTimestampOption timestamp_option, | 141 ValidateTimestampOption timestamp_option, |
143 ValidateDMTokenOption dm_token_option, | 142 ValidateDMTokenOption dm_token_option, |
144 ValidateDeviceIdOption device_id_option) { | 143 ValidateDeviceIdOption device_id_option) { |
145 base::Time last_policy_timestamp; | 144 base::Time last_policy_timestamp; |
146 std::string expected_dm_token; | 145 std::string expected_dm_token; |
147 std::string expected_device_id; | 146 std::string expected_device_id; |
148 if (policy_data) { | 147 if (policy_data) { |
149 last_policy_timestamp = | 148 last_policy_timestamp = base::Time::FromJavaTime(policy_data->timestamp()); |
150 base::Time::UnixEpoch() + | |
151 base::TimeDelta::FromMilliseconds(policy_data->timestamp()); | |
152 expected_dm_token = policy_data->request_token(); | 149 expected_dm_token = policy_data->request_token(); |
153 expected_device_id = policy_data->device_id(); | 150 expected_device_id = policy_data->device_id(); |
154 } | 151 } |
155 ValidateTimestamp(last_policy_timestamp, timestamp_option); | 152 ValidateTimestamp(last_policy_timestamp, timestamp_option); |
156 ValidateDMToken(expected_dm_token, dm_token_option); | 153 ValidateDMToken(expected_dm_token, dm_token_option); |
157 ValidateDeviceId(expected_device_id, device_id_option); | 154 ValidateDeviceId(expected_device_id, device_id_option); |
158 } | 155 } |
159 | 156 |
160 CloudPolicyValidatorBase::CloudPolicyValidatorBase( | 157 CloudPolicyValidatorBase::CloudPolicyValidatorBase( |
161 std::unique_ptr<em::PolicyFetchResponse> policy_response, | 158 std::unique_ptr<em::PolicyFetchResponse> policy_response, |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 return verifier.VerifyFinal(); | 536 return verifier.VerifyFinal(); |
540 } | 537 } |
541 | 538 |
542 template class CloudPolicyValidator<em::CloudPolicySettings>; | 539 template class CloudPolicyValidator<em::CloudPolicySettings>; |
543 | 540 |
544 #if !defined(OS_ANDROID) && !defined(OS_IOS) | 541 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
545 template class CloudPolicyValidator<em::ExternalPolicyData>; | 542 template class CloudPolicyValidator<em::ExternalPolicyData>; |
546 #endif | 543 #endif |
547 | 544 |
548 } // namespace policy | 545 } // namespace policy |
OLD | NEW |