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 "chrome/browser/chromeos/policy/enrollment_handler_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/enrollment_handler_chromeos.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 DeviceCloudPolicyStoreChromeOS* store, | 72 DeviceCloudPolicyStoreChromeOS* store, |
73 EnterpriseInstallAttributes* install_attributes, | 73 EnterpriseInstallAttributes* install_attributes, |
74 ServerBackedStateKeysBroker* state_keys_broker, | 74 ServerBackedStateKeysBroker* state_keys_broker, |
75 chromeos::attestation::AttestationFlow* attestation_flow, | 75 chromeos::attestation::AttestationFlow* attestation_flow, |
76 std::unique_ptr<CloudPolicyClient> client, | 76 std::unique_ptr<CloudPolicyClient> client, |
77 scoped_refptr<base::SequencedTaskRunner> background_task_runner, | 77 scoped_refptr<base::SequencedTaskRunner> background_task_runner, |
78 const EnrollmentConfig& enrollment_config, | 78 const EnrollmentConfig& enrollment_config, |
79 const std::string& auth_token, | 79 const std::string& auth_token, |
80 const std::string& client_id, | 80 const std::string& client_id, |
81 const std::string& requisition, | 81 const std::string& requisition, |
82 const AllowedDeviceModes& allowed_device_modes, | |
83 const EnrollmentCallback& completion_callback) | 82 const EnrollmentCallback& completion_callback) |
84 : store_(store), | 83 : store_(store), |
85 install_attributes_(install_attributes), | 84 install_attributes_(install_attributes), |
86 state_keys_broker_(state_keys_broker), | 85 state_keys_broker_(state_keys_broker), |
87 attestation_flow_(attestation_flow), | 86 attestation_flow_(attestation_flow), |
88 client_(std::move(client)), | 87 client_(std::move(client)), |
89 background_task_runner_(background_task_runner), | 88 background_task_runner_(background_task_runner), |
90 enrollment_config_(enrollment_config), | 89 enrollment_config_(enrollment_config), |
91 auth_token_(auth_token), | 90 auth_token_(auth_token), |
92 client_id_(client_id), | 91 client_id_(client_id), |
93 requisition_(requisition), | 92 requisition_(requisition), |
94 allowed_device_modes_(allowed_device_modes), | |
95 completion_callback_(completion_callback), | 93 completion_callback_(completion_callback), |
96 device_mode_(DEVICE_MODE_NOT_SET), | 94 device_mode_(DEVICE_MODE_NOT_SET), |
97 skip_robot_auth_(false), | 95 skip_robot_auth_(false), |
98 enrollment_step_(STEP_PENDING), | 96 enrollment_step_(STEP_PENDING), |
99 lockbox_init_duration_(0), | 97 lockbox_init_duration_(0), |
100 weak_ptr_factory_(this) { | 98 weak_ptr_factory_(this) { |
101 CHECK(!client_->is_registered()); | 99 CHECK(!client_->is_registered()); |
102 CHECK_EQ(DM_STATUS_SUCCESS, client_->status()); | 100 CHECK_EQ(DM_STATUS_SUCCESS, client_->status()); |
103 CHECK((enrollment_config_.mode == EnrollmentConfig::MODE_ATTESTATION || | 101 CHECK((enrollment_config_.mode == EnrollmentConfig::MODE_ATTESTATION || |
104 enrollment_config_.mode == | 102 enrollment_config_.mode == |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 weak_ptr_factory_.GetWeakPtr())); | 175 weak_ptr_factory_.GetWeakPtr())); |
178 } | 176 } |
179 | 177 |
180 void EnrollmentHandlerChromeOS::OnRegistrationStateChanged( | 178 void EnrollmentHandlerChromeOS::OnRegistrationStateChanged( |
181 CloudPolicyClient* client) { | 179 CloudPolicyClient* client) { |
182 DCHECK_EQ(client_.get(), client); | 180 DCHECK_EQ(client_.get(), client); |
183 | 181 |
184 if (enrollment_step_ == STEP_REGISTRATION && client_->is_registered()) { | 182 if (enrollment_step_ == STEP_REGISTRATION && client_->is_registered()) { |
185 enrollment_step_ = STEP_POLICY_FETCH, | 183 enrollment_step_ = STEP_POLICY_FETCH, |
186 device_mode_ = client_->device_mode(); | 184 device_mode_ = client_->device_mode(); |
187 if (device_mode_ == DEVICE_MODE_NOT_SET) | 185 if (device_mode_ != policy::DEVICE_MODE_ENTERPRISE) { |
188 device_mode_ = DEVICE_MODE_ENTERPRISE; | |
189 if (!allowed_device_modes_.test(device_mode_)) { | |
190 LOG(ERROR) << "Bad device mode " << device_mode_; | 186 LOG(ERROR) << "Bad device mode " << device_mode_; |
191 ReportResult(EnrollmentStatus::ForStatus( | 187 ReportResult(EnrollmentStatus::ForStatus( |
192 EnrollmentStatus::STATUS_REGISTRATION_BAD_MODE)); | 188 EnrollmentStatus::STATUS_REGISTRATION_BAD_MODE)); |
193 return; | 189 return; |
194 } | 190 } |
195 client_->FetchPolicy(); | 191 client_->FetchPolicy(); |
196 } else { | 192 } else { |
197 LOG(FATAL) << "Registration state changed to " << client_->is_registered() | 193 LOG(FATAL) << "Registration state changed to " << client_->is_registered() |
198 << " in step " << enrollment_step_ << "."; | 194 << " in step " << enrollment_step_ << "."; |
199 } | 195 } |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 << ", validation: " << status.validation_status() | 490 << ", validation: " << status.validation_status() |
495 << ", store: " << status.store_status() | 491 << ", store: " << status.store_status() |
496 << ", lock: " << status.lock_status(); | 492 << ", lock: " << status.lock_status(); |
497 } | 493 } |
498 | 494 |
499 if (!callback.is_null()) | 495 if (!callback.is_null()) |
500 callback.Run(status); | 496 callback.Run(status); |
501 } | 497 } |
502 | 498 |
503 } // namespace policy | 499 } // namespace policy |
OLD | NEW |